.appointments-workspace{height:calc(100vh - 72px);padding:10px 14px;overflow:hidden}.journal-shell{display:grid;grid-template-columns:292px minmax(0,1fr);gap:10px;height:100%;min-height:0}.journal-sidebar,.timeline-panel{min-height:0;border:1px solid #dfe5e5;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(33,47,51,.08)}.journal-sidebar{padding:11px;overflow:auto}.timeline-panel{display:flex;flex-direction:column;overflow:hidden}.sidebar-title,.timeline-toolbar,.date-switcher{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-title h1,.sidebar-title h2{margin:1px 0}.sidebar-title>a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2f2;color:#1d2a2d;text-decoration:none;font-size:1.1rem}.incoming-client{margin-bottom:9px;padding:9px 11px;border-radius:11px;background:#dff3ea;border-left:4px solid #247a5d}.incoming-client span,.incoming-client b,.incoming-client small{display:block}.incoming-client span{color:#247a5d;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.incoming-client small{margin-top:3px;color:#55706a;font-size:.58rem}.slot-editor{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e1e7e7}.compact-booking-form{margin-top:8px}.compact-booking-form .form-pair{grid-template-columns:1fr 1fr}.mini-calendar{padding:9px;border-radius:13px;background:#f5f7f6}.mini-calendar-head{display:flex;align-items:center;justify-content:space-between}.mini-calendar-head h2{margin:0;font-size:.85rem}.mini-calendar-head a{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#fff;color:#223033;text-decoration:none}.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-weekdays{margin:8px 0 4px}.mini-weekdays span{text-align:center;color:#7b898b;font-size:.5rem;font-weight:800}.mini-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px solid transparent;border-radius:8px;color:#243235;text-decoration:none;font-size:.62rem;background:#fff}.mini-day i{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;min-width:12px;height:12px;border-radius:6px;background:rgba(255,255,255,.8);font-size:.42rem;font-style:normal}.mini-day.outside{opacity:.32}.mini-day.load-1{background:#d9eee7}.mini-day.load-2{background:#f6d89f}.mini-day.load-3{background:#ee9d8d;color:#611f18}.mini-day.selected{border-color:#18272b;box-shadow:inset 0 0 0 1px #18272b}.mini-day.today b{text-decoration:underline;text-decoration-thickness:2px}.load-legend{display:flex;justify-content:space-between;gap:4px;margin-top:7px;color:#718082;font-size:.45rem}.load-legend span{display:flex;align-items:center;gap:3px}.load-legend i{width:7px;height:7px;border-radius:50%;background:#fff}.load-legend i.busy{background:#f6d89f}.load-legend i.full{background:#ee9d8d}.day-request-list{margin-top:10px}.empty-day{padding:13px;border:1px dashed #cbd5d6;border-radius:10px;color:#718082;font-size:.62rem;text-align:center}.request-card{display:grid;grid-template-columns:52px 1fr;gap:7px;margin-top:6px;padding:8px;border-radius:10px;border-left:5px solid var(--dept-color);background:var(--dept-soft)}.request-card time{font-size:.6rem;font-weight:900}.request-card b,.request-card span,.request-card small{display:block}.request-card b{font-size:.65rem}.request-card span{margin-top:2px;font-size:.55rem}.request-card small{margin-top:3px;color:#657476;font-size:.51rem}.timeline-toolbar{padding:9px 12px;border-bottom:1px solid #e1e7e7}.date-switcher{justify-content:flex-start}.date-switcher>a{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid #d8dfdf;border-radius:9px;color:#223033;text-decoration:none}.date-switcher div span{color:#d64b34;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.date-switcher h1{margin:0;font-size:1.05rem}.date-switcher .today-link{font-size:.58rem;font-weight:800}.day-capacity{display:flex;align-items:center;gap:10px}.day-capacity span{padding:6px 8px;border-radius:9px;background:#f0f4f4;font-size:.57rem}.day-capacity small{color:#718082;font-size:.5rem}.department-legend{display:flex;gap:6px;padding:6px 12px;overflow-x:auto;border-bottom:1px solid #e3e8e8}.department-legend span{flex:0 0 auto;padding:4px 8px;border-radius:8px;background:var(--dept-soft);border-left:4px solid var(--dept-color);font-size:.52rem;font-weight:800}.timeline-scroller{min-height:0;overflow:auto}.timeline-grid{display:grid;min-width:860px;isolation:isolate}.timeline-grid.bays-1{grid-template-columns:62px minmax(180px,1fr)}.timeline-grid.bays-2{grid-template-columns:62px repeat(2,minmax(180px,1fr))}.timeline-grid.bays-3{grid-template-columns:62px repeat(3,minmax(165px,1fr))}.timeline-grid.bays-4{grid-template-columns:62px repeat(4,minmax(150px,1fr))}.timeline-grid.bays-5{grid-template-columns:62px repeat(5,minmax(140px,1fr))}.timeline-grid.bays-6{grid-template-columns:62px repeat(6,minmax(132px,1fr))}.timeline-grid.bays-7{grid-template-columns:62px repeat(7,minmax(126px,1fr))}.timeline-grid.bays-8{grid-template-columns:62px repeat(8,minmax(122px,1fr))}.timeline-corner,.bay-header{position:sticky;top:0;z-index:var(--layer-calendar-header);min-height:48px;padding:7px;border-right:1px solid #dbe2e2;border-bottom:2px solid #bec9ca;background:#f2f5f5}.timeline-corner{left:0;z-index:var(--layer-calendar-corner)}.timeline-corner b,.timeline-corner small,.bay-header b,.bay-header small{display:block}.timeline-corner b,.bay-header b{font-size:.62rem}.timeline-corner small,.bay-header small{margin-top:3px;color:#718082;font-size:.47rem}.bay-header{border-top:5px solid var(--dept-color);text-align:center}.time-mark{position:sticky;left:0;z-index:var(--layer-calendar-axis);display:flex;align-items:flex-start;justify-content:center;min-height:34px;padding-top:3px;border-right:1px solid #cfd8d9;border-bottom:1px solid #edf0f0;background:#f7f9f9;color:#718082}.time-mark.whole-hour{border-bottom-color:#d5dddd}.time-mark b{font-size:.57rem}.time-mark small{font-size:.46rem}.timeline-slot{position:relative;display:block;min-height:34px;border-right:1px solid #e2e7e7;border-bottom:1px dashed #e4e9e9;background:#fff;text-decoration:none}.timeline-slot.whole-hour{border-bottom-style:solid;border-bottom-color:#d8dfdf}.free-slot span{position:absolute;inset:5px;display:grid;place-items:center;border-radius:7px;color:#c5cecf;font-weight:900;opacity:0}.free-slot:hover{background:#fff7f3}.free-slot:hover span{opacity:1;background:#fde6de;color:#d64b34}.occupied{z-index:var(--layer-calendar-control);background:var(--dept-soft)}.occupied-covered{z-index:var(--layer-calendar-covered);background:var(--dept-soft);border-bottom-color:var(--dept-soft);pointer-events:none}.appointment-block{position:absolute;top:2px;right:3px;left:3px;z-index:var(--layer-calendar-card);overflow:hidden;padding:5px 6px;border-radius:8px;border-left:5px solid var(--dept-color);background:var(--dept-soft);box-shadow:0 4px 12px rgba(27,43,47,.12);color:#1c2c30}.appointment-block time,.appointment-block b,.appointment-block span,.appointment-block small{display:block}.appointment-block time{font-size:.48rem;font-weight:900}.appointment-block b{margin-top:2px;font-size:.58rem}.appointment-block span{margin-top:2px;font-size:.49rem}.appointment-block small{margin-top:2px;color:#52686b;font-size:.45rem}.duration-30{height:30px}.duration-60{height:64px}.duration-90{height:98px}.duration-120{height:132px}.duration-150{height:166px}.duration-180{height:200px}.duration-210{height:234px}.duration-240{height:268px}.dept-wash{--dept-color:#167a63;--dept-soft:#dff2eb}.dept-tire{--dept-color:#d38a16;--dept-soft:#faebca}.dept-mechanical{--dept-color:#3267c8;--dept-soft:#e1eafa}.dept-electrical{--dept-color:#b24c74;--dept-soft:#f5e0e8}.dept-detailing{--dept-color:#7350b5;--dept-soft:#eae3f7}@media(max-width:900px){.appointments-workspace{height:calc(100vh - 62px);padding:7px}.journal-shell{grid-template-columns:250px minmax(0,1fr)}.day-capacity small{display:none}.timeline-grid{min-width:820px}}@media(max-width:680px){.journal-shell{grid-template-columns:1fr}.journal-sidebar{max-height:40vh}.timeline-panel{min-height:52vh}.appointments-workspace{overflow:auto}.timeline-toolbar{position:sticky;left:0}.department-legend{display:none}}
