:root{--ink-950:#0a0e1a;--ink-900:#0f1524;--ink-800:#161f36;--ink-700:#202b49;--ink-600:#2c3a60;--primary-700:#372e9c;--primary-600:#4338ca;--primary-500:#5b4fe0;--primary-400:#7c72f0;--primary-100:#ece9fe;--primary-50:#f5f3ff;--flare-600:#e85e2a;--flare-500:#ff7a45;--flare-400:#ff9c6e;--flare-100:#ffe8dc;--surface:#f5f6fa;--surface-alt:#eef0f6;--white:#fff;--line:#e5e8f0;--line-strong:#d3d8e6;--text-900:#10142a;--text-700:#3b4258;--text-500:#6b7288;--text-400:#9aa1b5;--text-inverse:#f4f5fb;--text-inverse-dim:#9aa5c4;--success-600:#128a44;--success-500:#16a34a;--success-100:#dcfce7;--warning-600:#b45309;--warning-500:#f59e0b;--warning-100:#fef3c7;--danger-600:#be123c;--danger-500:#e11d48;--danger-100:#ffe1e7;--info-600:#0369a1;--info-500:#0ea5e9;--info-100:#e0f5ff;--font-display:"Sora", "Inter", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:999px;--shadow-sm:0 1px 2px #10142a0f, 0 1px 1px #10142a0a;--shadow-md:0 10px 24px -10px #10142a38;--shadow-lg:0 28px 56px -20px #0a0e1a61;--sidebar-w:264px;--topbar-h:72px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--surface);color:var(--text-900);font-size:15px;line-height:1.55}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-900);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}::selection{background:var(--primary-400);color:#fff}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-400)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex}.app-main{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;display:flex}.app-content{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:28px 32px 48px}@media (width<=960px){.app-main{margin-left:0}}.eyebrow{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--flare-600);font-size:11.5px;font-weight:600}.page-title{margin-top:4px;font-size:26px}.page-subtitle{color:var(--text-500);margin-top:6px;font-size:14.5px}.section-title{font-size:16.5px;font-family:var(--font-display);font-weight:700}.mono{font-family:var(--font-mono)}.text-muted{color:var(--text-500)}.text-danger{color:var(--danger-600)}.text-success{color:var(--success-600)}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;transition:transform .12s,box-shadow .15s,background .15s,border-color .15s,color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-700)}.btn-flare{background:var(--flare-500);color:#fff;box-shadow:0 6px 16px -6px #ff7a458c}.btn-flare:hover:not(:disabled){background:var(--flare-600)}.btn-outline{border-color:var(--line-strong);color:var(--text-700);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-600)}.btn-ghost{color:var(--text-500);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-alt);color:var(--text-900)}.btn-danger-ghost{color:var(--danger-600);background:0 0}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-100)}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{width:36px;height:36px;padding:8px}.btn-block{width:100%}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-flare{background:var(--flare-100);color:var(--flare-600)}.badge-success{background:var(--success-100);color:var(--success-600)}.badge-warning{background:var(--warning-100);color:var(--warning-600)}.badge-danger{background:var(--danger-100);color:var(--danger-600)}.badge-info{background:var(--info-100);color:var(--info-600)}.badge-neutral{background:var(--surface-alt);color:var(--text-500)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.card-body{padding:22px}.card-footer{border-top:1px solid var(--line);padding:14px 22px}.stat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:flex-start;gap:16px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.stat-card__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.stat-card__icon.tone-primary{background:var(--primary-100);color:var(--primary-600)}.stat-card__icon.tone-flare{background:var(--flare-100);color:var(--flare-600)}.stat-card__icon.tone-success{background:var(--success-100);color:var(--success-600)}.stat-card__icon.tone-info{background:var(--info-100);color:var(--info-600)}.stat-card__icon.tone-warning{background:var(--warning-100);color:var(--warning-600)}.stat-card__label{color:var(--text-500);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.stat-card__value{font-family:var(--font-display);margin-top:2px;font-size:26px;font-weight:700}.stat-card__hint{color:var(--text-500);margin-top:4px;font-size:12.5px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--text-700);font-size:13px;font-weight:600}.field .hint{color:var(--text-400);font-size:12px}.field .error-text{color:var(--danger-600);font-size:12px}.input,.select,textarea.input{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-body);background:var(--white);color:var(--text-900);padding:10px 13px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,textarea.input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.input.has-error,.select.has-error{border-color:var(--danger-500)}.input:disabled,.select:disabled{background:var(--surface-alt);color:var(--text-400)}.field-row{gap:14px;display:grid}.field-row.cols-2{grid-template-columns:1fr 1fr}.field-row.cols-3{grid-template-columns:1fr 1fr 1fr}@media (width<=640px){.field-row.cols-2,.field-row.cols-3{grid-template-columns:1fr}}.checkbox-row{color:var(--text-700);align-items:center;gap:8px;font-size:14px;display:flex}.table-wrap{border-radius:var(--radius-lg);overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table thead th{text-align:left;background:var(--surface-alt);color:var(--text-500);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:11.5px;font-weight:600}.data-table tbody td{border-bottom:1px solid var(--line);color:var(--text-700);vertical-align:middle;padding:13px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface)}.data-table .cell-strong{color:var(--text-900);font-weight:600}.data-table .cell-actions{justify-content:flex-end;gap:6px;display:flex}.avatar{object-fit:cover;background:var(--primary-100);width:36px;height:36px;color:var(--primary-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.person-cell{align-items:center;gap:11px;display:flex}.person-cell .name{color:var(--text-900);font-size:13.5px;font-weight:600}.person-cell .sub{color:var(--text-500);font-size:12px}.empty-state{text-align:center;color:var(--text-500);padding:48px 24px}.empty-state i{color:var(--line-strong);margin-bottom:12px;font-size:30px}.empty-state h4{color:var(--text-700);margin-bottom:4px}.empty-state p{font-size:13.5px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#0a0e1a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden}.modal-panel.size-lg{max-width:780px}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.modal-header h3{font-size:18px}.modal-body{padding:22px 24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.pop-enter-active{transition:transform .18s cubic-bezier(.2,.9,.3,1.2),opacity .18s}.pop-enter-from{opacity:0;transform:translateY(8px)scale(.98)}.pop-leave-active{transition:opacity .1s}.pop-leave-to{opacity:0}.toast-host{z-index:400;flex-direction:column;gap:10px;width:320px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--ink-900);color:var(--text-inverse);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:13px 16px;font-size:13.5px;display:flex}.toast i{margin-top:2px}.toast.tone-success i{color:#4ade80}.toast.tone-error i{color:#fb7185}.toast.tone-info i{color:#38bdf8}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.grid{gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=1180px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.search-box{flex:1;min-width:220px;position:relative}.search-box i{color:var(--text-400);font-size:13px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-box input{padding-left:36px}.confirm-backdrop[data-v-f6e2e15a]{z-index:400}.force-backdrop[data-v-3e98f4b5]{z-index:600;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0e1abf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.force-panel[data-v-3e98f4b5]{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:30px 28px}.force-icon[data-v-3e98f4b5]{background:var(--flare-100);width:46px;height:46px;color:var(--flare-600);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;font-size:19px;display:flex}.force-panel h3[data-v-3e98f4b5]{margin-bottom:8px;font-size:18px}.force-message[data-v-3e98f4b5]{color:var(--text-500);margin-bottom:22px;font-size:13.5px;line-height:1.55}.force-submit[data-v-3e98f4b5]{width:100%;margin-top:8px}.password-input[data-v-3e98f4b5]{position:relative}.password-input .input[data-v-3e98f4b5]{padding-right:40px}.toggle-visibility[data-v-3e98f4b5]{color:var(--text-400);cursor:pointer;background:0 0;border:none;padding:6px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.toggle-visibility[data-v-3e98f4b5]:hover{color:var(--text-700)}.strength-meter[data-v-3e98f4b5]{align-items:center;gap:8px;margin-top:6px;display:flex}.strength-bar[data-v-3e98f4b5]{background:var(--surface-alt);border-radius:999px;flex:1;height:5px;overflow:hidden}.strength-bar span[data-v-3e98f4b5]{background:var(--danger-600);border-radius:999px;height:100%;transition:width .2s;display:block}.strength-bar span[data-level="3"][data-v-3e98f4b5],.strength-bar span[data-level="4"][data-v-3e98f4b5]{background:var(--flare-600)}.strength-bar span[data-level="5"][data-v-3e98f4b5]{background:var(--primary-600)}.strength-label[data-v-3e98f4b5]{color:var(--text-500);white-space:nowrap;font-size:11.5px}
