:root{color-scheme:light;--ink:#243347;--muted:#647487;--green:#137667;--line:#dbe3e9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f3f5f7;color:var(--ink);font:16px/1.65 system-ui,"Microsoft JhengHei",sans-serif}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5vw;border-bottom:1px solid var(--line);background:#fff}.brand{text-decoration:none;color:var(--green);font-size:23px;font-weight:800;white-space:nowrap}.brand span{font-size:16px;font-weight:600;color:var(--ink);margin-left:12px}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}a{color:var(--green);text-underline-offset:4px}main{max-width:1200px;margin:64px auto;display:grid;grid-template-columns:310px minmax(0,1fr);gap:64px;padding:0 32px}aside{padding-top:20px}.eyebrow,.step{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--green)}h1{font-size:34px;line-height:1.35;letter-spacing:-.04em;margin:18px 0}h2{font-size:25px;margin:10px 0 18px}h3{font-size:18px;margin-top:28px}.aside-note{margin-top:52px;border-top:1px solid var(--line);padding-top:22px;font-size:14px}.aside-note p,.hint{color:var(--muted);font-size:13px}.content{background:white;padding:32px 40px;border:1px solid var(--line);border-radius:12px;min-width:0}form{margin:22px 0}label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}input,select,textarea{width:100%;font:inherit;color:inherit;padding:11px 13px;border:1px solid #a8b8c5;border-radius:6px;background:#fff;min-height:46px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #8fcbbd;outline-offset:2px}button{border:1px solid transparent;border-radius:6px;background:var(--green);color:white;font:600 14px/1.5 system-ui,"Microsoft JhengHei",sans-serif;min-height:44px;padding:11px 17px;cursor:pointer}form>button{width:100%;margin-top:22px}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:white;border-color:#99aca9;color:var(--green)}.text-button,.quiet{background:transparent;color:var(--green);padding:8px 0}.text-button{display:block}.quiet{min-height:36px}#message:empty{display:none}#message{white-space:pre-wrap;background:#eef5f3;border-left:3px solid var(--green);padding:12px 14px;margin:0 0 20px}#message.error{background:#fff1ee;border-color:#ad3f25;color:#812b19}.otp{font-size:24px;letter-spacing:.4em}#qr{display:block;max-width:100%;height:auto;margin:20px auto}summary{cursor:pointer;color:var(--green)}code,pre,textarea{overflow-wrap:anywhere;word-break:break-word}code{display:block;background:#f3f5f7;padding:12px;font-size:14px}pre{white-space:pre-wrap;background:#f3f5f7;padding:16px;font-size:14px}.check{display:flex;gap:10px;align-items:center}.check input{width:20px;min-height:20px;accent-color:var(--green)}#finish{width:100%;margin-top:12px}.notice{border:1px solid #91b9ac;border-radius:6px;padding:16px;background:#f3faf7}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:top}td button{font-size:12px;padding:6px 10px;min-height:36px;margin:3px}td select,td input{font-size:12px;min-height:36px;padding:6px;min-width:110px}footer{text-align:center;padding:22px;color:var(--muted);font-size:12px}@media(max-width:800px){header{padding:18px 20px;align-items:flex-start;flex-direction:column}main{grid-template-columns:minmax(0,1fr);margin:24px auto;gap:20px;padding:0 16px}aside{padding:0 8px}.aside-note{display:none}h1{font-size:28px;margin:8px 0}.content{padding:24px 20px}nav{gap:16px}.eyebrow{margin-bottom:6px}}

/* Account management uses the full workspace width; login keeps its two-column layout. */
.admin-view main{grid-template-columns:minmax(0,1fr);max-width:1320px;margin:32px auto}
.admin-view aside{display:none}
.admin-view .content{padding:28px 32px}
#invite-form,#invitation{max-width:520px}
.users-table{table-layout:fixed;min-width:920px;font-variant-numeric:tabular-nums}
.users-table .col-name{width:17%}.users-table .col-role{width:16%}.users-table .col-status{width:10%}.users-table .col-expiry{width:26%}.users-table .col-actions{width:31%}
.users-table th{color:var(--muted);font-weight:600;background:#f7f9fa;white-space:nowrap}
.users-table th,.users-table td{padding:16px 12px;vertical-align:middle}
.users-table .user-name{font-weight:600;overflow-wrap:anywhere}
.users-table input,.users-table select{height:40px;min-height:40px;min-width:0;max-width:100%;margin:0;padding:8px 10px;font:inherit;line-height:1.4}
.users-table input[type=datetime-local]{font-size:12px}
.users-table .user-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.users-table button{margin:0;min-height:40px;padding:8px 10px;white-space:nowrap}
.account-status{display:inline-flex;align-items:center;min-height:28px;padding:2px 8px;border-radius:4px;color:var(--green);background:#eef5f3;white-space:nowrap}
.account-status.is-disabled{color:var(--muted);background:#f0f2f4}
.current-account{color:var(--muted)}
@media(max-width:700px){
 .admin-view main{margin:20px auto}.admin-view .content{padding:20px 16px}
 .users-wrap{overflow:visible}.users-table{display:block;min-width:0}.users-table colgroup,.users-table thead{display:none}
 .users-table tbody{display:grid;gap:12px}.users-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;border:1px solid var(--line);border-radius:8px;padding:16px}
 .users-table td{display:block;padding:0;border:0;min-width:0}
 .users-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}
 .users-table td:first-child,.users-table td:nth-child(4),.users-table td:last-child{grid-column:1/-1}
 .users-table input,.users-table select,.users-table button{min-height:44px;height:auto}
 .users-table .user-actions{gap:8px}.users-table .user-actions button{flex:1;padding:10px 8px}
}
