:root{font-family:system-ui,sans-serif;color:#17202a;background:#f5f7f9;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:#075985}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:10;padding:.7rem 1rem;border-radius:.5rem;background:#fff;color:#102a43;font-weight:700}.skip-link:focus{top:1rem}header{min-height:64px;background:#102a43;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px max(20px,calc((100% - 1000px) / 2));font-weight:700}header>a{color:#fff;text-decoration:none;white-space:nowrap}nav{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px}nav a{color:#fff;text-decoration:none;padding:10px 8px;border-radius:8px}nav a:focus-visible,nav a:hover{background:#214766}.role-context{font-size:12px;color:#d7e7f2;white-space:nowrap}main{width:min(100% - 40px,1000px);margin:0 auto;padding:32px 0 48px}.narrow{max-width:440px;margin:30px auto}h1{margin-top:0}.card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 4px 18px #102a4312;margin:14px 0}.clock-card{margin-top:18px}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#127c56;color:#fff;border:0;padding:10px 18px;border-radius:9px;font:inherit;font-size:16px;line-height:1.25;cursor:pointer;text-decoration:none}.button.secondary,button.secondary{background:#dfe8ee;color:#102a43}button:disabled{opacity:.6;cursor:wait}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5df;border-radius:8px;margin:6px 0 14px;font:inherit;font-size:16px}textarea{min-height:96px;resize:vertical}label{display:block;font-size:14px;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.status{font-size:22px;font-weight:700;color:#127c56}.muted{color:#61758a}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions>span{min-width:0}.error{color:#a32929}.success{color:#127c56}.error-panel{border-left:4px solid #a32929}.startup-error{max-width:1000px;margin:0 auto;padding:12px 20px;background:#fff4e5;color:#7a4300;border-bottom:1px solid #f0c36d}.startup-error p{display:inline;margin-right:12px}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}table{width:100%;min-width:680px;border-collapse:collapse}.card>table{display:block;overflow-x:auto}td,th{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid #e5ebef;font-size:14px}th{white-space:nowrap}.table-wrap:focus{outline:3px solid #f59e0b;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-panel-nav{align-items:stretch;margin:18px 0}.admin-panel-nav button{flex:1 1 auto;font-size:14px}.panel-state{min-height:9rem}.panel-skeleton{height:1.25rem;width:100%;margin:.7rem 0;border-radius:.35rem;background:linear-gradient(90deg,#eef2f6 25%,#f8fafc 37%,#eef2f6 63%);background-size:400% 100%;animation:panel-skeleton 1.4s ease infinite}.panel-skeleton.short{width:55%}@keyframes panel-skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}@media (max-width:720px){header{align-items:flex-start;flex-wrap:wrap}header>a{padding-top:10px}header nav{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap}.role-context{flex:1 1 100%}main{width:min(100% - 24px,1000px);padding-top:20px}.card{padding:18px;border-radius:12px}.admin-panel-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.admin-panel-nav button{width:100%}}@media (max-width:420px){header{padding-inline:12px}nav{gap:4px}nav a{padding-inline:6px}main{width:min(100% - 16px,1000px)}.card{padding:15px}.actions>.button,.actions>button{flex:1 1 100%;width:100%}.grid{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.panel-skeleton{animation:none}}