:root{color-scheme:dark;--bg:#101820;--panel:#1b2731;--line:#3f515f;--text:#eff4f6;--muted:#b7c6d1;--amber:#ffc33e;--cyan:#65d6e9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#1c3543,transparent 55%),var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}a{color:var(--cyan)}button,input,select,textarea{font:inherit}button{padding:10px 15px;border:1px solid #657987;border-radius:7px;background:#263945;color:#eff4f6;cursor:pointer}button:hover{background:#385361}button:disabled{opacity:.45;cursor:default}.primary{background:var(--amber);border-color:#ffdb85;color:#111b21;font-weight:750}.primary:hover{background:#ffe096}input,select,textarea{display:block;width:100%;padding:10px 12px;border:1px solid #657987;border-radius:6px;background:#101c26;color:var(--text);margin:5px 0 15px}input[type=checkbox]{width:auto;margin:0}label{display:block;font-size:13px;font-weight:650}fieldset{border:1px solid var(--line);border-radius:7px;margin:0 0 20px}h1{font-size:30px;letter-spacing:-.7px;margin:0}h2{font-size:24px;margin:0 0 15px;line-height:1.25}p{margin:8px 0 15px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--cyan);font-weight:800;margin:0 0 8px}.muted{color:var(--muted);font-size:13px}[hidden]{display:none!important}.staff-header{display:flex;align-items:center;gap:26px;padding:22px max(4%,calc((100vw - 1350px)/2));border-bottom:1px solid var(--line);background:#080f15}.staff-header img{width:170px;display:block;border-radius:7px}.back-link{margin-left:auto;font-size:13px}main{max-width:1350px;margin:28px auto;padding:0 24px}.auth-panel{max-width:450px;margin:50px auto;padding:32px;background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:14px}.panel{background:linear-gradient(130deg,#23323e,#17232d);padding:24px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.narrow{max-width:500px}.portal-top,.section-heading,.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;margin:24px 0}.tabs .active{border-color:var(--cyan);background:#124254}.calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calendar-controls input,.calendar-controls select{width:auto;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow-x:auto;align-items:start;padding-bottom:14px}.calendar-grid.day-view{grid-template-columns:1fr}.calendar-day{min-height:260px;background:#15232d;border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-day.today{border-color:var(--cyan)}.day-heading{padding:14px;border-bottom:1px solid var(--line);background:#243743;display:flex;justify-content:space-between;gap:8px}.day-heading strong{font-size:13px}.day-heading button{padding:0 7px}.day-body{padding:10px}.empty-day{color:#a4b7c4;font-size:12px;padding:14px 4px}.booking{display:block;width:100%;text-align:left;padding:12px 10px;margin-bottom:9px;background:#263745;border-left:4px solid #ffc33e;word-break:break-word}.booking strong,.booking small{display:block}.booking small{color:#c7d5de;margin-top:4px;font-size:11px}.booking.confirmed{border-left-color:#62d5e9}.booking.arrived,.booking.loading{border-left-color:#d19ef5}.booking.completed{border-left-color:#98c684;opacity:.8}.booking.cancelled{border-left-color:#8b9ba7;opacity:.55}.legend{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin:18px 0;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%;background:#ffc33e;display:inline-block}.dot.confirmed{background:#62d5e9}.dot.loading{background:#d19ef5}.dot.completed{background:#98c684}.dot.cancelled{background:#8b9ba7}.notice{padding:14px 18px;border:1px solid #a38135;background:#372c18;color:#ffe3a4;border-radius:8px;margin-bottom:18px}.table-scroll{overflow-x:auto;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{background:#243743;color:var(--amber)}.form-row,.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.day-checks{display:flex;gap:14px;flex-wrap:wrap;padding:10px 0}.check,.day-checks label{display:flex;align-items:center;gap:7px}.check{margin-bottom:18px}.user-row,.audit-row{padding:12px 0;border-top:1px solid var(--line);font-size:13px}.user-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.user-row button{font-size:12px;padding:5px 10px}dialog{width:min(620px,94vw);max-height:94vh;background:#1a2834;color:var(--text);border:1px solid #7a919f;border-radius:14px;padding:25px;overflow:auto;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#000b}.dialog-top,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top{margin-bottom:20px}.dialog-actions{margin-top:20px}.slot-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px;max-height:110px;overflow-y:auto}.slot-list button{padding:6px 9px;font-size:12px}.slot-list button.selected{border-color:var(--amber);color:var(--amber)}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;max-width:1300px;padding:24px;margin:auto;color:var(--muted);border-top:1px solid var(--line);font-size:13px}.designer-credit{display:flex;align-items:center;gap:12px}.designer-credit strong{color:var(--amber)}.fuggin-picture{width:70px;height:100px;background:#fff url('fuggin-artwork.png') -35px -27px/512px auto no-repeat;border-radius:10px;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}@media(max-width:950px){.calendar-toolbar{flex-wrap:wrap}.calendar-grid{grid-template-columns:repeat(7,180px)}.admin-grid{grid-template-columns:1fr}.staff-header{gap:15px}.staff-header img{width:130px}h1{font-size:24px}}@media(max-width:600px){.staff-header{flex-wrap:wrap}.back-link{margin-left:0}.staff-header img{width:110px}.staff-header h1{font-size:21px}main{padding:0 15px}.form-row{grid-template-columns:1fr;gap:0}.calendar-controls input{max-width:145px}footer{flex-wrap:wrap}.portal-top{align-items:start}.auth-panel{margin-top:25px;padding:22px}}@media print{.staff-header,.tabs,.calendar-controls,#new-appointment,footer,.portal-top button{display:none}.calendar-grid{overflow:visible;grid-template-columns:repeat(7,1fr)}body{background:white;color:black}.calendar-day,.booking,.day-heading{background:white;color:black}.booking small{color:black}}
