.schedule-app{color:var(--lab-ink);max-width:1600px;margin:0 auto;font-size:14px;line-height:1.5}.schedule-app h1,.schedule-app .schedule-title{letter-spacing:-.035em;margin:4px 0 8px;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.2}.schedule-app h2{letter-spacing:-.015em;font-size:18px;font-weight:600}.schedule-app h3{font-size:15px;font-weight:600}.schedule-app button,.schedule-app input,.schedule-app select,.schedule-app textarea,.schedule-primary{border:1px solid var(--lab-rule);background:var(--lab-surface);min-height:40px;font:inherit;border-radius:8px;padding:8px 12px}.schedule-app button{cursor:pointer;font-weight:500;transition:background .12s}.schedule-app button:hover{background:var(--cs-blue-wash)}.schedule-app :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--cs-blue);outline-offset:3px}.schedule-app button:disabled{opacity:.55;cursor:not-allowed}.schedule-app .schedule-primary,.schedule-primary{background:var(--cs-blue);color:#fff;border-color:var(--cs-blue);white-space:nowrap;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.schedule-app .schedule-primary:hover,.schedule-primary:hover{background:var(--cs-blue-deep)}.schedule-heading,.schedule-section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.schedule-heading{margin-bottom:24px}.schedule-eyebrow{color:var(--cs-blue);font-size:12px;font-weight:600}.schedule-subtitle,.schedule-timezone{color:var(--lab-text-mid);font-size:13px}.schedule-tabs{border-bottom:1px solid var(--lab-rule);gap:24px;margin-bottom:20px;display:flex;overflow-x:auto}.schedule-tabs button{white-space:nowrap;color:var(--lab-text-mid);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:12px 0}.schedule-tabs button[aria-current]{border-bottom-color:var(--cs-blue);color:var(--cs-blue)}.schedule-toolbar,.schedule-dates,.schedule-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-toolbar{gap:12px;margin-bottom:20px}.schedule-timezone{margin-left:auto}.schedule-filter select{max-width:250px}.schedule-view{gap:4px;display:flex}.schedule-view button[aria-pressed=true]{background:var(--cs-blue-wash);color:var(--cs-blue);border-color:var(--cs-blue)}.schedule-app .schedule-single-day{display:block}.schedule-single-day .schedule-day-events{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-content:start;gap:12px;display:grid}.schedule-single-day .schedule-day{min-height:280px}.schedule-summary{color:var(--lab-text-mid);flex-wrap:wrap;gap:24px;padding:0 0 18px;display:flex}.schedule-summary strong{color:var(--lab-ink);font-variant-numeric:tabular-nums;margin-right:4px}.schedule-week{border:1px solid var(--lab-rule);background:#fff;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.schedule-day{border-right:1px solid var(--lab-rule-2);flex-direction:column;min-width:0;min-height:380px;display:flex}.schedule-day:last-child{border-right:0}.schedule-day h2{border-bottom:1px solid var(--lab-rule-2);background:#fafaf8;align-items:baseline;gap:6px;padding:16px 12px;display:flex}.schedule-day h2 span{color:var(--lab-text-mid);font-size:11px;font-weight:500}.schedule-day h2 b{letter-spacing:-.04em;font-size:24px;font-weight:600}.schedule-day.today h2{background:var(--cs-blue-wash);color:var(--cs-blue)}.schedule-day-events{flex:1;padding:8px}.schedule-app .schedule-event{text-align:left;border:0;border-left:3px solid var(--cs-blue);background:var(--cs-blue-wash);overflow-wrap:anywhere;border-radius:4px 8px 8px 4px;flex-direction:column;gap:4px;width:100%;min-height:100px;margin-bottom:8px;padding:10px;display:flex}.schedule-event-time{font-variant-numeric:tabular-nums;font-size:11px}.schedule-event strong{font-size:13px;line-height:1.35}.schedule-event span:not(.schedule-event-time),.schedule-event small{font-size:11px}.schedule-app .schedule-event.status-pending{border-color:var(--lab-warn);background:#fffbeb}.schedule-app .schedule-event.status-active,.schedule-app .schedule-event.status-completed{border-color:var(--lab-ok);background:#ecfdf5}.schedule-app .schedule-event.maintenance{background:var(--lab-paper-2);border-color:var(--lab-text-mid)}.schedule-app .schedule-event:hover{filter:brightness(.97)}.schedule-app .schedule-add{color:var(--cs-blue);background:0 0;border:0;margin:4px;font-size:12px}.schedule-free{text-align:center;color:var(--lab-text-mid);padding:16px 0;font-size:12px}.schedule-legend{color:var(--cs-blue);flex-wrap:wrap;gap:20px;padding-top:16px;font-size:12px;display:flex}.schedule-legend .pending{color:var(--lab-warn)}.schedule-legend .active{color:var(--lab-ok)}.schedule-legend .maintenance{color:var(--lab-text-mid)}.schedule-panel{background:var(--lab-surface);border:1px solid var(--lab-rule);border-radius:12px;padding:24px}.schedule-panel h2+p{margin:6px 0 20px}.schedule-empty{text-align:center;border:1px dashed var(--lab-rule);background:#fff;border-radius:12px;padding:60px 24px}.schedule-empty h3{font-size:20px}.schedule-empty p{color:var(--lab-text-mid);max-width:430px;margin:8px auto 20px}.schedule-table-wrap{margin-top:20px;position:relative;overflow-x:auto}.schedule-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.schedule-table th{color:var(--lab-text-mid);background:var(--lab-paper);white-space:nowrap;padding:12px;font-size:12px;font-weight:600}.schedule-table td{border-bottom:1px solid var(--lab-rule-2);min-width:130px;padding:16px 12px}.schedule-table small,.schedule-details small{color:var(--lab-text-mid);margin-top:4px;font-size:12px;display:block}.schedule-app .schedule-text-button{min-height:28px;color:var(--cs-blue);text-align:left;background:0 0;border:0;padding:0}.schedule-status{background:var(--cs-blue-wash);color:var(--cs-blue);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:12px;display:inline-block}.schedule-status.status-pending{background:var(--lab-warn-wash);color:var(--lab-warn)}.schedule-status.status-active,.schedule-status.status-completed{background:var(--lab-ok-wash);color:var(--lab-ok)}.schedule-status.status-cancelled{background:var(--lab-paper-2);color:var(--lab-text-mid)}.schedule-error,.schedule-notice{border-radius:8px;margin-bottom:16px;padding:12px 16px}.schedule-error{background:var(--lab-crit-wash);color:var(--lab-crit)}.schedule-notice{background:var(--lab-ok-wash);color:var(--lab-ok)}.schedule-loading{text-align:center;color:var(--lab-text-mid);padding:60px 20px}.schedule-management{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.schedule-equipment-row{border-bottom:1px solid var(--lab-rule-2);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.schedule-equipment-row p{color:var(--lab-text-mid);margin-top:4px;font-size:12px}.schedule-equipment-row button{flex-shrink:0}.schedule-member-list>div{border-bottom:1px solid var(--lab-rule-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.schedule-member-list small{color:var(--lab-text-mid);font-size:12px;display:block}.schedule-dialog{border:1px solid var(--lab-rule);background:#fff;border-radius:16px;width:min(620px,100vw - 32px);max-height:calc(100dvh - 48px);margin:auto;padding:24px;position:fixed;inset:0;box-shadow:0 24px 80px #0f172a40}.schedule-dialog::backdrop{background:#0f172a80}.schedule-dialog>.schedule-section-heading{margin-bottom:20px}.schedule-form{gap:16px;display:grid}.schedule-form label{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:500;display:flex}.schedule-form :is(input,select,textarea){width:100%;min-width:0;font-weight:400}.schedule-form textarea{resize:vertical}.schedule-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.schedule-form .schedule-checkbox{flex-direction:row;align-items:center;gap:10px}.schedule-checkbox input{width:18px;height:18px;min-height:auto;accent-color:var(--cs-blue)}.schedule-scope{border:0;gap:8px;margin:0;padding:0;display:grid}.schedule-scope legend{margin-bottom:6px;font-size:13px;font-weight:500}.schedule-repeat-preview{margin-top:-8px}.schedule-plan-note a,.schedule-form .schedule-subtitle a{color:var(--cs-blue);font-weight:600}.schedule-app input[readonly]{background:var(--lab-paper);color:var(--lab-text-mid)}.schedule-estimate{border:1px solid var(--lab-rule);background:var(--lab-paper);border-radius:8px;padding:16px}.schedule-estimate>div{justify-content:space-between;align-items:baseline;display:flex}.schedule-estimate strong{font-variant-numeric:tabular-nums;font-size:24px}.schedule-estimate p{color:var(--lab-text-mid);margin-top:6px;font-size:12px}.schedule-details dl{grid-template-columns:150px minmax(0,1fr);gap:12px;margin:20px 0;display:grid}.schedule-details dt{color:var(--lab-text-mid)}.schedule-details dd{overflow-wrap:anywhere}.schedule-details>.schedule-subtitle{margin-top:12px}.schedule-access{border-top:1px solid var(--lab-rule);margin:20px 0;padding-top:20px}.schedule-access>p{color:var(--lab-text-mid);font-size:12px}.schedule-report-totals{grid-template-columns:repeat(3,1fr);gap:20px;padding:28px 0;display:grid}.schedule-report-totals>div{border:1px solid var(--lab-rule);background:var(--lab-paper);border-radius:8px;padding:16px 20px}.schedule-report-totals span{color:var(--lab-text-mid);font-size:12px;display:block}.schedule-report-totals strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:28px;font-weight:600;display:block}.schedule-account-totals{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.schedule-account-totals>div{border:1px solid var(--lab-rule);border-radius:8px;gap:20px;padding:10px 14px;display:flex}@media (max-width:1200px){.schedule-week{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.schedule-management{grid-template-columns:1fr}}@media (max-width:640px){.schedule-heading,.schedule-section-heading{flex-direction:column;align-items:flex-start;gap:12px}.schedule-dialog>.schedule-section-heading{flex-direction:row;align-items:center}.schedule-tabs{gap:20px}.schedule-toolbar{gap:8px}.schedule-timezone{order:3;width:100%;margin-left:0;font-size:12px}.schedule-dates{width:100%}.schedule-filter{flex:160px}.schedule-filter select{width:100%;max-width:none}.schedule-summary{gap:8px 20px;font-size:12px}.schedule-week{display:block;overflow:visible}.schedule-day{border:0;border-bottom:1px solid var(--lab-rule);min-height:0}.schedule-day h2{padding:8px 16px}.schedule-day-events{padding:8px 12px 0}.schedule-app .schedule-event{min-height:0;padding:12px}.schedule-event strong{font-size:14px}.schedule-panel{padding:16px}.schedule-report-totals{grid-template-columns:1fr;gap:8px;padding:20px 0}.schedule-report-totals>div{justify-content:space-between;align-items:center;display:flex}.schedule-report-totals strong{margin:0;font-size:24px}.schedule-dialog{padding:20px}.schedule-form-grid{grid-template-columns:1fr;gap:12px}.schedule-details dl{grid-template-columns:105px minmax(0,1fr);gap:10px;font-size:13px}}@media (prefers-reduced-motion:reduce){.schedule-app button{transition:none}}.schedule-estimate .schedule-budget-over{color:var(--lab-warn);font-weight:500}.configure-options{border:0;gap:12px;margin:0;padding:0;display:grid}.configure-option{border:1px solid var(--lab-rule);background:var(--lab-paper);border-radius:10px;gap:12px;padding:12px;display:grid}.configure-option>button{justify-self:start}.configure-rates{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.configure-rules{border:1px solid var(--lab-rule);border-radius:10px;padding:12px 16px}.configure-rules summary{cursor:pointer;padding:4px 0;font-size:13px;font-weight:500}.configure-rules[open] summary{margin-bottom:12px}.configure-rules .schedule-subtitle{margin-top:12px}.schedule-timeline{border:1px solid var(--lab-rule);background:var(--lab-surface);border-radius:12px;overflow-x:auto}.timeline-grid{min-width:960px}.timeline-head,.timeline-row{grid-template-columns:180px 1fr;display:grid}.timeline-head{border-bottom:1px solid var(--lab-rule)}.timeline-hours{height:32px;position:relative}.timeline-hours span{color:var(--lab-text-mid);white-space:nowrap;font-size:12px;position:absolute;top:8px;transform:translate(-50%)}.timeline-hours span:first-child{padding-left:4px;transform:none}.timeline-row+.timeline-row{border-top:1px solid var(--lab-rule)}.timeline-name{z-index:2;background:var(--lab-surface);border-right:1px solid var(--lab-rule);overflow-wrap:anywhere;padding:12px;font-size:14px;font-weight:600;position:sticky;left:0}.timeline-track{background-image:repeating-linear-gradient(to right, var(--lab-rule-2) 0 1px, transparent 1px 4.1667%);min-height:60px;position:relative}.timeline-track.bookable{cursor:copy}.schedule-app .schedule-timeline .timeline-bar{box-sizing:border-box;border:0;border-left:3px solid var(--cs-blue);background:var(--cs-blue-wash);min-height:44px;color:var(--cs-blue-deep);font-weight:600;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:6px;padding:0 6px;font-size:12px;position:absolute;top:8px;bottom:8px;overflow:hidden}.schedule-app .schedule-timeline .timeline-bar.status-pending{background:var(--lab-warn-wash);color:var(--lab-warn);border-left-color:var(--lab-warn)}.schedule-app .schedule-timeline .timeline-bar.status-active,.schedule-app .schedule-timeline .timeline-bar.status-completed{background:var(--lab-ok-wash);color:var(--lab-ok);border-left-color:var(--lab-ok)}.schedule-app .schedule-timeline .timeline-bar.maintenance{background:var(--lab-paper-2);color:var(--lab-text-mid);border-left-color:var(--lab-text-mid)}.timeline-now{background:var(--lab-crit);pointer-events:none;z-index:1;width:2px;position:absolute;top:0;bottom:0}.schedule-app .schedule-timeline .timeline-bar:hover{filter:brightness(.96)}@media (max-width:640px){.timeline-head,.timeline-row{grid-template-columns:112px 1fr}.timeline-name{padding:10px 8px;font-size:13px}.timeline-grid{min-width:840px}}.training-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.training-list>li{border:1px solid var(--lab-rule);background:var(--lab-surface);border-radius:10px;padding:12px}.training-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.training-head>div:first-child{gap:2px;min-width:0;display:grid}.training-head span,.training-head small,.training-people{color:var(--lab-text-mid);font-size:13px}.training-state{color:var(--lab-text-mid);font-weight:600}.training-people{margin:8px 0 0}.training-add{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.training-add select{min-width:200px}.training-attendance{border:0;gap:6px;margin:0;padding:0;display:grid}.training-attendance legend{margin-bottom:6px;font-weight:600}
