:root{--paper:#f5f6f1;--surface:#fffefa;--ink:#253b34;--muted:#6b7871;--line:#dde3d9;--green:#3d6b59;--green-soft:#eaf1e8;--error:#9b3d32;--error-soft:#fff2ee;--radius:18px;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}a{color:var(--green);text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a8c4af;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;letter-spacing:-.025em}h2{font-size:24px;line-height:1.4}h3{font-size:18px}.page-header{max-width:1280px;margin:auto;padding:28px 48px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:43px;height:45px;border-radius:12px;background:var(--ink);color:#fffefa;font-size:25px;font-weight:700;box-shadow:0 2px 3px #1d352518}.brand strong{display:block;font-size:25px;line-height:1.2}.brand small{display:block;font-size:14px;color:var(--muted);line-height:1.8}.beta-label{padding:4px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:14px;background:#fafbf6}.auth-layout{max-width:1040px;padding:32px 32px 64px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.intro{padding-top:74px}.eyebrow{display:block;color:var(--green);font-size:15px;font-weight:600;letter-spacing:.09em}.intro h1{font-size:40px;line-height:1.4;margin:20px 0 22px}.intro>p{font-size:18px;max-width:320px;line-height:1.9;color:var(--muted)}.intro-note{margin-top:52px;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:14px;color:var(--muted);font-size:16px}.note-mark{display:grid;place-items:center;color:var(--green);height:27px;width:27px;flex:none;border:1px solid #bacfbc;border-radius:50%;margin-top:2px}.auth-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px #24352804}.auth-card{padding:36px 36px 25px}.auth-heading{margin-bottom:26px}.auth-heading h2{font-size:28px}.auth-heading p{color:var(--muted);margin-top:7px}.field{margin:0 0 22px}.field label{display:block;margin-bottom:8px;font-size:16px;font-weight:600}.optional{font-size:14px;color:var(--muted);font-weight:400;margin-left:6px}input{width:100%;min-width:0;height:48px;background:#fff;border:1px solid #d7dfd5;border-radius:8px;padding:10px 12px;color:var(--ink);transition:border-color .15s,box-shadow .15s}input::placeholder{color:#8b958e;font-size:15px}input:focus{border-color:#729784;box-shadow:0 0 0 3px #72978410;outline:none}input:disabled{background:#f4f5f1;color:var(--muted)}.field-help{color:var(--muted);font-size:14px;line-height:1.65;margin-top:7px}.password-field{position:relative}.password-field input{padding-right:62px}.password-toggle{position:absolute;right:4px;top:4px;height:40px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:14px;padding:0 11px}.password-toggle:hover{background:#f1f4ed;color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 19px;border-radius:8px;font-weight:600;border:1px solid transparent;gap:8px;line-height:1.5}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#335c4a}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.secondary:hover:not(:disabled){background:var(--green-soft);border-color:#bdd0c0}.full-width{width:100%}.text-button{border:0;border-radius:5px;padding:2px 4px;color:var(--green);background:transparent;font-size:16px;line-height:1.65}.text-button:hover:not(:disabled){text-decoration:underline}.switch-note{text-align:center;margin-top:22px;color:var(--muted);font-size:15px}.card-footnote{border-top:1px solid var(--line);padding-top:19px;margin-top:26px;font-size:14px;color:var(--muted)}.feedback{color:var(--muted);font-size:16px;margin:14px 0}.feedback.error{color:var(--error)}.form-error{padding:11px 13px;border:1px solid #edcbbf;border-radius:8px;color:var(--error);background:var(--error-soft);font-size:15px;margin:0 0 16px;overflow-wrap:anywhere}.page-footer{color:#7b867f;text-align:center;font-size:14px;padding:18px 20px 32px}.admin-layout{max-width:1160px;margin:auto;padding:24px 40px 52px}.admin-heading{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-heading h1{font-size:32px;line-height:1.4;margin:10px 0}.admin-heading p{color:var(--muted)}.header-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.signed-in{font-size:14px;color:var(--muted);margin-bottom:28px}.admin-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:25px;align-items:start}.panel{padding:26px}.panel h2{font-size:22px}.panel-description{color:var(--muted);font-size:15px;margin:8px 0 24px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.created-invite{margin-top:24px;padding:20px;background:var(--green-soft);border-radius:10px;border:1px solid #d3e1cc}.created-invite>p{font-size:14px;margin:7px 0 16px;color:var(--muted)}.created-invite label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.created-invite input{font-family:ui-monospace,Consolas,monospace;margin-bottom:12px;letter-spacing:.025em}.created-invite .copy-status{margin:10px 0 0;color:var(--green);overflow-wrap:anywhere}.invite-item{border-top:1px solid var(--line);padding:21px 0}.invite-item:first-child{margin-top:14px}.invite-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.invite-label{font-size:17px;font-weight:600;overflow-wrap:anywhere}.invite-meta{display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-top:8px}.invite-status{flex:none;border-radius:30px;padding:3px 10px;background:var(--green-soft);color:var(--green);font-size:13px;white-space:nowrap}.invite-status.inactive{background:#f1f1eb;color:#7e857c}.invite-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px}.invite-created{font-size:13px;color:#839084}.revoke-button{font-size:14px}.confirm-revoke{margin-top:15px;border:1px solid #ead7b8;background:#fff8e9;border-radius:8px;padding:14px}.confirm-revoke p{font-size:14px;color:#745c32;margin-bottom:11px}.confirm-revoke .button{font-size:14px;min-height:37px;padding:7px 13px;margin-right:8px}.list-footnote{border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:14px}.empty-state{padding:32px 12px;color:var(--muted);text-align:center}.empty-state strong{display:block;font-size:17px;font-weight:500;color:var(--ink);margin-bottom:5px}.empty-state p{font-size:14px}.admin-layout>.form-error{margin-top:22px}
@media(max-width:900px){.auth-layout{gap:40px;padding:20px 32px 50px}.intro h1{font-size:34px}.auth-card{padding:28px}.admin-grid{grid-template-columns:300px minmax(0,1fr)}.admin-heading{align-items:flex-start}.header-actions{max-width:150px}}
@media(max-width:700px){.page-header{padding:23px 24px}.auth-layout{display:block;max-width:500px;padding:15px 22px 34px}.intro{padding:0 5px 24px}.intro h1{font-size:28px;margin:10px 0 10px}.intro h1 br{display:none}.intro>p{font-size:16px;max-width:none}.intro .eyebrow,.intro-note{display:none}.auth-card{padding:27px 24px 22px}.auth-heading h2{font-size:25px}.admin-layout{padding:16px 22px 36px}.admin-heading{display:block}.admin-heading h1{font-size:27px}.header-actions{max-width:none;margin-top:20px}.admin-grid{grid-template-columns:1fr}.panel{padding:23px}.signed-in{margin:16px 0 24px}.invite-list-panel{min-width:0}.page-footer{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
