:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#161713;background:#f1eee6;font-synthesis:none;--ink:#161713;--paper:#f1eee6;--panel:#fffdf8;--muted:#77756d;--line:#d6d0c3;--accent:#d7ff45;--danger:#b42318;--blue:#153ed1}*{box-sizing:border-box}body{margin:0;min-width:320px}.shell{min-height:100vh}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--accent);color:var(--ink);font:900 24px Georgia}.brand strong,.brand small{display:block}.brand small{color:#aaa89f;font-size:11px;letter-spacing:.12em;margin-top:2px}.user-bar{display:flex;gap:14px;align-items:center;font-size:13px}.ghost-button,.secondary-button,.primary-button,.tab{font:inherit;cursor:pointer}.ghost-button{border:1px solid #555;background:transparent;color:#fff;padding:7px 11px}.auth-layout{max-width:1180px;margin:auto;min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center;padding:60px 28px}.auth-intro h1{font:700 clamp(42px,5vw,72px)/1.05 Georgia,"Songti SC",serif;max-width:700px;margin:18px 0 24px}.auth-intro p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.8}.eyebrow{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.18em}.auth-card{background:var(--panel);border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:30px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:26px}.tab{flex:1;padding:13px;border:0;border-bottom:3px solid transparent;background:transparent;font-weight:800;color:var(--muted)}.tab.active{border-color:var(--ink);color:var(--ink)}.form-stack{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:12px;font-weight:800;color:#4e4c46}input,select{width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:12px 13px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,62,209,.11)}.primary-button{border:1px solid var(--ink);background:var(--accent);padding:13px 18px;font-weight:900;box-shadow:3px 3px 0 var(--ink)}.secondary-button{border:1px solid var(--ink);background:var(--panel);padding:10px 14px;font-weight:800}.form-message{min-height:18px;margin:0;color:var(--danger);font-size:13px}.form-message.success{color:#18794e}.form-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.honeypot{position:absolute;left:-10000px}.portal,.admin-layout{max-width:1440px;margin:auto;padding:48px 28px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading h1{font:700 42px Georgia,"Songti SC",serif;margin:8px 0}.page-heading p{margin:0;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;background:var(--panel);border:1px solid var(--ink);padding:22px;color:inherit;text-decoration:none;transition:.16s}.project-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.project-card h2{margin:0 0 8px;font-size:20px}.project-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.project-card span{font-size:12px;font-weight:900;color:var(--blue)}.admin-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.user-list-panel,.permission-panel{background:var(--panel);border:1px solid var(--ink)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0}.panel-heading span{color:var(--muted);font-size:12px}.user-list{max-height:70vh;overflow:auto}.user-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:14px 16px;cursor:pointer}.user-row.active{background:#eef1ff}.user-row strong,.user-row span{display:block}.user-row span{margin-top:5px;color:var(--muted);font-size:12px}.status{display:inline-block!important;margin-left:7px!important;padding:2px 6px;background:#eee;font-size:10px!important}.status.pending{background:#fff0c2;color:#765300}.status.active{background:#dff7e9;color:#176b43}.permission-panel{padding:22px;min-height:440px}.editor-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.editor-heading h2{margin:0 0 5px}.editor-heading p{margin:0;color:var(--muted);font-size:13px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.permission-project{border:1px solid var(--line);margin-top:12px}.permission-project>label{display:flex;gap:9px;align-items:center;padding:13px;background:#f3f0e8;font-size:14px}.permission-project input[type=checkbox]{width:auto;margin:0}.permission-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px}.permission-pages label{display:flex;gap:8px;align-items:center;font-weight:500}.editor-actions{display:flex;justify-content:flex-end;margin-top:20px}.empty-state{min-height:360px;display:grid;place-items:center;color:var(--muted)}@media(max-width:900px){.auth-layout{grid-template-columns:1fr;gap:28px}.auth-intro{display:none}.project-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.user-list{max-height:300px}}@media(max-width:600px){.topbar{padding:0 16px}.portal,.admin-layout{padding:30px 16px}.project-grid{grid-template-columns:1fr}.page-heading{align-items:start;flex-direction:column}.auth-layout{padding:30px 18px}.auth-card{padding:22px;box-shadow:6px 6px 0 var(--ink)}.form-grid,.editor-fields,.permission-pages{grid-template-columns:1fr}}
