/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--navy:#0d294b;--blue:#1769e0;--ink:#17263c;--muted:#6c788a;--line:#e5eaf0;--surface:#f4f6f9;--white:#fff;--green:#16885e;--red:#c3444b}*{box-sizing:border-box}html,body{background:var(--surface);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:30;background:linear-gradient(#102e55,#0a203d);flex-direction:column;width:250px;padding:28px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 36px #0a1f3914}.brand{align-items:center;gap:13px;padding:0 8px 32px;display:flex}.brand strong{letter-spacing:.1em;font-size:22px;display:block}.brand small{color:#99b0ca;letter-spacing:.06em;margin-top:2px;font-size:10px;display:block}.brand-mark{border:1px solid #fff3;border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;width:36px;height:36px;padding:7px;display:grid;transform:rotate(45deg)}.brand-mark span{background:#5ea1ff;border-radius:2px}.brand-mark span:nth-child(2),.brand-mark span:nth-child(3){background:#fff}.nav-label{letter-spacing:.16em;color:#728faf;margin:0 12px 11px;font-size:10px;font-weight:800}.sidebar nav button{color:#afc0d4;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;height:46px;margin:3px 0;padding:0 13px;font-size:14px;font-weight:650;transition:all .18s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0f}.sidebar nav button.active{color:#fff;background:linear-gradient(90deg,#1769e0,#287bea);box-shadow:0 8px 22px #0057d347}.nav-icon{text-align:center;width:21px;font-size:12px;font-weight:900}.sidebar nav em{color:#fff;background:#ff6b6b;border-radius:99px;max-width:38px;margin-left:auto;padding:3px 6px;font-size:9px;font-style:normal;overflow:hidden}.sidebar-foot{margin-top:auto}.system-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:11px;align-items:center;gap:10px;margin:0 4px 14px;padding:12px;display:flex}.system-card i{background:#33d18f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #33d18f1f}.system-card b,.system-card small{display:block}.system-card b{font-size:11px}.system-card small{color:#8fa8c4;margin-top:3px;font-size:9px}.profile{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:11px 7px;display:flex}.profile>span:nth-child(2){min-width:0}.profile b,.profile small{display:block}.profile b{font-size:12px}.profile small{color:#91a8c2;font-size:10px}.profile button{color:#a8bdd4;background:0 0;border:0;margin-left:auto;font-size:10px}.avatar{color:#155fc9;background:#e1edff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.workspace{flex:1;min-width:0;margin-left:250px}.topbar{border-bottom:1px solid var(--line);z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;align-items:center;height:74px;padding:0 34px;display:flex;position:sticky;top:0}.search{background:#f8fafc;border:1px solid #e0e6ed;border-radius:10px;align-items:center;gap:9px;width:min(430px,44vw);height:40px;padding:0 12px;display:flex}.search span{color:#8290a2;font-size:20px}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.header-actions{margin-left:auto}.date{color:#6c7889;font-size:12px}.mobile-page{display:none}.menu{background:0 0;border:0;font-size:22px;display:none}.content{max-width:1480px;margin:auto;padding:31px 34px 42px}.eyebrow{letter-spacing:.17em;font-weight:850;color:var(--blue)!important;margin:0 0 8px!important;font-size:10px!important}.welcome-row,.page-head{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:26px;display:flex}.welcome-row h1,.page-head h1{letter-spacing:-.035em;margin:0 0 6px;font-size:29px}.welcome-row p,.page-head>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.primary{background:var(--blue);color:#fff;border:0;border-radius:10px;min-height:42px;padding:0 18px;font-size:12px;font-weight:800;box-shadow:0 8px 20px #1769e033}.outline-button{color:#46566d;background:#fff;border:1px solid #d9e1ea;border-radius:10px;height:42px;padding:0 17px;font-size:12px;font-weight:700}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid}.metrics article,.panel{background:#fff;border:1px solid #e7ecf1;border-radius:14px;box-shadow:0 3px 13px #11223909}.metrics article{padding:18px;position:relative}.metric-icon{border-radius:9px;place-items:center;width:34px;height:34px;margin-bottom:13px;font-size:11px;font-weight:900;display:grid}.metric-icon.blue{color:#1769e0;background:#eaf2ff}.metric-icon.violet{color:#7555d9;background:#f1ecff}.metric-icon.amber{color:#b76c0e;background:#fff3dc}.metric-icon.green{color:#16885e;background:#e8f8f1}.metrics article>p{color:#687589;margin:0 0 4px;font-size:11px}.metrics strong{letter-spacing:-.04em;font-size:28px;display:block}.metrics strong small{color:#8995a7;margin-left:4px;font-size:11px}.metric-note{color:#8a96a6;margin-top:8px;font-size:9px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;display:grid}.panel{padding:20px}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.panel-title h2,.status-panel h2,.accounts-panel>h2{margin:0 0 4px;font-size:15px}.panel-title p{color:#8995a6;margin:0;font-size:10px}.panel-title button{color:var(--blue);background:0 0;border:0;font-size:10px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{color:#8793a4;letter-spacing:.07em;text-align:left;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:0 10px 10px;font-size:9px}td{color:#647084;white-space:nowrap;border-bottom:1px solid #eff2f5;padding:11px 10px}tbody tr:last-child td{border-bottom:0}td b{color:#26364d}.person-cell{align-items:center;gap:9px;display:flex}.person-cell>i{color:#2466bd;background:#e7f0ff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:9px;font-style:normal;font-weight:800;display:grid}.person-cell>span b,.person-cell>span small,.contact small{display:block}.person-cell>span small,.contact small{color:#939eac;margin-top:2px;font-size:9px}.status{color:#16835b;background:#e8f7f0;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:750}.department-list>div{justify-content:space-between;margin:15px 0;padding-bottom:8px;font-size:11px;display:flex;position:relative;overflow:hidden}.department-list span{color:#56657a}.department-list b{font-size:10px}.department-list i{background:linear-gradient(90deg,#1769e0,#65a3f4);border-radius:5px;height:4px;position:absolute;bottom:0;left:0}.empty{text-align:center;color:#8591a2;flex-direction:column;justify-content:center;align-items:center;min-height:170px;padding:24px;display:flex}.empty>span{color:#9eb5cf;margin-bottom:8px;font-size:27px}.empty b{color:#516078;font-size:12px}.empty p{margin:5px 0 0;font-size:10px}.page-section{min-height:calc(100vh - 150px)}.table-panel{padding:0 20px 16px}.table-meta{color:#7c899a;padding:16px 0 12px;font-size:10px}.text-button{color:#1769e0;background:#edf4ff;border:0;border-radius:7px;padding:5px 10px;font-size:10px;font-weight:700}code{color:#3b526d;background:#f1f4f7;border-radius:5px;padding:3px 6px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.cards-layout{grid-template-columns:minmax(260px,.75fr) minmax(390px,1.25fr);align-items:start;gap:20px;display:grid}.card-picker label,.form-grid label,.scan-form label{color:#46566c;font-size:11px;font-weight:750;display:block}.card-picker select,.form-grid input,.form-grid select,.scan-form input{background:#f9fbfd;border:1px solid #dce3eb;border-radius:9px;outline:none;width:100%;height:44px;margin-top:7px;padding:0 12px;display:block}.card-picker p{color:#7b8798;margin:18px 0 0;font-size:10px;line-height:1.8}.id-card-preview{aspect-ratio:1.62;color:#fff;background:linear-gradient(135deg,#0c2748,#174c85);border-radius:22px;flex-direction:column;justify-self:center;width:min(600px,100%);padding:28px;display:flex;box-shadow:0 24px 55px #0c274840}.id-brand{justify-content:space-between;align-items:center;display:flex}.id-brand b{letter-spacing:.12em;font-size:22px}.id-brand span{letter-spacing:.2em;color:#a8c6e8;font-size:8px}.id-person{align-items:center;gap:19px;margin:auto 0;display:flex}.id-photo{color:#174b83;background:#e8f1fb;border-radius:20px;place-items:center;width:86px;height:86px;font-size:25px;font-weight:850;display:grid}.id-person small,.id-code small{color:#a8c6e8;letter-spacing:.12em;font-size:8px;display:block}.id-person h2{margin:5px 0;font-size:27px}.id-person p{color:#d0e1f3;margin:0;font-size:11px}.id-code{border-top:1px solid #ffffff2e;justify-content:space-between;padding-top:16px;display:flex}.id-code b{margin-top:4px;font:700 14px SFMono-Regular,Consolas,monospace;display:block}.scan-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.scan-form{text-align:center;padding:34px}.scanner-icon{color:#1769e0;background:#edf4ff;border-radius:20px;place-items:center;width:76px;height:76px;margin:0 auto 25px;font-size:34px;display:grid}.scan-form label{text-align:left}.scan-form input{text-transform:uppercase;height:52px;font:700 16px SFMono-Regular,Consolas,monospace}.scan-form .primary{width:100%;height:48px;margin:15px 0 10px}.scan-form>small{color:#8b97a7;font-size:9px}.scan-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.success-check{color:#16885e;background:#e7f8f0;border-radius:50%;place-items:center;width:60px;height:60px;font-size:27px;display:grid}.scan-result p{color:#16885e;margin:12px 0 4px;font-size:11px;font-weight:800}.scan-result h2{margin:0 0 4px;font-size:25px}.scan-result>b{color:#66758a;font:700 12px Consolas,monospace}.scan-result time{color:#8793a4;margin-top:15px;font-size:11px}.settings-grid{grid-template-columns:minmax(260px,.65fr) minmax(480px,1.35fr);align-items:start;gap:18px;display:grid}.status-panel h2,.accounts-panel>h2{margin-bottom:18px}.status-panel>div{border-bottom:1px solid #eef1f4;justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.status-panel>div span{color:#6a7789}.status-panel>div i{background:#22ad78;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.status-panel>div b{font-size:10px}.danger-outline{color:#b94449;background:#fff7f7;border:1px solid #f0cfd1;border-radius:9px;width:100%;height:40px;margin-top:18px;font-size:11px;font-weight:700}.account-row{border-bottom:1px solid #eef1f4;grid-template-columns:36px minmax(130px,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.account-row:last-child{border-bottom:0}.account-row>span:nth-child(2) b,.account-row>span:nth-child(2) small{display:block}.account-row>span:nth-child(2) b{font-size:11px}.account-row>span:nth-child(2) small{color:#8c98a8;margin-top:3px;font-size:9px}.account-row>div{gap:4px;display:flex}.account-row button{color:#536277;background:#f1f4f8;border:0;border-radius:6px;padding:5px 7px;font-size:8px}.account-row .danger-text{color:#bd4449;background:#fff0f0}.account-state{color:#a06a1f;background:#fff2df;border-radius:20px;padding:4px 7px;font-size:8px}.account-state.active{color:#16835b;background:#e7f7ef}.error-banner{color:#b63f45;background:#fff0f0;border:1px solid #f4d2d4;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:11px 14px;font-size:11px;display:flex}.error-banner button{color:inherit;background:0 0;border:0;font-size:18px}.loading-line{background:linear-gradient(90deg,#0000,#1769e0,#0000);height:3px;margin:-16px 0 16px;animation:1.2s linear infinite loading}.toast{color:#fff;z-index:60;background:#152a47;border-radius:11px;padding:13px 17px;font-size:11px;animation:.25s toast-in;position:fixed;bottom:25px;right:25px;box-shadow:0 12px 30px #0003}.toast span{background:#28b27a;border-radius:50%;place-items:center;width:19px;height:19px;margin-right:9px;display:inline-grid}.modal-backdrop{z-index:70;background:#07152794;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(620px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 70px #00000047}.modal header{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.modal h2{margin:0;font-size:16px}.modal header button{color:#738094;background:0 0;border:0;font-size:22px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.form-grid label{font-size:10px}.form-grid input:focus,.form-grid select:focus,.scan-form input:focus{border-color:#1769e0;box-shadow:0 0 0 3px #1769e01a}.form-grid input:disabled{color:#8995a4;background:#f1f3f6}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-actions>button:not(.primary){background:#fff;border:1px solid #dde3ea;border-radius:9px;height:42px;padding:0 16px;font-size:11px}.form-note{color:#7f8b9b;background:#f5f7f9;border-radius:8px;grid-column:1/-1;margin:0;padding:10px;font-size:9px}.login-screen{background:radial-gradient(circle at 20% 10%,#234f83 0,#0000 34%),linear-gradient(135deg,#071a31,#102e52);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffffffa;border-radius:20px;width:min(420px,100%);padding:38px;box-shadow:0 28px 80px #00000052}.login-card.loading{text-align:center;color:#637085}.login-brand strong{color:#12345c;letter-spacing:.12em;margin-bottom:28px;font-size:27px;display:block}.login-card h1{letter-spacing:-.04em;margin:0 0 8px;font-size:30px}.login-copy{color:#778397;margin:0 0 28px;font-size:13px}.login-card label{color:#34445b;margin:15px 0;font-size:11px;font-weight:700;display:block}.login-card input{background:#f9fbfd;border:1px solid #dce3eb;border-radius:10px;outline:none;width:100%;height:46px;margin-top:7px;padding:0 13px;display:block}.login-card input:focus{border-color:#1769e0;box-shadow:0 0 0 3px #1769e01a}.login-submit{color:#fff;background:#1769e0;border:0;border-radius:10px;width:100%;height:47px;margin-top:7px;font-weight:800}.login-submit span{float:right}.login-card>small{text-align:center;color:#929cac;margin-top:18px;font-size:9px;display:block}.login-error{color:#c53c42;background:#fff0f0;border-radius:8px;padding:9px 11px;font-size:10px}.backdrop{display:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes loading{0%{background-position:-300px}to{background-position:300px}}@media (width<=1080px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.date{display:none}.account-row{grid-template-columns:36px 1fr auto}.account-row>div{grid-column:2/-1}}@media (width<=760px){.sidebar{transition:all .25s;transform:translate(-105%)}.sidebar.is-open{transform:none}.workspace{margin-left:0}.backdrop{z-index:20;background:#08162973;border:0;display:block;position:fixed;inset:0}.menu{margin-right:10px;display:block}.topbar{padding:0 16px}.mobile-page{margin-right:12px;font-size:11px;font-weight:800;display:block}.search{flex:1;width:auto}.content{padding:23px 16px}.welcome-row,.page-head{flex-direction:column;align-items:flex-start}.page-head>div:last-child,.page-head button{width:100%}.dashboard-grid,.cards-layout,.scan-grid{grid-template-columns:1fr}.id-card-preview{min-width:0}.settings-grid{grid-template-columns:1fr}.primary{min-height:42px}.form-grid{grid-template-columns:1fr}.form-actions,.form-note{grid-column:1}.modal{max-height:96vh}}@media (width<=480px){.metrics{grid-template-columns:1fr}.panel{padding:15px}.welcome-row h1,.page-head h1{font-size:25px}.id-card-preview{border-radius:16px;padding:20px}.id-photo{border-radius:15px;width:62px;height:62px;font-size:19px}.id-person h2{font-size:21px}.id-code b{font-size:11px}.account-row{grid-template-columns:36px 1fr}.account-state{grid-column:2}.account-row>div{grid-column:1/-1}.topbar .mobile-page{display:none}}@media print{body{background:#fff}.sidebar,.topbar,.page-head,.card-picker,.toast,.error-banner{display:none!important}.workspace{margin:0}.content{padding:0}.page-section{min-height:auto}.cards-layout{display:block}.id-card-preview{width:86mm;height:54mm;box-shadow:none;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:4mm;margin:0}.id-photo{width:22mm;height:22mm}.id-person h2{font-size:18pt}}.id-card-body{align-items:center;gap:18px;margin:auto 0;display:flex}.id-card-body .id-person{flex:1;min-width:0;margin:0}.data-matrix{text-align:center;color:#102e55;background:#fff;border-radius:10px;flex:none;margin:0;padding:6px 6px 4px}.data-matrix canvas{width:76px;height:76px;image-rendering:pixelated;display:block}.data-matrix figcaption{letter-spacing:.13em;margin-top:3px;font-size:6px;font-weight:850}@media (width<=480px){.id-card-body{gap:10px}.data-matrix{padding:4px 4px 3px}.data-matrix canvas{width:62px;height:62px}.data-matrix figcaption{font-size:5px}.id-card-body .id-person{gap:10px}}@media print{.id-card-body{gap:4mm}.data-matrix{border-radius:2mm;padding:1.5mm 1.5mm 1mm}.data-matrix canvas{width:18mm;height:18mm}.data-matrix figcaption{margin-top:.8mm;font-size:5pt}}
