:root{--navy:#0b2545;--navy-2:#13315c;--gold:#c2a15c;--gold-soft:#e9dec4;--ivory:#efeae1;--paper:#f7f5f0;--ink:#1b2430;--muted:#6b7280;--line:#e4dfd4;--danger:#b42318;--ok:#1f7a4d;--radius:12px;--shadow:0 1px 2px #0b25450f, 0 8px 24px #0b25450f}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:Almarai,system-ui,sans-serif;font-size:15px;line-height:1.6}a{color:var(--navy-2)}button,input,select,textarea{font:inherit;color:inherit}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:700;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:var(--navy-2)}.btn.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.sm{padding:5px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--navy);font-size:13px;font-weight:700}.input,select.input,textarea.input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px;transition:all .15s}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c2a15c2e}.hint{color:var(--muted);font-size:12px}.error{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:10px 12px;font-size:14px}.success{color:var(--ok);background:#ecfdf3;border:1px solid #abefc6;border-radius:10px;padding:10px 12px;font-size:14px}.login{background:radial-gradient(1200px 500px at 100% 0%, #c2a15c2e, transparent 60%), linear-gradient(160deg, var(--navy) 0%, #081a33 100%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--paper);border-radius:18px;width:100%;max-width:400px;padding:36px 30px;box-shadow:0 30px 80px #00000059}.brand{align-items:center;gap:12px;margin-bottom:26px;display:flex}.brand-mark{background:var(--navy);border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.brand-name{color:var(--navy);font-size:20px;font-weight:800}.brand-sub{color:var(--gold);letter-spacing:.5px;font-size:12px;font-weight:700}.login-card form{flex-direction:column;gap:16px;display:flex}.gold-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;margin:22px 0 14px}.shell{grid-template-columns:250px 1fr;min-height:100%;display:grid}.side{background:var(--navy);color:#fff;flex-direction:column;gap:6px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.side .brand{margin:0 6px 22px}.side .brand-name{color:#fff;font-size:17px}.side .brand-mark{background:#ffffff14}.nav a{color:#ffffffc7;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.active{color:var(--gold);background:#c2a15c29}.nav .sep{color:#fff6;letter-spacing:.5px;padding:16px 12px 6px;font-size:11px}.side-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:12px;font-size:13px}.side-foot .who{font-weight:700}.side-foot .role{color:var(--gold);font-size:12px}.main{min-width:0;padding:28px 32px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head h1{color:var(--navy);margin:0;font-size:24px}.page-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.card-pad{padding:20px}.grid{gap:16px;display:grid}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.stat{padding:18px 20px}.stat .n{color:var(--navy);font-size:30px;font-weight:800}.stat .l{color:var(--muted);font-size:13px}.table{border-collapse:collapse;width:100%}.table th{text-align:right;color:var(--muted);border-bottom:1px solid var(--line);background:#fbfaf7;padding:12px 14px;font-size:12px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.table tr:last-child td{border-bottom:0}.table tr.click:hover td{cursor:pointer;background:#fbfaf7}.badge{background:var(--ivory);color:var(--navy);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.admin{background:var(--navy);color:var(--gold)}.badge.archivist{background:var(--gold-soft);color:#6b5424}.badge.off{color:var(--muted);background:#f2f4f7}.badge.conf{color:var(--danger);background:#fef3f2}.modal-bg{z-index:50;background:#08142880;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:16px;width:100%;max-width:640px;max-height:90vh;overflow:auto;box-shadow:0 30px 80px #0000004d}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h2{color:var(--navy);margin:0;font-size:18px}.modal-body{flex-direction:column;gap:16px;padding:22px;display:flex}.modal-foot{border-top:1px solid var(--line);justify-content:flex-start;gap:10px;padding:16px 22px;display:flex}.access-grid{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.access-grid .row{border-bottom:1px solid var(--line);grid-template-columns:1fr 70px 70px 70px;align-items:center;padding:8px 12px;font-size:14px;display:grid}.access-grid .row:last-child{border-bottom:0}.access-grid .row.head{color:var(--muted);background:#fbfaf7;font-size:12px;font-weight:700}.access-grid .row>span:not(:first-child){text-align:center}.muted{color:var(--muted)}.row-flex{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.empty{text-align:center;color:var(--muted);padding:40px}.soon{opacity:.45;pointer-events:none}@media (width<=860px){.shell{grid-template-columns:1fr}.side{flex-flow:wrap;height:auto;padding:12px;position:static}.side .brand,.side-foot,.nav .sep{display:none}.nav{flex-wrap:wrap;gap:4px;display:flex}.main{padding:18px 16px 50px}.cols-2,.cols-3,.cols-4{grid-template-columns:1fr 1fr}.table-wrap{overflow-x:auto}}
