:root{--ink:#0b0b0b;--paper:#f7f7f4;--muted:#777;--line:#d8d8d2;--lime:#dfff35;--red:#ff4b3e;--white:#fff;--sidebar:264px}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}body{margin:0;min-height:100vh}a{color:inherit}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(360px,.95fr);background:#fff}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:42px;background:var(--ink);color:#fff}.login-brand h1{margin:auto 0;font-size:clamp(72px,9vw,160px);line-height:.75;letter-spacing:-.085em}.login-brand h1 span{display:block;color:transparent;-webkit-text-stroke:2px #fff;transform:translateX(12%)}.login-brand::after{content:"";position:absolute;width:42vw;aspect-ratio:1;border-radius:50%;background:var(--lime);right:-25vw;top:-18vw}.login-panel{display:grid;place-items:center;padding:32px}.login-box{width:min(440px,100%)}.kicker,.section-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}.login-box h2{font-size:clamp(40px,5vw,72px);line-height:.9;letter-spacing:-.06em;margin:18px 0 42px}.field{display:grid;gap:8px;margin:0 0 18px}.field label{font-size:13px;font-weight:700}.input,.select{width:100%;min-height:48px;border:1.5px solid var(--ink);background:#fff;padding:0 14px;border-radius:0}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border:1.5px solid var(--ink);background:var(--ink);color:#fff;padding:0 20px;font-weight:800;text-decoration:none;cursor:pointer}.btn:hover{background:var(--lime);color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink)}.error,.notice{padding:14px 16px;margin:0 0 20px;border:1.5px solid var(--ink);background:#fff}.error{border-color:var(--red)}.notice{background:var(--lime)}.layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;border-right:1.5px solid var(--ink);background:#fff;display:flex;flex-direction:column;z-index:10}.logo{font-size:34px;font-weight:900;line-height:.82;letter-spacing:-.06em;text-decoration:none}.logo small{display:block;margin-top:12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.nav{display:grid;gap:4px;margin:54px 0}.nav a{padding:11px 12px;text-decoration:none;font-weight:800;border:1.5px solid transparent}.nav a:hover,.nav a.active{border-color:var(--ink);background:var(--lime)}.sidebar-user{margin-top:auto;border-top:1.5px solid var(--ink);padding-top:18px}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user span{font-size:12px;color:var(--muted);margin:4px 0 14px}.logout{border:0;background:transparent;padding:0;text-decoration:underline;cursor:pointer}.content{min-width:0;padding:34px clamp(22px,4vw,68px) 64px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:52px}.menu-button{display:none;border:1.5px solid var(--ink);background:#fff;padding:10px}.page-title{font-size:clamp(50px,7vw,112px);line-height:.82;letter-spacing:-.075em;margin:0 0 40px;max-width:950px}.page-title span{color:transparent;-webkit-text-stroke:1.6px var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--ink);margin:0 0 54px}.stat{min-height:154px;padding:22px;border-right:1.5px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;background:#fff}.stat:last-child{border:0}.stat strong{font-size:clamp(40px,4vw,70px);line-height:1;letter-spacing:-.06em}.stat span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 20px}.section-head h2{font-size:clamp(28px,3vw,46px);letter-spacing:-.045em;margin:0}.link-arrow{font-weight:800}.event-list{border-top:1.5px solid var(--ink)}.event-row{display:grid;grid-template-columns:120px 1.4fr .8fr 150px;gap:18px;padding:18px 0;border-bottom:1.5px solid var(--ink);align-items:start}.event-date{font-size:13px;font-weight:800}.event-title{font-size:20px;font-weight:800;line-height:1.05}.muted{color:var(--muted)}.badge{display:inline-flex;width:max-content;border:1px solid var(--ink);padding:4px 8px;font-size:11px;font-weight:800;text-transform:uppercase}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:26px}.table-wrap{overflow:auto;border:1.5px solid var(--ink);background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}.data-table th{position:sticky;top:0;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.data-table tr:hover td{background:#f1f1ea}.calendar-nav{display:flex;gap:10px;align-items:center;margin-bottom:18px}.calendar-nav h2{margin:0 auto;font-size:32px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));border:1.5px solid var(--ink);background:#fff;overflow:auto}.calendar-weekday{padding:10px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase}.calendar-day{min-height:150px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day.empty{background:#efefea}.day-number{font-size:12px;font-weight:800}.calendar-event{display:block;margin-top:7px;padding:6px;background:var(--lime);font-size:11px;font-weight:700;text-decoration:none}.calendar-event.cancelled{background:#e7e7e2;text-decoration:line-through}.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.doc-category{border:1.5px solid var(--ink);background:#fff}.doc-category h2{margin:0;padding:18px;background:var(--ink);color:#fff;font-size:22px}.doc-category ul{list-style:none;margin:0;padding:8px 18px 18px}.doc-category li{border-bottom:1px solid var(--line)}.doc-category a,.doc-category span{display:block;padding:12px 0;font-weight:700;text-decoration:none}.doc-category a:hover{text-decoration:underline}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.person{min-height:220px;border:1.5px solid var(--ink);padding:18px;background:#fff;display:flex;flex-direction:column}.person h3{font-size:24px;line-height:1;margin:0 0 8px}.person .position{color:var(--muted);margin-bottom:24px}.person .contacts{margin-top:auto;font-size:13px;display:grid;gap:5px}.admin-card{border:1.5px solid var(--ink);padding:24px;background:#fff;margin-bottom:24px}.password-result{font-family:Consolas,monospace;font-size:18px;padding:16px;border:2px dashed var(--ink);background:var(--lime);overflow-wrap:anywhere}.raw-row{display:grid;grid-template-columns:70px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.raw-cells{display:flex;gap:6px;overflow:auto}.raw-cell{min-width:140px;max-width:300px;padding:8px;border:1px solid var(--line);background:#fff;white-space:pre-wrap;font-size:12px}.pagination{display:flex;gap:8px;margin-top:22px}.mobile-overlay{display:none}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1.5px solid var(--ink)}.docs-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.event-row{grid-template-columns:100px 1.4fr 1fr}.event-row>:last-child{grid-column:2}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:280px;padding:24px}.login-brand h1{font-size:70px}.login-panel{padding:28px 20px}.layout{display:block}.sidebar{position:fixed;left:-290px;width:280px;transition:left .2s}.nav-open .sidebar{left:0}.nav-open .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9}.content{padding:18px 16px 80px}.topbar{margin-bottom:36px}.menu-button{display:block}.page-title{font-size:56px}.stats{grid-template-columns:1fr}.stat{min-height:110px;border-right:0!important;border-bottom:1.5px solid var(--ink)!important}.stat:last-child{border-bottom:0!important}.filters{grid-template-columns:1fr}.event-row{grid-template-columns:82px 1fr;gap:10px}.event-row>:nth-child(n+3){grid-column:2}.docs-grid,.team-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(7,minmax(88px,1fr))}.calendar-day{min-height:120px}.section-head{align-items:start;flex-direction:column}}
