.device-block{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Inter,-apple-system,sans-serif;display:flex}.device-block-card{text-align:center;background:#fff;border-radius:20px;max-width:380px;padding:48px 32px 40px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a}.device-block-icon{color:#9ca3af;margin-bottom:24px}.device-block-title{color:#111827;margin:0 0 12px;font-size:1.25rem;font-weight:700}.device-block-text{color:#6b7280;margin:0;font-size:.875rem;line-height:1.6}.device-block-footer{border-top:1px solid #f3f4f6;margin-top:32px;padding-top:20px}.device-block-brand{color:#d1d5db;letter-spacing:.03em;font-size:.75rem;font-weight:500}:root{--white:#fff;--black:#111;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--success:#16a34a;--danger:#dc2626;--warning:#f59e0b;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--sidebar-width:240px;--header-height:64px;--sidebar-bg:var(--white);--sidebar-border:var(--gray-200);--sidebar-text:var(--gray-600);--sidebar-text-active:var(--gray-900);--sidebar-hover:var(--gray-50);--sidebar-active-bg:var(--primary-50);--surface-primary:var(--white);--surface-secondary:var(--gray-50);--surface-card:var(--white);--border-primary:var(--gray-200);--border-secondary:var(--gray-100);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-400)}[data-theme=enstacked]{--primary-50:#fff7f3;--primary-100:#ffece3;--primary-200:#fdd5c4;--primary-300:#fcb896;--primary-400:#f89462;--primary-500:#ef6224;--primary-600:#e04e18;--primary-700:#ba3c12;--primary-800:#943214;--primary-900:#782c15}[data-theme=indigo]{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81}[data-theme=slate]{--primary-50:#f8fafc;--primary-100:#f1f5f9;--primary-200:#e2e8f0;--primary-300:#94a3b8;--primary-400:#64748b;--primary-500:#475569;--primary-600:#334155;--primary-700:#1e293b;--primary-800:#0f172a;--primary-900:#020617}[data-theme=emerald]{--primary-50:#ecfdf5;--primary-100:#d1fae5;--primary-200:#a7f3d0;--primary-300:#6ee7b7;--primary-400:#34d399;--primary-500:#10b981;--primary-600:#059669;--primary-700:#047857;--primary-800:#065f46;--primary-900:#064e3b}[data-theme=rose]{--primary-50:#fff1f2;--primary-100:#ffe4e6;--primary-200:#fecdd3;--primary-300:#fda4af;--primary-400:#fb7185;--primary-500:#f43f5e;--primary-600:#e11d48;--primary-700:#be123c;--primary-800:#9f1239;--primary-900:#881337}[data-theme=amber]{--primary-50:#fffbeb;--primary-100:#fef3c7;--primary-200:#fde68a;--primary-300:#fcd34d;--primary-400:#fbbf24;--primary-500:#f59e0b;--primary-600:#d97706;--primary-700:#b45309;--primary-800:#92400e;--primary-900:#78350f}[data-theme=cyan]{--primary-50:#ecfeff;--primary-100:#cffafe;--primary-200:#a5f3fc;--primary-300:#67e8f9;--primary-400:#22d3ee;--primary-500:#06b6d4;--primary-600:#0891b2;--primary-700:#0e7490;--primary-800:#155e75;--primary-900:#164e63}[data-theme=violet]{--primary-50:#f5f3ff;--primary-100:#ede9fe;--primary-200:#ddd6fe;--primary-300:#c4b5fd;--primary-400:#a78bfa;--primary-500:#8b5cf6;--primary-600:#7c3aed;--primary-700:#6d28d9;--primary-800:#5b21b6;--primary-900:#4c1d95}[data-theme=teal]{--primary-50:#f0fdfa;--primary-100:#ccfbf1;--primary-200:#99f6e4;--primary-300:#5eead4;--primary-400:#2dd4bf;--primary-500:#14b8a6;--primary-600:#0d9488;--primary-700:#0f766e;--primary-800:#115e59;--primary-900:#134e4a}[data-mode=dark]{--white:#0f0f0f;--black:#fafafa;--gray-50:#141414;--gray-100:#1c1c1c;--gray-200:#2a2a2a;--gray-300:#3a3a3a;--gray-400:#5c5c5c;--gray-500:#7a7a7a;--gray-600:#a0a0a0;--gray-700:silver;--gray-800:#e0e0e0;--gray-900:#ececec;--success:#34d399;--danger:#f87171;--warning:#fbbf24;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 16px 40px #00000080;--sidebar-bg:#0a0a0a;--sidebar-border:#1e1e1e;--sidebar-text:#707070;--sidebar-text-active:#e8e8e8;--sidebar-hover:#161616;--sidebar-active-bg:#6366f11a}[data-mode=dark] .overlay{background:#0009}[data-mode=dark] .card,[data-mode=dark] .dept-card{border-color:var(--gray-200)}[data-mode=dark] .dept-card{background:var(--gray-100);border-color:var(--gray-200)}[data-mode=dark] .dept-card:hover{border-color:var(--primary-500);background:var(--gray-100);box-shadow:0 4px 20px #00000059}[data-mode=dark] .dept-icon{background:var(--primary-900);color:var(--primary-300)}[data-mode=dark] .dept-card-name{color:var(--gray-800)}[data-mode=dark] .dept-member-count{color:var(--primary-400)}[data-mode=dark] .dept-card-meta .text-muted{color:var(--gray-500)}[data-mode=dark] .badge-active{color:#34d399;background:#34d3991f}[data-mode=dark] .badge-inactive{background:var(--gray-100);color:var(--gray-500)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;transition:background-color .3s,color .3s}body{font-family:var(--font-sans);color:var(--gray-900);background:var(--white);min-height:100vh;font-weight:400;line-height:1.6}h1,h2,h3{font-family:var(--font-sans);color:var(--gray-900);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.text-sm{font-size:.8125rem;line-height:1.5}.text-xs{font-size:.75rem;line-height:1.5}.text-muted{color:var(--gray-500)}.text-primary{color:var(--primary-600)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;padding:.375rem 1rem;font-size:.8125rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-600);color:var(--white);border-color:var(--primary-600)}.btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700)}.btn-secondary{background:var(--white);color:var(--gray-700);border-color:var(--gray-200)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-danger{background:var(--white);color:var(--danger);border-color:var(--gray-200)}.btn-danger:hover{border-color:var(--danger);background:#fef2f2}.btn-ghost{color:var(--gray-600);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-900)}.btn-sm{padding:.25rem .625rem;font-size:.75rem}.btn-lg{padding:.5rem 1.25rem;font-size:.8125rem}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{color:var(--gray-700);font-size:.8125rem;font-weight:500}.form-input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);color:var(--gray-900);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out);outline:none;font-size:.875rem}.form-input::placeholder{color:var(--gray-400)}.form-input:hover{border-color:var(--gray-300)}.form-input:focus{border-color:var(--primary-500)}.form-input.is-error{border-color:var(--danger)}.form-error{color:var(--danger);font-size:.75rem}.toggle{flex-shrink:0;width:40px;height:22px;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle input:checked+.toggle-track{background:var(--primary-600)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--primary-500);outline-offset:2px}.toggle-track{background:var(--gray-200);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);border-radius:11px;position:absolute;inset:0}.toggle-track:after{content:"";background:var(--white);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.file-upload{align-items:center;gap:var(--space-3);display:flex}.file-upload-zone{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);cursor:pointer;height:42px;transition:all var(--duration-fast) var(--ease-out);color:var(--gray-500);font-size:.8125rem;display:flex;overflow:hidden}.file-upload-zone span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-upload-zone:hover{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-600)}.file-upload-zone.has-file{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700);border-style:solid}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.badge{padding:2px var(--space-2);letter-spacing:.02em;text-transform:uppercase;border-radius:9999px;align-items:center;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-active{color:#15803d;background:#dcfce7}.badge-inactive{background:var(--gray-100);color:var(--gray-500)}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);border-bottom:1px solid var(--gray-200);background:var(--white);white-space:nowrap;font-size:.6875rem;font-weight:600}td{padding:var(--space-3) var(--space-4);color:var(--gray-700);border-bottom:1px solid var(--gray-100);vertical-align:middle;font-size:.8125rem}tr:hover td{background:var(--gray-50)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn var(--duration-fast) var(--ease-out);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;animation:slideUp var(--duration-normal) var(--ease-out);overflow-y:auto}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--gray-100);display:flex}.toast-container{top:var(--space-6);right:var(--space-6);z-index:200;gap:var(--space-3);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideIn var(--duration-normal) var(--ease-out);min-width:280px;font-size:.8125rem;display:flex}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}*{scrollbar-width:thin;scrollbar-color:var(--primary-300) transparent}
