:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#eef3f8;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eef3f8}button,input,select,textarea{font:inherit}.login-shell{display:grid;min-height:100vh;place-items:center;padding:18px}.login-panel{width:min(420px,100%);border:1px solid #d7e2ed;border-radius:8px;background:#fff;box-shadow:0 18px 40px #1f2d3d1f;padding:20px}.login-panel h1{margin-bottom:18px}.admin-shell{min-height:100vh;padding:22px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.header-actions{display:flex;align-items:center;gap:10px}.session-line{margin:5px 0 0;color:#64748b;font-size:.86rem;font-weight:800}.eyebrow{display:block;margin-bottom:4px;color:#2670a8;font-size:.82rem;font-weight:900;text-transform:uppercase}h1,h2{margin:0;color:#111827;letter-spacing:0}h1{font-size:1.85rem}h2{font-size:1.05rem}.layout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;margin-bottom:16px}.panel{border:1px solid #d7e2ed;border-radius:8px;background:#fff;box-shadow:0 14px 32px #1f2d3d14;padding:16px;margin-bottom:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title span{color:#64748b;font-size:.86rem;font-weight:800}label{display:grid;gap:6px;margin-bottom:12px;color:#334155;font-size:.9rem;font-weight:800}input,select,textarea{width:100%;border:1px solid #cbd7e3;border-radius:7px;background:#fbfdff;color:#111827;padding:10px 11px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#2f8ccf;box-shadow:0 0 0 3px #2f8ccf29}.two-cols{display:grid;grid-template-columns:.45fr .55fr;gap:10px}.primary-action,.secondary-action,.row-action{min-height:38px;border:0;border-radius:7px;cursor:pointer;font-weight:900}.primary-action{padding:0 16px;background:#1377bd;color:#fff}.secondary-action{width:100%;background:#0f766e;color:#fff}.secondary-action.compact{width:auto;padding:0 14px}.secondary-action.muted{background:#64748b}.row-action{padding:0 12px;background:#e6f3fb;color:#155e91}.row-action.danger{background:#fee2e2;color:#991b1b}button:disabled{cursor:wait;opacity:.62}.notice{margin:0 0 14px;border-radius:7px;padding:11px 12px;font-weight:800}.notice.success{border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46}.notice.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.table-wrap{overflow:auto}.inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(130px,.5fr) auto;align-items:end;gap:10px;margin-bottom:14px}.inline-form label{margin-bottom:0}.magazine-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.9fr) minmax(130px,.55fr) minmax(170px,.8fr);align-items:end;gap:10px;margin-bottom:14px}.magazine-form label{margin-bottom:0}.form-actions,.row-actions{display:flex;align-items:center;gap:8px}.form-actions{min-height:39px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid #e6edf4;padding:10px 9px;text-align:left;vertical-align:middle}th{color:#52627a;font-size:.78rem;text-transform:uppercase}td{color:#1f2937;font-size:.92rem}.muted-line{display:block;margin-top:3px;color:#64748b;font-size:.82rem;font-weight:700}tr:hover td{background:#f8fbfe}.users-grid{align-items:start}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 14px}.checkbox-line{display:flex;align-items:center;gap:8px;margin:0;border:1px solid #dbe5ef;border-radius:7px;background:#f8fbfe;padding:8px 9px;color:#334155;font-size:.82rem;font-weight:900}.checkbox-line input{width:auto}.user-list{display:grid;gap:10px}.user-item{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(280px,1fr) auto;align-items:center;gap:10px;border:1px solid #e6edf4;border-radius:8px;padding:10px}.user-item strong,.user-item span{display:block}.user-item span{margin-top:3px;color:#64748b;font-size:.84rem;font-weight:700}.compact-permissions{margin:0}@media(max-width:860px){.admin-shell{padding:12px}.admin-header,.panel-title{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions .primary-action,.header-actions .secondary-action{flex:1}.layout-grid,.two-cols,.inline-form,.magazine-form,.user-item{grid-template-columns:1fr}.form-actions,.row-actions{flex-wrap:wrap}}
