:root{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--line:#e3e6eb;--ink:#22252b;--muted:#7b828f;--brand:#e83b42;--brand-dark:#c52d35;--positive:#168568;--positive-soft:#eaf8f3;--brand-soft:#fff0f1;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input{font:inherit}.auth-page{min-height:100vh;display:grid;place-items:center}.auth-shell{width:min(400px,calc(100% - 32px))}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.auth-brand>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--brand);font-size:11px;font-weight:800}.auth-brand strong,.auth-brand small{display:block}.auth-brand small{margin-top:2px;color:var(--muted);font-size:9px}.auth-form,.admin-modal{padding:26px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 14px 36px rgba(30,34,45,.07)}h1,h2,p{margin:0}h1{font-size:22px}label{display:block;margin:18px 0 7px;color:var(--muted);font-size:12px}input{width:100%;height:42px;padding:0 11px;border:1px solid #d6dae1;border-radius:6px;outline:none;background:#fff}input:focus{border-color:#f08b90;box-shadow:0 0 0 3px #fff0f1}.primary-button,.secondary-button{height:40px;padding:0 16px;border:1px solid transparent;border-radius:6px;cursor:pointer}.primary-button{width:100%;margin-top:18px;color:#fff;background:var(--brand);font-weight:600}.primary-button:hover{background:var(--brand-dark)}.primary-button.compact{width:auto;margin:0}.primary-button:disabled,button:disabled{opacity:.55;cursor:not-allowed}.secondary-button{border-color:var(--line);background:#fff}.form-message{min-height:19px;margin-top:10px;color:var(--brand-dark);font-size:12px}.admin-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:#fff}.admin-header .auth-brand{margin:0}.admin-header-actions{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.admin-header a,.admin-header button{border:0;color:var(--ink);background:transparent;text-decoration:none;cursor:pointer}.admin-content{max-width:1180px;margin:0 auto;padding:36px 28px}.admin-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.admin-title p{margin-top:6px;color:var(--muted);font-size:12px}.admin-table-shell{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{width:100%;min-width:820px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:12px;font-weight:500}td strong,td span{display:block}td span{margin-top:3px;color:var(--muted);font-size:11px}.user-status{width:max-content!important;padding:4px 8px;border-radius:5px}.user-status.active{color:var(--positive);background:var(--positive-soft)}.user-status.disabled{color:var(--brand-dark);background:var(--brand-soft)}.table-actions{display:flex;gap:12px}.table-actions button{padding:0;border:0;background:transparent;cursor:pointer;font-size:12px}.table-actions .danger{color:var(--brand-dark)}.empty-state{padding:48px;text-align:center;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(24,28,35,.36)}.modal-backdrop[hidden]{display:none}.admin-modal{width:min(440px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header button{border:0;background:transparent;font-size:22px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.top-message{position:fixed;top:18px;left:50%;z-index:40;padding:10px 16px;border-radius:7px;opacity:0;transform:translate(-50%,-8px);pointer-events:none}.top-message.is-visible{opacity:1;transform:translate(-50%,0)}.top-message.is-success{color:var(--positive);background:var(--positive-soft)}.top-message.is-error{color:var(--brand-dark);background:var(--brand-soft)}.muted{color:var(--muted)}@media(max-width:680px){.admin-header{padding:0 15px}.admin-header-actions>span{display:none}.admin-content{padding:24px 15px}.admin-title{align-items:flex-start;gap:16px}.admin-title h1{font-size:20px}.admin-table-shell{overflow-x:auto}.auth-form{padding:22px}}
