:root{--font-outfit: "Outfit", system-ui, sans-serif;--bg: hsl(140, 6%, 9%);--bg-raised: hsl(150, 7%, 14%);--surface: hsl(140, 5%, 17%);--surface-hover: hsl(135, 7%, 22%);--surface-selected: hsl(24, 14%, 18%);--border: hsl(140, 6%, 22%);--border-strong: hsl(140, 7%, 28%);--text: hsl(27, 38%, 95%);--text-muted: hsl(25, 12%, 76%);--text-soft: hsl(27, 20%, 78%);--text-heading: hsl(150, 26%, 95%);--text-accent: hsl(3, 77%, 73%);--text-on-primary: #fff;--primary: hsl(3, 61%, 63%);--primary-hover: hsl(3, 51%, 57%);--primary-strong: hsl(6, 68%, 58%);--primary-strong-hover: hsl(6, 55%, 52%);--save: hsl(158, 26%, 42%);--save-hover: hsl(158, 30%, 36%);--danger: hsl(0, 71%, 59%);--danger-hover: hsl(0, 71%, 52%);--header-bg: hsl(154, 18%, 37%);--header-fg: #fff;--nudge-panel: hsl(154, 68%, 22%);--nudge-panel-text: #fff;--input-bg: hsl(140, 5%, 17%);--input-border: hsl(140, 6%, 26%);--input-text: hsl(27, 38%, 95%);--input-focus: hsl(3, 61%, 63%);--radius: .625rem;--radius-sm: .375rem;--radius-lg: .75rem}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-outfit);background:var(--bg);color:var(--text);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}button,.btn{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-family:var(--font-outfit);font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s}.btn-primary{background:var(--primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-save{background:var(--save);color:var(--text-on-primary)}.btn-save:hover{background:var(--save-hover)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:.4rem .75rem;font-size:.8rem}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface);color:var(--text)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-outfit);font-size:.875rem;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);outline:none;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--input-focus)}textarea{resize:vertical;min-height:6rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-muted);font-weight:500}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card h2{font-size:1rem;font-weight:600;color:var(--text-heading);margin-bottom:1rem}.card h3{font-size:.85rem;font-weight:600;color:var(--text-soft);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.muted{color:var(--text-muted);font-size:.8rem}.mono{font-family:ui-monospace,SF Mono,monospace;font-size:.75rem}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{background:var(--header-bg);color:var(--header-fg);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:52px;flex-shrink:0}.app-header h1{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.app-header nav{display:flex;gap:.25rem}.app-header nav a{color:#ffffffb3;padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.app-header nav a:hover{background:#ffffff1a;color:#fff}.app-header nav a.active{background:#ffffff26;color:#fff}.app-header .user-info{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:#ffffffb3}.app-body{flex:1;overflow:auto;padding:1.5rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface)}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.msg{padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;margin-top:.5rem}.msg.error{background:#e14c4c26;color:var(--danger)}.msg.success{background:#4f877326;color:var(--save)}.msg.info{background:#da6d671a;color:var(--primary)}.panels-3{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:1rem;height:100%}@media(max-width:1100px){.panels-3{grid-template-columns:1fr}}.panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:.75rem}.panel-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-bottom:.5rem;border-bottom:1px solid var(--border)}.form-grid{display:flex;flex-direction:column;gap:.75rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.pager{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{width:100%;max-width:380px}.login-card h1{font-size:1.5rem;font-weight:700;color:var(--text-heading);margin-bottom:.25rem}.login-card .subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:.75rem}.toolbar-right{display:flex;align-items:center;gap:.5rem}.search-input{max-width:280px}.response-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;font-size:.85rem;line-height:1.6;overflow:auto;flex:1}.response-content h4{color:var(--text-heading);font-size:.9rem;margin-bottom:.5rem}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
