@charset "UTF-8";
:root{color-scheme:light;--bg:#f5f1e8;--surface:#fffdf8;--surface-soft:#eee7da;--surface-hover:#e8e0d2;--ink:#302e29;--muted:#777167;--line:#ded6c8;--accent:#66583e;--accent-hover:#50452f;--on-accent:#fffdf7;--shadow:0 24px 80px #51442b0c;--error:#a5352b;--error-bg:#fbece7;--success:#3e624b;--focus:#8f713f;--radius:20px}
:root[data-theme=dark]{color-scheme:dark;--bg:#1c1d1a;--surface:#252621;--surface-soft:#2d2f27;--surface-hover:#36382f;--ink:#eee9df;--muted:#b2ad9f;--line:#414238;--accent:#d1bd94;--accent-hover:#e2cda3;--on-accent:#28271f;--shadow:0 24px 80px #0002;--error:#ffb1a3;--error-bg:#482e27;--success:#aecbb4;--focus:#d1bd94}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;font:15px/1.65 system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--accent);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35}button svg,svg{display:block}button svg{flex:none;width:18px;height:18px}button{border:0}.skip-link{position:fixed;top:-80px;left:20px;padding:10px 18px;background:var(--surface);z-index:100}.skip-link:focus{top:10px}[hidden]{display:none!important}.site-header{height:96px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--accent);border-radius:11px;color:var(--accent);font-size:16px;font-weight:650;letter-spacing:-1px}.brand-name{font-size:16px;font-weight:650;letter-spacing:.08em}.brand-name small{display:block;font-size:9px;font-weight:500;letter-spacing:.25em;color:var(--muted);line-height:1.5}.header-actions{display:flex;align-items:center;gap:12px}.theme-button,.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:transparent;padding:9px 13px;color:var(--muted);font-size:13px;line-height:1.5}.theme-button:hover,.quiet-button:hover{color:var(--ink);background:var(--surface-soft)}.theme-button .sun{display:none}.theme-button .moon{display:block}[data-theme=dark] .theme-button .sun{display:block}[data-theme=dark] .theme-button .moon{display:none}.login-layout{max-width:1120px;min-height:600px;margin:35px auto 48px;border:1px solid var(--line);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:.94fr 1fr;background:var(--surface);box-shadow:var(--shadow)}.login-intro{position:relative;padding:55px 48px 38px;display:flex;flex-direction:column;background:var(--surface-soft);overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;color:var(--muted);text-transform:uppercase;margin-bottom:30px}.intro-title{font-weight:500;font-size:46px;letter-spacing:.035em;line-height:1.35;margin:0}.intro-title span{font-weight:350;letter-spacing:.12em}.intro-subtitle{color:var(--muted);font-size:14px;margin:24px 0 0;max-width:300px;line-height:1.9}.architecture-art{height:180px;position:relative;margin-top:47px;margin-bottom:35px;color:var(--accent);opacity:.62}.art-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to right,transparent,#000 25%,#000 75%,transparent)}.art-ring{position:absolute;border:1px solid currentColor;left:calc(50% - 67px);top:20px;width:135px;height:135px;border-radius:50%;background:var(--surface-soft)}.art-ring.second{width:85px;height:85px;left:calc(50% - 42px);top:45px}.art-ring.third{width:35px;height:35px;left:calc(50% - 17px);top:70px;background:var(--accent)}.art-axis{position:absolute;top:87px;left:6%;width:88%;height:1px;background:currentColor}.intro-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;letter-spacing:.16em;border-top:1px solid var(--line);padding-top:20px}.login-workspace{padding:52px 48px;align-self:center}.section-kicker{color:var(--muted);font-size:11px;letter-spacing:.15em;font-weight:600;margin:0 0 9px}.login-workspace h2{font-size:25px;font-weight:550;letter-spacing:.04em;margin:0 0 10px}.supporting{font-size:13px;color:var(--muted);margin-bottom:28px}.form-tabs{display:flex;gap:23px;margin:28px 0 26px;border-bottom:1px solid var(--line)}.form-tabs button{background:transparent;color:var(--muted);padding:0 0 10px;border-bottom:2px solid transparent;font-size:13px;white-space:nowrap}.form-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent);font-weight:600}.form-stack{display:grid;gap:18px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:550}.field input,.field select,.table-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:var(--surface);color:var(--ink);min-height:45px}.field input::placeholder{color:var(--muted);opacity:.65}.field small,.field-help{color:var(--muted);font-size:11px;line-height:1.7}.primary-button{display:inline-flex;gap:10px;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:12px 20px;border-radius:10px;font-weight:550;font-size:14px;min-height:47px}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.primary-button.full{width:100%;margin-top:5px}.primary-button .arrow{margin-left:auto}.primary-button .button-label{margin-right:auto}.divider{position:relative;text-align:center;color:var(--muted);font-size:11px;margin:24px 0 20px}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}.divider span{position:relative;background:var(--surface);padding:0 14px}.line-button{display:flex;align-items:center;justify-content:center;width:100%;gap:10px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;font-weight:550;font-size:13px;min-height:45px}.line-button:hover{background:var(--surface-soft)}.line-button svg{width:22px;height:22px;color:#06a34a}.login-note{font-size:11px;line-height:1.8;color:var(--muted);margin:22px 0 0}.feedback{font-size:13px;line-height:1.7;margin:0;padding:11px 13px;border-radius:9px;background:var(--surface-soft);color:var(--ink);overflow-wrap:anywhere}.feedback.error{background:var(--error-bg);color:var(--error)}.feedback.success{color:var(--success)}.page-footer{padding:0 20px 28px;text-align:center;font-size:10px;color:var(--muted);letter-spacing:.1em}.app-main{max-width:1240px;margin:0 auto;padding:36px 5% 80px}.workspace-breadcrumb{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.1em;margin-bottom:22px}.breadcrumb-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.welcome-panel{position:relative;overflow:hidden;min-height:345px;padding:58px 54px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.welcome-content{position:relative;z-index:1}.welcome-panel .section-kicker{margin-bottom:26px}.welcome-panel h1{font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:.025em;margin-bottom:16px}.welcome-panel .welcome-subtitle{font-size:14px;color:var(--muted);margin-bottom:33px}.identity-pill{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);padding:6px 11px;border-radius:7px;color:var(--muted);font-size:11px}.identity-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}.welcome-art{position:absolute;width:390px;height:390px;right:-95px;top:10px;border:1px solid var(--line);border-radius:50%;opacity:.55}.welcome-art:before,.welcome-art:after{content:"";position:absolute;inset:50px;border:1px solid var(--line);border-radius:50%}.welcome-art:after{inset:100px}.account-mini{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;color:var(--accent)}.admin-access{margin-top:24px;display:flex;justify-content:flex-end}.manage-section{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.section-heading h2{font-size:21px;font-weight:550;margin:0 0 6px}.section-heading p{font-size:12px;color:var(--muted);margin:0}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.create-user{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;gap:12px;align-items:end;padding-bottom:27px;margin-bottom:26px;border-bottom:1px solid var(--line)}.create-user .primary-button{height:45px;min-height:45px}.table-wrapper{overflow:auto}.users-table{border-collapse:collapse;width:100%;min-width:690px;text-align:left;font-size:12px}.users-table th{font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:550;padding:0 10px 12px}.users-table td{padding:15px 10px;border-top:1px solid var(--line);vertical-align:middle}.users-table th:first-child,.users-table td:first-child{padding-left:0}.users-table th:last-child,.users-table td:last-child{padding-right:0}.user-name{font-size:13px;font-weight:550}.user-email{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.users-table select{padding:8px 10px;font-size:12px;min-height:39px}.row-actions{display:flex;gap:7px}.row-actions button{padding:8px 10px;font-size:11px;white-space:nowrap}.toggle-label{display:inline-flex;gap:7px;align-items:center;cursor:pointer;white-space:nowrap}.toggle-label input{accent-color:var(--accent);width:15px;height:15px}.table-empty{text-align:center;padding:28px;color:var(--muted)}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;max-width:min(470px,calc(100vw - 32px));width:470px;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#15151080;backdrop-filter:blur(4px)}dialog h2{font-size:23px;font-weight:550;margin-bottom:12px}dialog p{color:var(--muted);font-size:13px;margin-bottom:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.credential-output{display:block;overflow-wrap:anywhere;white-space:pre-wrap;background:var(--surface-soft);border:1px solid var(--line);padding:16px;border-radius:10px;color:var(--ink);font-size:14px;line-height:1.9;user-select:all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.enroll-secret{font-size:16px;letter-spacing:.06em}.enrollment-details{display:grid;gap:12px;margin:16px 0 22px}.enrollment-details a{font-size:12px}.secret-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:11px;color:var(--muted)}.copy-button{font-size:11px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.recovery-list{margin:14px 0}.notice-small{font-size:11px!important;line-height:1.8;margin-bottom:0!important}.loading-indicator{color:var(--muted);font-size:13px;padding:25px 0}.theme-button,.quiet-button,.primary-button,.line-button,input,select{transition:background .16s,color .16s,border-color .16s}body.loading .welcome-content{visibility:hidden}
@media(min-width:1440px){.login-layout{margin-top:70px;margin-bottom:80px}.site-header{height:110px}}
@media(max-width:1150px){.login-layout{margin-left:5%;margin-right:5%}.login-intro{padding:42px 34px 34px}.login-workspace{padding:42px 34px}.intro-title{font-size:40px}.create-user{grid-template-columns:1fr 1fr}.create-user .primary-button{align-self:end}.section-heading{flex-wrap:wrap}}
@media(max-width:760px){.site-header{height:80px;padding:0 6%}.brand-name{font-size:14px}.brand-mark{width:35px;height:35px}.theme-button{padding:9px}.theme-button [data-theme-label]{display:none}.login-layout{grid-template-columns:1fr;min-height:auto;margin-top:15px;border-radius:20px}.login-intro{padding:28px}.intro-title{font-size:29px;line-height:1.25}.intro-title br{display:none}.intro-title span{font-size:27px;margin-left:10px;letter-spacing:.08em}.eyebrow{margin-bottom:15px;font-size:9px}.intro-subtitle{font-size:12px;margin-top:14px}.architecture-art,.intro-footer{display:none}.login-workspace{padding:30px 28px 34px}.login-workspace h2{font-size:23px}.form-tabs{gap:22px}.app-main{padding-top:22px}.welcome-panel{padding:35px 27px;min-height:315px}.welcome-panel .section-kicker{margin-bottom:26px}.welcome-panel h1{font-size:25px;line-height:1.6;max-width:260px}.welcome-art{right:-240px;top:20px}.account-mini .account-name{display:none}.header-actions{gap:8px}.header-actions .quiet-button{padding:9px 11px}.manage-section{padding:25px 20px}.create-user{grid-template-columns:1fr}.section-actions{width:100%}.page-footer{font-size:9px}.brand-name small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.primary-login{margin-top:30px}.line-primary{background:#07853d;color:#fff;border-color:#07853d;min-height:52px;font-size:15px}.line-primary:hover{background:#066e33;border-color:#066e33}.line-primary svg{color:#fff}.primary-login .login-note{margin-top:12px}.passkey-login-button{width:100%;margin-top:22px;min-height:47px;color:var(--ink);font-size:14px}.recovery-options{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.recovery-options summary{cursor:pointer;color:var(--muted);font-size:12px;list-style-position:inside}.recovery-options .form-tabs{margin-top:24px}.recovery-options .form-tabs button{font-size:12px}.login-workspace>.feedback{margin-top:18px}.account-access{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.security-card{padding:22px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.security-card h3{font-size:16px;font-weight:550;margin-bottom:10px}.security-card p{font-size:12px;color:var(--muted)}.security-card .feedback{margin-top:14px}.security-card .quiet-button{margin-top:12px}.security-status{display:inline-block;font-size:11px;padding:3px 9px;background:var(--surface-soft);border-radius:5px;margin-bottom:14px;color:var(--muted)}.merge-choice{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--muted);margin:15px 0}.merge-choice input{accent-color:var(--accent);flex:none;margin-top:4px}.passkey-list{display:grid;gap:10px;margin-top:18px}.passkey-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px}.passkey-item strong{display:block;font-size:13px}.passkey-item small{display:block;font-size:10px;color:var(--muted)}.passkey-item button{margin:0!important;white-space:nowrap}.passkey-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:18px}.passkey-form input{min-height:42px}.passkey-form button{min-height:42px;margin:0!important}.session-description{font-size:11px;color:var(--muted);margin:20px 0 0}.first-super-form{max-width:470px;margin-top:20px}.account-access .admin-access{margin:0}.security-section{margin-top:24px}.security-section>.feedback{margin-top:18px}
@media(max-width:760px){.security-grid{grid-template-columns:1fr}.security-card{padding:18px}.passkey-form{grid-template-columns:1fr}.account-access{justify-content:flex-start}.recovery-options .form-tabs{gap:18px}}

.legacy-user-create{margin-bottom:24px}.legacy-user-create summary{cursor:pointer;font-size:12px;color:var(--muted);margin-bottom:20px}
