
:root{--ink:#292238;--muted:#777080;--purple:#6744ad;--bg:#f6f5f9;--line:#e6e2ed;--green:#167550;--red:#a34149}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 15px;background:white;color:var(--ink);font-weight:650;min-height:42px}button:hover{border-color:var(--purple);background:#f1ebfb}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--purple);color:white;border-color:var(--purple)}.primary:hover{background:#563693}.danger{color:var(--red);border-color:#dfafb6}.quiet{background:transparent}.small{padding:6px 10px;min-height:34px;font-size:12px}:focus-visible{outline:3px solid #b08af4;outline-offset:3px}input,select,textarea{width:100%;padding:12px;border:1px solid #d6d0df;border-radius:10px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:100px}label{display:block;font-size:12px;font-weight:700;margin:15px 0 6px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:5px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:15px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:800;color:var(--purple)}.pill{display:inline-flex;padding:5px 9px;border-radius:7px;background:#eee8f9;color:#6744ad;font-size:11px;font-weight:750;white-space:nowrap}.good{background:#dff1e7;color:#176d4b}.warn{background:#fff0cc;color:#906217}.bad{background:#fae4e5;color:#a34149}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#292038;color:#d7cfe5;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{color:white;font-size:23px;font-weight:850;letter-spacing:-.8px;padding:0 14px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#b7a9ce;margin-top:5px}.nav{display:grid;gap:4px;margin-top:35px}.nav button{background:transparent;border:0;color:#bfb3d0;text-align:left;font-size:13px;padding:11px 15px;font-weight:550}.nav button.active{background:#7350b7;color:white}.nav button:hover{background:#463256;color:white}.nav span{display:inline-block;width:28px}.sidefoot{margin-top:auto;padding:25px 14px 0;font-size:11px;color:#aa9dbd}.topbar{padding:20px 36px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar strong{font-size:12px}.topbar .muted{font-size:11px}.main{min-width:0}.content{padding:30px 36px 45px;max-width:1600px;margin:auto}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.pagehead p{margin:0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:23px;margin-bottom:18px}.stat{margin:0;position:relative}.stat b{display:block;font-size:32px;letter-spacing:-1px;margin:13px 0 2px}.stat small{color:var(--muted);font-size:11px}.stat .icon{float:right;color:var(--purple);background:#f0eafb;padding:8px;border-radius:10px}.twocol{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:20px}.hero{background:linear-gradient(105deg,#eae2f9,#f6efe8);border:0;padding:25px}.hero h2{font-size:23px;margin-bottom:8px}.hero p{max-width:650px;margin:0;color:#6e5e82}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.toolbar input{max-width:360px}.toolbar select{max-width:220px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;background:#faf9fc;padding:13px 17px;color:#807788;font-weight:650;text-transform:uppercase;letter-spacing:.6px;font-size:10px}td{padding:16px 17px;border-top:1px solid #efecf4;vertical-align:middle}td strong{font-size:13px}td .sub{display:block;font-size:11px;color:var(--muted);max-width:270px;white-space:normal}tbody tr:hover{background:#fcfaff}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:15px;color:var(--muted);font-size:12px}.empty{text-align:center;padding:65px 25px}.empty .symbol{font-size:30px;color:#b4a2d1;margin-bottom:12px}.notice{padding:12px 16px;border-radius:11px;background:#fff2d3;color:#795921;font-size:12px;margin-bottom:18px}.error{background:#fae4e5;color:#a34149}.statusline{height:3px;background:transparent}.statusline.busy{background:linear-gradient(90deg,#ddd0f1,#7451b4,#ddd0f1);animation:flow 1s infinite alternate}@keyframes flow{from{opacity:.4}to{opacity:1}}dialog{border:0;padding:0;border-radius:18px;width:min(740px,94vw);max-height:90vh;box-shadow:0 20px 90px #24163e44}dialog::backdrop{background:#21192a88;backdrop-filter:blur(3px)}.dialoghead{position:sticky;top:0;background:white;display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);z-index:1}.dialoghead h2{margin:0}.dialogbody{padding:0 25px 25px;overflow-wrap:anywhere}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.formactions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}.detailgrid small{display:block;color:var(--muted);font-size:11px}.detailgrid b{font-size:14px}.sectionlabel{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.seat{display:inline-flex;border-radius:8px;padding:8px 12px;margin:3px;font-weight:700}.license{max-height:420px;width:100%;object-fit:contain;background:#f4f1f8}.chart{display:flex;gap:5px;height:150px;align-items:flex-end;margin:25px 0 12px}.bar{flex:1;background:#a58acd;border-radius:4px 4px 0 0;min-height:3px}.chartlegend{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.healthrow{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #f0edf4;font-size:12px}.healthrow:last-child{border:0}.mono{font-family:ui-monospace,monospace;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.loginart{background:#302140;color:white;padding:10vw 7vw;position:relative;overflow:hidden}.loginart h1{font-size:56px;line-height:1.05;max-width:500px;margin-top:65px;letter-spacing:-2px}.loginart p{color:#bdafcd;max-width:360px;font-size:16px}.orbit{width:290px;height:120px;border:2px dashed #b698d4;border-radius:50%;transform:rotate(-25deg);margin-top:60px;display:flex;align-items:center;justify-content:space-around}.orbit span{padding:15px;border-radius:50%;background:#6f4ba8;font-size:23px}.loginform{display:flex;align-items:center;justify-content:center;padding:40px}.loginform form{width:min(380px,100%)}.loginform h2{font-size:30px}.loginform button{width:100%;margin-top:25px}.badge{display:inline-block;background:#ffffff18;color:#e6d7ff;padding:6px 10px;border-radius:6px;font-size:10px;letter-spacing:1.5px}.routeview{width:100%;height:220px;background:#f4effa;border-radius:12px}.routeview polyline{stroke:#7350b7;stroke-width:4;fill:none}.routeview circle{fill:#edaa4a;stroke:white;stroke-width:2}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:12px;background:#30243e;color:white;box-shadow:0 6px 30px #0003;z-index:10;max-width:90vw;font-size:13px}.hidden{display:none!important}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:190px 1fr}.content{padding:25px}.topbar{padding:18px 25px}.twocol{grid-template-columns:1fr}.brand{font-size:20px}}@media(max-width:700px){.layout{display:block}.sidebar{position:static;height:auto;padding:18px}.brand small,.sidefoot{display:none}.nav{display:flex;overflow:auto;margin-top:17px;gap:5px}.nav button{white-space:nowrap;padding:9px 12px}.nav span{width:22px}.topbar{padding:13px 18px}.content{padding:23px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.grid{gap:10px}.stat{padding:17px}.stat b{font-size:28px}.stat .icon{display:none}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{max-width:none}.formgrid{grid-template-columns:1fr}.login{display:block}.loginart{padding:30px}.loginart h1{font-size:30px;margin-top:25px}.loginart p,.orbit{display:none}.loginform{padding:35px 25px}.loginart .brand{padding:0}.detailgrid{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.nav{scrollbar-width:thin;scrollbar-color:#8f71b8 #352747}.nav::-webkit-scrollbar{height:5px}.nav::-webkit-scrollbar-track{background:#352747}.nav::-webkit-scrollbar-thumb{background:#8f71b8;border-radius:5px}
