:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#111b17;--surface:#1a2a21;--raised:#203428;--field:#15231a;--column:#17251c;--line:#344e3c;--text:#e6f0e9;--muted:#93ad9c;--accent:#b5efcf;--accent-text:#193823;--hover:#294732;--red:#ff7288;--amber:#e6c486;--scrim:#051008bf;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
:root[data-theme=light]{color-scheme:light;--bg:#f0f5ef;--surface:#fff;--raised:#e6efe5;--field:#f5f8f3;--column:#e5ede3;--line:#d0ddcd;--text:#21372a;--muted:#687e6d;--accent:#275d3c;--accent-text:#fff;--hover:#e6f1e6;--red:#c63251;--amber:#93691d;--scrim:#1b352955}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:10px 15px;font-weight:550;transition:background .15s,border-color .15s;text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{background:var(--hover);border-color:var(--muted)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.primary:hover{background:var(--accent);filter:brightness(1.07);border-color:var(--accent)}.full{width:100%}.icon-button{width:44px;height:44px;padding:4px;font-size:22px}.text-button{border:0;background:transparent;color:var(--accent);padding:5px 0;font-size:12px}.danger{color:var(--red);background:transparent}.danger:hover{border-color:var(--red)}main{max-width:1600px;margin:auto;padding:42px 44px 24px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--muted);font-weight:650;margin:0 0 12px}h1{font-size:38px;letter-spacing:-.045em;line-height:1.15;margin:0;display:flex;align-items:center;gap:13px;font-weight:650}.title-dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.subtitle{font-size:13px;color:var(--muted);margin:12px 0 0}.header-actions{display:flex;gap:9px;align-items:center}.header-actions .primary{height:44px;display:flex;align-items:center;gap:8px}.header-actions .primary span{font-size:20px;line-height:1}.team-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.team-switch{display:flex;gap:12px}.team-button{display:flex;align-items:center;gap:14px;width:234px;text-align:left;padding:16px 18px;border-radius:14px;background:var(--column)}.team-button.active{border-color:var(--accent);background:var(--surface)}.team-button strong{display:block;font-size:14px;font-weight:600}.team-button small{color:var(--muted);font-size:10px;display:block;margin-top:3px}.team-symbol{width:35px;height:35px;border-radius:10px;background:var(--raised);color:var(--muted);display:grid;place-items:center;font-size:12px}.active .team-symbol{background:var(--accent);color:var(--accent-text)}.selected-dot{width:6px;height:6px;border-radius:50%;margin-left:auto;background:transparent}.active .selected-dot{background:var(--accent)}.team-caption{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.summary{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0;border:1px solid var(--line);border-radius:15px;background:var(--surface);margin-bottom:28px}.summary>div{padding:0 25px;display:flex;gap:12px;align-items:baseline}.summary>div+div{border-left:1px solid var(--line)}.summary strong{font-size:27px;font-weight:550;line-height:1;letter-spacing:-.04em;white-space:nowrap}.summary span{font-size:11px;color:var(--muted)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.week-nav{display:flex;gap:18px;align-items:center}.arrows{display:flex;gap:5px}.arrows button{width:35px;height:35px;padding:0;font-size:23px;line-height:1}.week-nav h2{font-size:20px;letter-spacing:-.025em;font-weight:550;margin:0}.week-nav>div>span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.calendar-actions{display:flex;gap:9px;align-items:center}.calendar-actions>button{font-size:12px}.date-jump{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:12px;cursor:pointer;background:var(--surface)}.date-jump>span:first-child{color:var(--muted);font-size:16px;line-height:1}.date-jump input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.date-jump input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;cursor:pointer}.schedule-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;color:var(--muted);font-size:10px}.schedule-meta>span:first-child{letter-spacing:.1em;font-weight:600}.schedule-meta>span:last-child{display:flex;align-items:center;gap:7px}.legend{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:12px}.measurement{background:var(--accent)}.installation{background:var(--amber)}.days,.week-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.days{margin-bottom:8px}.day-tab{display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:11px;padding:11px 13px;background:var(--column);color:var(--muted);font-weight:400}.day-tab>span{font-size:11px}.day-tab strong{font-size:20px;font-weight:500;color:var(--text)}.day-tab.today strong{color:var(--accent)}.day-tab.today{border-color:var(--line)}.day-tab.weekend{background:transparent}.day-column{min-height:400px;background:var(--column);border:1px solid transparent;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:9px}.day-column.is-today{border-color:var(--line)}.booking-card{display:block;width:100%;text-align:left;padding:12px 11px;border-radius:10px;background:var(--surface);font-weight:400;overflow-wrap:anywhere;position:relative}.booking-card:hover{background:var(--raised);border-color:var(--muted);transform:translateY(-1px)}.booking-card.kind-installation{border-top:2px solid var(--amber)}.booking-card.kind-measurement{border-top:2px solid var(--accent)}.booking-time{font-size:14px;font-weight:650;letter-spacing:-.025em;display:block;white-space:nowrap}.booking-kind{font-size:9px;color:var(--muted);display:block;margin-top:5px}.booking-address{font-size:12px;font-weight:550;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:13px 0}.booking-contact{border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:10px;display:block}.booking-contact small{display:block;margin-top:3px;font-size:9px}.overlap-tag{color:var(--red);font-size:9px;display:block;margin-top:7px}.empty-day{color:var(--muted);font-size:10px;text-align:center;margin:30px 0 12px;opacity:.75}.add-in-day{font-size:11px;border:1px dashed var(--line);border-radius:9px;padding:10px 3px;background:transparent;color:var(--muted);margin-top:3px;width:100%}.empty-day+ .add-in-day{margin-top:0}.day-footer{margin-top:auto;font-size:9px;color:var(--muted);padding:9px 3px 1px;min-height:28px}footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;padding-top:20px}.connection{padding:12px 16px;border:1px solid var(--amber);color:var(--amber);border-radius:10px;margin-bottom:20px;font-size:12px}dialog{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:0;border-radius:20px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:var(--scrim);backdrop-filter:blur(5px)}#editor{width:calc(100vw - 40px);max-width:1450px;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px)}#booking-form{height:100%;display:flex;flex-direction:column}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 28px;border-bottom:1px solid var(--line);flex-shrink:0}.dialog-top .eyebrow{font-size:9px;margin-bottom:5px}.dialog-top h2{font-size:22px;font-weight:550;letter-spacing:-.025em;margin:0}.close{border:0;background:transparent;padding:0;width:32px;height:32px;color:var(--muted);font-size:26px;font-weight:300}.editor-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(285px,3fr);overflow:auto;flex:1}.editor-main{padding:28px 32px;min-width:0}.field-label{display:block;font-size:11px;font-weight:550;color:var(--muted);margin:0 0 22px}input,select,textarea{width:100%;display:block;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--text);padding:12px 13px;min-height:44px;font-size:13px;font-weight:400;margin-top:8px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}textarea{resize:vertical;line-height:1.8;min-height:330px}#address{font-size:18px;padding:14px 16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 12px}h3{font-size:13px;font-weight:550;margin:0}.contact-row{display:grid;grid-template-columns:1fr 1fr 1fr 28px;gap:9px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:var(--field)}.contact-row label{font-size:10px;color:var(--muted);min-width:0}.contact-row input{margin-top:5px;background:var(--surface);padding:9px 10px;font-size:12px;min-height:39px}.remove-contact{padding:0;width:28px;height:39px;border:0;background:transparent;color:var(--muted);font-size:20px}.spec-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;font-size:13px;font-weight:550}.spec-heading>span{font-size:10px;color:var(--muted);font-weight:400}.field-help{font-size:10px;color:var(--muted);line-height:1.7;margin:10px 0}.editor-side{background:var(--field);border-left:1px solid var(--line);padding:28px 25px}.editor-side input,.editor-side select{background:var(--surface)}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duration-box{padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.duration-box>span{font-size:10px;color:var(--muted);display:block}.duration-box strong{display:block;font-weight:550;font-size:25px;margin-top:4px;letter-spacing:-.025em}.duration-box p{font-size:10px;color:var(--muted);line-height:1.7;margin:8px 0 0}.conflict-box{border:1px solid var(--amber);background:color-mix(in srgb,var(--amber) 5%,transparent);padding:13px;border-radius:10px;margin:0 0 18px;color:var(--amber);font-size:12px}.conflict-box strong{font-size:12px}.conflict-box p{margin:7px 0 0;font-size:11px;overflow-wrap:anywhere}.form-error{font-size:12px;color:var(--red);margin:0 0 15px}#delete-booking{margin-top:10px}.small-dialog{width:440px;max-width:calc(100vw - 32px)}.small-dialog .dialog-top{padding:20px 24px}.small-dialog h2{font-size:20px}.settings-body{padding:24px}.settings-body h3{margin-bottom:8px}.settings-body p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.settings-body .button{margin-bottom:28px;font-size:12px}.settings-body button+button{margin-top:10px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid var(--line);background:var(--accent);color:var(--accent-text);box-shadow:0 10px 40px #0004;border-radius:12px;z-index:100;font-size:13px}.no-entries{padding:10px}
@media(min-width:1450px){.day-column{min-height:460px}.booking-address{font-size:13px}.booking-time{font-size:16px}}
@media(max-width:1100px){main{padding:30px 24px}.team-caption{display:none}.summary>div{padding:0 18px;gap:9px}.summary span{font-size:10px}.booking-time{font-size:12px}.booking-card{padding:10px 8px}.day-column{padding:5px}.day-tab{padding:10px}.booking-address{font-size:11px}.editor-main{padding:24px}.contact-row{grid-template-columns:1fr 1fr 28px}.contact-row label:nth-child(3){grid-column:1/3}.remove-contact{grid-column:3;grid-row:1}.editor-side{padding:24px 20px}}
@media(max-width:760px){main{padding:28px 18px 24px;padding-top:max(28px,env(safe-area-inset-top))}header{align-items:flex-start;margin-bottom:27px;gap:12px}h1{font-size:30px}.eyebrow{font-size:8px;letter-spacing:.15em}.subtitle{font-size:11px;max-width:240px}.header-actions{flex-wrap:wrap;justify-content:flex-end;max-width:185px}.header-actions .primary{font-size:12px;height:40px;order:3}.icon-button{height:36px;width:36px;font-size:20px}.team-panel,.team-switch{width:100%}.team-switch{gap:10px}.team-button{width:50%;padding:13px 12px;gap:10px}.team-button small{font-size:9px}.team-button strong{font-size:13px}.team-symbol{height:30px;width:30px;font-size:11px}.summary{grid-template-columns:1fr 1fr;padding:0;margin-bottom:25px;overflow:hidden}.summary>div{padding:17px 18px;gap:12px}.summary>div+div{border:0}.summary>div:nth-child(even){border-left:1px solid var(--line)}.summary>div:nth-child(n+3){border-top:1px solid var(--line)}.summary strong{font-size:25px}.summary span{font-size:10px}.calendar-toolbar{align-items:flex-start;gap:12px}.week-nav{gap:10px;align-items:flex-start}.week-nav h2{font-size:16px}.week-nav>div>span{font-size:10px}.arrows{gap:3px}.arrows button{width:28px;height:32px;font-size:20px}.calendar-actions{gap:5px}.calendar-actions>button{font-size:10px;padding:9px 10px}.date-jump{padding:9px 10px}.date-label{display:none}.schedule-meta{font-size:9px}.days{gap:4px;margin-bottom:12px}.day-tab{display:flex;flex-direction:column;gap:4px;align-items:center;padding:9px 0;border-radius:9px}.day-tab>span{font-size:10px}.day-tab strong{font-size:19px}.day-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.day-tab.active strong{color:var(--accent-text)}.week-board{display:block}.day-column{display:none;min-height:310px;padding:12px;border:1px solid var(--line)}.day-column.active{display:flex}.booking-card{padding:16px 17px}.booking-time{font-size:18px}.booking-kind{font-size:10px}.booking-address{font-size:15px;margin:12px 0}.booking-contact{font-size:12px}.booking-contact small{font-size:10px}.add-in-day{font-size:12px;padding:13px}.empty-day{font-size:12px;margin-top:38px}.day-footer{font-size:10px}.schedule-meta>span:first-child{letter-spacing:.04em}footer{font-size:9px;line-height:1.8;flex-direction:column;gap:3px}.editor-layout{grid-template-columns:1fr;display:block}.editor-side{border-left:0;border-top:1px solid var(--line)}.editor-main{padding:22px 18px}.dialog-top{padding:16px 18px}.dialog-top h2{font-size:21px}#editor{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;margin:0}#address{font-size:16px}textarea{min-height:280px}.contact-row{grid-template-columns:1fr 28px;padding:12px}.contact-row label{grid-column:1}.contact-row label:nth-child(3){grid-column:1}.remove-contact{grid-column:2;grid-row:1}.section-title h3{font-size:12px}.section-title button{font-size:11px}.toast{bottom:max(20px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px);text-align:center}.editor-side .field-label{font-size:12px}.editor-side input,.editor-side select{font-size:16px}.spec-heading{font-size:12px}.spec-heading>span{font-size:9px}}
@media(max-width:420px){h1{font-size:27px}.header-actions{max-width:140px}.header-actions .primary{font-size:11px;padding:8px 10px}.subtitle{font-size:10px}.team-button small{font-size:8px}.team-button{gap:8px;padding:12px 10px}.week-nav h2{font-size:14px}.week-nav>div>span{font-size:9px}.calendar-toolbar{gap:8px}.calendar-actions>button{padding:8px}.date-jump{padding:8px}.legend{margin-left:6px}.summary>div{padding:16px 14px}.summary span{font-size:9px}}
