:root{--navy:#0f2a4a;--navy2:#27558f;--bg:#eef1f5;--card:#fff;--tx:#14202e;--mut:#5a6779;--line:#d9dfe8;--busy:#cdd5e0;--own:#1d4373;--own-tx:#fff;--warn:#b3261e;--ok:#1d7a4d;--sel:#0f2a4a;--selt:#fff;--focus:#2f6fd6;--shadow:0 1px 4px #0f2a4a1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--navy:#0a1626;--navy2:#17345a;--bg:#0b1522;--card:#13233a;--tx:#e8edf4;--mut:#a3b0c2;--line:#2a4262;--busy:#34475f;--own:#4f86c6;--own-tx:#06111f;--warn:#ff8a80;--ok:#5fd09a;--sel:#e8edf4;--selt:#0b1522;--focus:#8ab4ff;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--navy:#0a1626;--navy2:#17345a;--bg:#0b1522;--card:#13233a;--tx:#e8edf4;--mut:#a3b0c2;--line:#2a4262;--busy:#34475f;--own:#4f86c6;--own-tx:#06111f;--warn:#ff8a80;--ok:#5fd09a;--sel:#e8edf4;--selt:#0b1522;--focus:#8ab4ff;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--tx);margin:0;font:15px/1.45 -apple-system,Segoe UI,Roboto,sans-serif}body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}h1,h2,h3{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:600}h2{margin-bottom:10px;font-size:20px}h3{margin-bottom:8px;font-size:17px}a{color:var(--own)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--card);z-index:100;padding:8px 12px;position:absolute;top:0;left:-9999px}.skip:focus{left:8px}header.top{background:linear-gradient(135deg, var(--navy), var(--navy2));color:#fff;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}header.top h1{letter-spacing:.3px;flex:1;align-items:center;gap:10px;min-width:150px;font-size:19px;display:flex}header.top h1 img{width:auto;height:28px}header.top .who{opacity:.9;font-size:13px}header.top button{font:inherit;color:#fff;cursor:pointer;background:#fff2;border:0;border-radius:8px;min-height:36px;padding:6px 10px;font-size:13px}.offline{color:#4a3a00;background:#f3e3b3;padding:6px 14px;font-size:13px}nav.tabs{background:var(--card);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}nav.tabs a{text-align:center;color:var(--mut);white-space:nowrap;border-bottom:3px solid #0000;flex:1;min-height:44px;padding:12px 8px;font-weight:600;text-decoration:none}nav.tabs a.active{color:var(--tx);border-bottom-color:var(--own)}main{max-width:1100px;margin:0 auto;padding:12px}main.narrow{max-width:460px;padding-top:32px}button,select,input,textarea{font:inherit;color:var(--tx)}.btn{background:var(--own);color:var(--own-tx);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn.alt{color:var(--tx);border:1px solid var(--line);background:0 0}.btn.sm{min-height:36px;padding:6px 10px;font-size:13px}.btn.del{color:var(--warn);border:1px solid var(--warn);background:0 0}.btn.link{color:var(--own);background:0 0;min-height:0;padding:0;font-weight:500;text-decoration:underline}select,input,textarea{background:var(--card);border:1px solid var(--line);border-radius:8px;width:100%;min-height:42px;padding:9px}input[type=checkbox],input[type=radio]{width:auto;min-height:0;margin-right:6px}label{color:var(--mut);margin-bottom:10px;font-size:13px;display:block}label>input,label>select,label>textarea{margin-top:4px}label.check{color:var(--tx);align-items:center;font-size:14px;display:flex}fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:8px 10px}legend{color:var(--mut);padding:0 4px;font-size:13px}.bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.bar .sp{flex:1}.seg{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.seg button{background:var(--card);cursor:pointer;border:0;min-height:40px;padding:8px 12px}.seg button[aria-pressed=true]{background:var(--sel);color:var(--selt)}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;margin-bottom:10px;padding:12px}.k{color:var(--mut);font-size:13px}.row{gap:8px;display:flex}.row>*{flex:1;min-width:0}.err{color:var(--warn);margin:6px 0;font-size:14px}.ok{color:var(--ok)}.pill{background:var(--bg);border:1px solid var(--line);color:var(--mut);vertical-align:middle;white-space:nowrap;border-radius:99px;padding:2px 8px;font:600 12px -apple-system,sans-serif}.pill.warn{color:var(--warn);border-color:var(--warn)}.pill.ok{color:var(--ok);border-color:var(--ok)}.li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.li:last-child{border-bottom:0}.actions{flex-wrap:wrap;gap:6px;display:flex}.stack>*+*{margin-top:10px}dialog.modal{background:var(--card);width:min(480px,100vw - 24px);max-height:calc(100vh - 32px);color:var(--tx);border:0;border-radius:12px;padding:16px}dialog.modal::backdrop{background:#000a}dialog.modal h2{margin-bottom:12px}dialog.modal.wide{width:min(760px,100vw - 24px)}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--tx);color:var(--bg);z-index:50;border-radius:8px;max-width:calc(100vw - 32px);padding:10px 16px;position:fixed;transform:translate(-50%)}.tl{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow-x:auto}.tr{border-bottom:1px solid var(--line);height:46px;display:flex}.tr.th{height:30px}.rn{z-index:3;background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex:none;justify-content:center;width:112px;padding:5px 8px;font-size:13px;font-weight:600;line-height:1.25;display:flex;position:sticky;left:0}.rn small{color:var(--mut);font-size:11px;font-weight:400}.rn i{background:var(--ok);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.rn i.b{background:var(--warn)}.tc{cursor:pointer;background:repeating-linear-gradient(to right, var(--line) 0, var(--line) 1px, transparent 1px, transparent 72px);flex:none;position:relative}.th .tc{cursor:default;background:0 0}.th .tc span{color:var(--mut);font-size:11px;position:absolute;top:8px}.fl{background:var(--navy);color:#fff;letter-spacing:.6px;padding:5px 0;font-size:12px;font-weight:600}.fl span{position:sticky;left:10px}.ev{text-align:left;border:0;border-radius:5px;padding:2px 4px;font-family:inherit;font-size:11px;line-height:1.25;position:absolute;overflow:hidden}button.ev{cursor:pointer}.ev.own{background:var(--own);color:var(--own-tx)}.ev.busy{background:var(--busy);color:var(--tx)}.ev.blk{background:repeating-linear-gradient(45deg, var(--warn) 0 6px, transparent 6px 12px);color:var(--tx);border:1px solid var(--warn)}.ev.blk span{background:var(--card);border-radius:3px;padding:0 3px}.tc .ev{white-space:nowrap;align-items:center;display:flex;top:5px;bottom:5px}.past{pointer-events:none;background:#8a96a824;position:absolute;top:0;bottom:0;left:0}.now{background:var(--warn);pointer-events:none;z-index:1;width:2px;position:absolute;top:0;bottom:0}.gw{background:var(--card);border:1px solid var(--line);max-height:70vh;box-shadow:var(--shadow);border-radius:10px;overflow:auto}.g{min-width:100%;display:flex}.hc{background:var(--card);z-index:2;flex:none;width:42px;position:sticky;left:0}.gh{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;background:var(--card);z-index:1;height:30px;padding:6px 4px;font-size:12px;font-weight:600;position:sticky;top:0;overflow:hidden}.gh.today{color:var(--own)}.hr{height:44px;color:var(--mut);padding:2px 4px;font-size:11px}.col{border-left:1px solid var(--line);flex:1;min-width:104px}.cb{background:repeating-linear-gradient(to bottom, var(--line) 0, var(--line) 1px, transparent 1px, transparent 44px);cursor:pointer;position:relative}.cb .ev{left:2px;right:2px}.mg{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mg .w{color:var(--mut);text-align:center;font-size:12px}.mg button{border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;border-radius:8px;min-height:54px;padding:4px}.mg .out{opacity:.45}.mg .td{border-color:var(--own);border-width:2px}.mg i{color:var(--own);font-size:11px;font-style:normal;font-weight:700;display:block}.ph{background:linear-gradient(135deg, var(--navy), #4f6d96);color:#fffc;border-radius:8px;align-items:end;height:140px;margin-bottom:8px;padding:8px;font-size:12px;display:flex;overflow:hidden}.ph img{object-fit:cover;border-radius:8px;width:100%;height:100%}.ph:has(img){padding:0}.rooms{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.rooms .card{margin:0}table.list{border-collapse:collapse;width:100%;font-size:14px}table.list th{text-align:left;color:var(--mut);border-bottom:1px solid var(--line);padding:6px;font-size:12px;font-weight:600}table.list td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}.table-wrap{overflow-x:auto}.bar2{background:var(--own);border-radius:4px;min-width:3px;height:8px}.subtabs{gap:6px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.subtabs a{white-space:nowrap}.qr-sign{text-align:center;padding:24px}.qr-sign h1{margin-bottom:6px;font-size:40px}.qr-sign img{width:260px;height:260px}.codes{grid-template-columns:repeat(2,1fr);gap:4px;font-family:ui-monospace,Menlo,monospace;display:grid}@media (width<=520px){.row.wrap{flex-direction:column;gap:0}header.top .who{display:none}}@media print{header.top,nav.tabs,.no-print{display:none!important}body,main{background:#fff}}
