:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17352e;background:#f6f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:92px;border-bottom:1px solid #dce4dc;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,56px);background:#fff}.brand{font-size:29px;font-weight:850;letter-spacing:-1px;color:#163c31;text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:3px}main{max-width:1920px;margin:auto;padding:36px clamp(20px,3vw,56px)}h1{font-size:clamp(34px,4vw,54px);letter-spacing:-2px;line-height:1.12;margin:12px 0 20px}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 15px}p{line-height:1.6}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#4d7860}.muted{color:#687b71}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.stat{text-align:right;border-left:1px solid #d6e0d4;padding-left:55px}.stat strong{font-size:70px;font-weight:500;display:block;line-height:1.1}.stat span{color:#6a7c72;font-size:13px}.panel{border:1px solid #dce4da;background:#fff;border-radius:12px;padding:25px;margin-bottom:24px}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.section-title h2{margin:0}.section-title span{font-size:12px}button,.button{background:#205c43;border:1px solid #205c43;border-radius:6px;padding:12px 18px;color:white;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#164b35}button:disabled{opacity:.45;cursor:default}button.secondary{background:white;color:#255d45;border-color:#d2dfd3}input,select{font:inherit;border:1px solid #cbd8cd;background:#fff;border-radius:6px;padding:11px;color:#183c30;min-width:0}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.controls label{flex:1}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;margin-top:34px}.filters{display:flex;gap:12px;align-items:end;margin:22px 0}.search{flex:1}.checkbox{flex-direction:row;align-items:center;white-space:nowrap;padding-bottom:12px}.timetable{overflow:auto;max-height:720px;border:1px solid #dbe3d8;border-radius:9px;background:white;margin-top:14px}.schedule{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.schedule caption{text-align:left;padding:14px;color:#687b71}.schedule th,.schedule td{border-right:1px solid #e2e8de;border-bottom:1px solid #e2e8de;padding:7px;vertical-align:top}.schedule thead th{position:sticky;top:0;background:#edf2e9;z-index:2;min-width:92px;text-align:center;font-weight:500}.schedule thead span,.schedule thead strong,.schedule thead small{display:block;white-space:nowrap}.schedule thead strong{margin:5px 0;font-size:14px}.schedule thead small{font-size:9px;color:#687b71}.schedule th:first-child{position:sticky;left:0;min-width:190px;max-width:250px;text-align:left;background:white;z-index:1}.schedule thead th:first-child{z-index:3;background:#edf2e9}.node-label{flex-direction:row;align-items:center;gap:8px;padding:5px 0;white-space:nowrap}.schedule details{font-weight:400;margin:6px 0;font-size:11px}.schedule summary{cursor:pointer;color:#4f6e5a}.schedule dl{white-space:normal;overflow-wrap:anywhere;max-width:215px}.schedule dt{font-weight:650;margin-top:9px}.schedule dd{margin:3px 0;color:#687b71}.slot{width:100%;min-height:48px;padding:10px 4px;border-radius:4px;font-size:11px;border:1px solid transparent}.slot.free{background:#edf5e9;color:#2d734d;border-color:#d5e5cc}.slot.free:hover{background:#d7eacb}.slot.booked{background:#faf0e3;color:#95622e;border-color:#efddc5}.slot.picked{background:#205c43;color:white;border-color:#17432f}.slot.past{background:#f2f3f1;color:#7e857e}.slot:disabled{opacity:1}.layout>section{min-width:0}.sticky{position:sticky;top:20px;background:#edf2e9}.sticky button{width:100%}.small{font-size:11px}.reservations{margin-top:30px}.reservation{padding:18px 0;border-bottom:1px solid #edf0ea;display:flex;gap:14px;justify-content:space-between;align-items:center;font-size:13px}.reservation p{margin:5px 0}#message:not(:empty){background:#e6efde;border:1px solid #cadbbd;padding:15px;border-radius:7px;margin-bottom:20px}footer{padding:28px clamp(20px,3vw,56px);border-top:1px solid #dbe3d7;font-size:11px;font-weight:700;letter-spacing:1px;display:flex;justify-content:space-between;color:#6a7d70}footer span{font-weight:400;letter-spacing:0}#identity{display:flex;align-items:center;gap:12px;font-size:12px}[hidden]{display:none!important}:focus-visible{outline:3px solid #94ae58;outline-offset:3px}@media(max-width:1100px){.layout{grid-template-columns:1fr}.sticky{position:static}.filters{flex-wrap:wrap}}@media(max-width:600px){header{padding:0 20px;height:80px}main{padding:30px 20px}.stat{display:none}.resources{grid-template-columns:1fr}.controls{flex-direction:column;align-items:stretch}.filters{flex-direction:column;align-items:stretch}.section-title{flex-wrap:wrap}.reservation{align-items:start;flex-direction:column}#identity{max-width:60%;flex-wrap:wrap;justify-content:end}}

.node-selection-count{display:block;font-size:10px;font-weight:400;color:#687b71;margin-bottom:6px}.selection-time{display:block;font-size:10px;line-height:1.7}.sticky h2{margin-top:12px}
.health{display:block;width:fit-content;border-radius:20px;padding:5px 9px;font-size:11px;margin:8px 0}.health.up{background:#edf5e9;color:#2d734d}.health.down{background:#faf0e3;color:#95622e}.health.unknown{background:#edf0ec;color:#687b71}.status-table td{padding:15px;min-width:160px}.status-table td small{display:block;max-width:220px;overflow-wrap:anywhere}.status-table td code{white-space:nowrap}.status-table thead th{min-width:140px}.status-table details dl{max-width:300px}
