:root{font-family:system-ui;color-scheme:dark;--bg:#101720;--panel:#1c2938;--field:#293b4d;--fg:#edf4fb;--border:#43586c}html[data-theme=light]{color-scheme:light;--bg:#edf3f8;--panel:white;--field:#e8f0f6;--fg:#24394c;--border:#c9d8e5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}header{background:var(--panel);padding:16px}main{max-width:950px;margin:auto;padding:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:15px;margin:12px 0}h1{font-size:21px}h2{font-size:18px}.muted{opacity:.75;font-size:13px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tabs{display:flex;gap:8px}.tabs button{flex:1}button,select,input,textarea{background:var(--field);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:9px;font:inherit;font-size:14px;max-width:100%;-webkit-text-size-adjust:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button{cursor:pointer;font-size:14px!important;line-height:1.35;white-space:normal;overflow-wrap:anywhere}input,select,textarea{font-size:16px!important}.notice{padding:10px;border-radius:9px;background:var(--field);margin:8px 0}.warn{border-left:4px solid #e6a33d}.ok{border-left:4px solid #3ab58b}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.summary>div{padding:10px;background:var(--field);border-radius:9px;text-align:center}.summary strong{font-size:20px;display:block}.reason{font-size:12px;display:inline-block;border:1px solid var(--border);border-radius:7px;padding:3px 6px}.primary{background:#2876b8;color:white}.active{outline:2px solid #76b9f4}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day{height:57px;padding:4px 0;font-size:12px}.day b{display:block;font-size:17px}.closed{opacity:.4}.hidden{display:none}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide,textarea{width:100%}.staff{border:1px solid var(--border);border-radius:9px;padding:10px;margin:9px 0}.pill{background:var(--field);padding:5px;border-radius:7px;font-size:12px}textarea{min-height:75px}label{font-size:13px}table{width:100%;font-size:13px}td,th{padding:6px;text-align:left;border-bottom:1px solid var(--border)}@media(max-width:500px){.card{padding:10px}button,select{padding:7px}.day{height:50px}}
[hidden]{display:none!important} .calendar-row{display:grid;grid-template-columns:70px 70px 1fr 1fr;gap:8px;align-items:center;margin:6px 0} .toolbar{display:flex;gap:8px;flex-wrap:wrap} .error{border-left:4px solid #e6a33d} .table-scroll{overflow:auto} table input,table select{min-width:90px}