:root{--navy:#10284a;--navy-soft:#1c3a66;--gold:#c9a227;--gold-dark:#a8851a;--sand:#f4ead5;--sand-light:#faf6ec;--turquoise:#1fa6a0;--emerald:#1b7f5c;--red-muted:#a8473d;--text:#1a2233;--muted:#5d6677;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--sand-light);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.shell{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--navy);color:#fff;border-block-end:3px solid var(--gold);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.logo{width:auto;height:2rem}.spacer{flex:1}.content{width:100%;flex:1;max-inline-size:60rem;margin-inline:auto;padding:1.5rem 1rem}.content.center{text-align:center;padding-block-start:20vh}h1{color:var(--navy);margin-block:0 .5rem}.card{border:1px solid var(--sand);border-inline-start:4px solid var(--turquoise);border-radius:var(--radius);background:#fff;max-inline-size:28rem;padding:1rem 1.25rem}.label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8rem}.tenant{color:var(--navy);font-size:1.25rem;font-weight:600}.muted{color:var(--muted);margin-block-start:.25rem}select{font:inherit;border:1px solid var(--navy-soft);background:var(--sand-light);border-radius:6px;padding:.4rem .6rem}button{font:inherit;cursor:pointer}button.primary{background:var(--gold);color:var(--navy);border-radius:var(--radius);border:0;padding:.6rem 1.25rem;font-weight:600}button.primary:hover{background:var(--gold-dark);color:#fff}button.link{color:#fff;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);background:0 0;border:0}button:focus-visible,select:focus-visible{outline:3px solid var(--turquoise);outline-offset:2px}.footer{text-align:center;color:var(--muted);background:var(--sand);padding:1rem;font-size:.85rem}.fatal{text-align:center;color:#10284a;padding:3rem 1rem;font-family:system-ui,sans-serif}.nav{gap:.25rem;margin-inline-start:1rem;display:flex}.nav a{color:#fff;border-radius:6px;padding:.35rem .75rem;text-decoration:none}.nav a:hover{background:var(--navy-soft)}.nav a.active{background:var(--navy-soft);box-shadow:inset 0 -3px 0 var(--gold)}.tenant-switch{max-inline-size:14rem}.title-row{justify-content:space-between;align-items:center;gap:1rem;margin-block:1rem .5rem;display:flex}.title-row h1,.title-row h2{margin:0}h2{color:var(--navy);font-size:1.2rem}a{color:var(--emerald)}.list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.list.inner{margin-block-start:.75rem}.row{border:1px solid var(--sand);border-radius:var(--radius);background:#fff;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.row.column{flex-direction:column;align-items:stretch;gap:.25rem}.row-main{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.row-main:hover .row-title{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.row-title{color:var(--navy);font-weight:600}.card.site{max-inline-size:none;margin-block:.75rem}.gate{background:var(--sand-light);border:1px solid var(--sand);border-radius:8px;gap:.25rem;padding:.6rem .8rem;display:grid}.gate-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.status{align-items:center;gap:.4rem;display:inline-flex}.dot{background:var(--muted);border-radius:50%;block-size:.7rem;inline-size:.7rem;display:inline-block}.dot.online{background:var(--emerald)}.dot.offline{background:var(--red-muted)}.badge{border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.badge.ok{color:var(--emerald);background:#1b7f5c1f}.badge.warn{color:#7a5f08;background:#c9a22733}.warning{border-inline-start:4px solid var(--gold);background:#c9a2272e;border-radius:6px;padding:.4rem .7rem;font-size:.9rem}.error{color:var(--red-muted);font-size:.9rem}.check{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.form{border-inline-start-color:var(--gold);gap:.75rem;max-inline-size:42rem;margin-block:.75rem;display:grid}.field{gap:.25rem;display:grid}.field label{color:var(--navy);font-size:.85rem;font-weight:600}.field input,.field select{box-sizing:border-box;inline-size:100%;min-inline-size:0;font:inherit;border:1px solid var(--navy-soft);background:var(--sand-light);border-radius:6px;padding:.5rem .65rem}.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--turquoise);outline-offset:1px}.field.invalid input,.field.invalid select{border-color:var(--red-muted)}.grid2{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.grid2>*,.grid3>*{min-inline-size:0}.grid3{grid-template-columns:minmax(6rem,8rem) minmax(0,1fr) minmax(0,1fr);gap:.75rem;display:grid}@media (width<=40rem){.grid3{grid-template-columns:1fr}.nav{margin-inline-start:.25rem}.logo{display:none}}.buttons{gap:.75rem;display:flex}button.secondary{color:var(--navy);border:1px solid var(--navy-soft);border-radius:var(--radius);background:0 0;padding:.5rem 1rem}button.secondary:hover{background:var(--sand)}button[disabled]{opacity:.6;cursor:default}select.inline{max-inline-size:16rem;font:inherit;padding:.35rem .5rem}.muted{color:var(--muted)}.gates-heading{color:var(--navy);margin-block:1rem .5rem;font-size:1rem}.card-actions{margin-block-start:.75rem}.card.site .form{border-inline-start-color:var(--turquoise);max-inline-size:none}.field input::placeholder{color:#8a92a3;opacity:1}.map-picker{gap:.5rem;margin-block:.5rem;display:grid}.map-tools{flex-wrap:wrap;gap:.5rem;display:flex}.map-tools input{min-inline-size:0;font:inherit;border:1px solid var(--navy-soft);background:var(--sand-light);border-radius:6px;flex:14rem;padding:.45rem .65rem}.map-box{border:1px solid var(--navy-soft);border-radius:var(--radius);block-size:22rem;inline-size:100%;overflow:hidden}.position{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.position.small{font-size:.75rem}button.mini{font:inherit;border:1px solid var(--navy-soft);color:var(--navy);background:0 0;border-radius:6px;padding:.1rem .5rem;font-size:.75rem}button.mini:hover{background:var(--sand)}.gate.has-thumb{grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem}.gate.has-thumb>:not(.thumb){grid-column:1}.thumb{border:1px solid var(--navy-soft);background:var(--sand);cursor:pointer;border-radius:8px;grid-area:1/2/span 3;align-self:start;block-size:80px;inline-size:120px;padding:0;position:relative;overflow:hidden}.thumb[disabled]{cursor:default;opacity:1}.thumb img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.thumb .pin{background:var(--gold);border:2px solid var(--navy);transform-origin:50%;border-radius:50% 50% 50% 0;block-size:14px;inline-size:14px;margin:-14px 0 0 -7px;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:rotate(-45deg);box-shadow:0 1px 3px #0006}.thumb:focus-visible{outline:3px solid var(--turquoise);outline-offset:2px}@media (width<=30rem){.gate.has-thumb{grid-template-columns:1fr}.thumb{grid-area:auto/1}}.gate.has-thumb>.map-picker,.gate.has-thumb>.buttons,.gate.has-thumb>.error{grid-column:1/-1}.card.person{max-inline-size:none;margin-block:.75rem}.card.person.paused{opacity:.8;border-inline-start-color:var(--gold)}.chip-row{background:var(--sand-light);border:1px solid var(--sand);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}button.mini.danger{color:var(--red-muted);border-color:var(--red-muted)}button.mini.danger:hover{background:#a8473d1a}button.secondary.small{padding:.3rem .8rem;font-size:.85rem}.small-text{font-size:.8rem}.pin-value{letter-spacing:.15em;font-size:1.2rem}.windows{gap:.5rem;display:grid}.window{background:var(--sand-light);border:1px solid var(--sand);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.days{gap:.25rem;display:inline-flex}.day{font:inherit;border:1px solid var(--navy-soft);min-inline-size:2.4rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .4rem;font-size:.8rem}.day.on{background:var(--navy);color:#fff}.day:focus-visible{outline:3px solid var(--turquoise);outline-offset:1px}.time{color:var(--navy);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.time input{font:inherit;border:1px solid var(--navy-soft);background:#fff;border-radius:6px;padding:.3rem .4rem}.notice{border-inline-start:4px solid var(--emerald);background:#1b7f5c1f;border-radius:6px;padding:.4rem .7rem;font-size:.9rem}
