:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-bg: #f5f0e8;--color-text: #213547;--color-text-muted: #555;--color-heading: #111;--color-border: #e5e7eb;--color-surface-hover: #f0f0f0;--color-btn-border: #ddd;--color-btn-text: #333;--color-accent: #4f46e5;--color-btn-active: #6b5e54;--color-app-bar: #4a3f36;--accent-free: oklch(65% .09 140);--accent-cons: oklch(65% .09 60);--accent-qual: oklch(65% .09 280);--accent-wknd: oklch(65% .09 20);--color-app-bar-text: #f5f0e8;--fc-border-color: var(--color-border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(0, 0, 0, .03);--fc-today-bg-color: rgba(79, 70, 229, .06);color:var(--color-text);background-color:var(--color-bg);color-scheme:light;transition:background-color .3s ease,color .3s ease}[data-theme=dark]{--color-bg: #000000;--color-text: #d4d4d8;--color-text-muted: #9ca3af;--color-heading: #f0f0f0;--color-border: #2a2d35;--color-surface-hover: #1e2028;--color-btn-border: #3a3d45;--color-btn-text: #c8c8cf;--color-accent: #6366f1;--color-btn-active: #4a4a4a;--color-app-bar: #1a1a1a;--color-app-bar-text: #e0e0e0;--fc-border-color: var(--color-border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .03);--fc-today-bg-color: rgba(99, 102, 241, .1);color-scheme:dark}body{margin:0;min-width:320px;min-height:100vh;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:24px 24px}[data-theme=dark] body{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px}#root{height:100%}*{scrollbar-width:thin;scrollbar-color:#6b5e54 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#6b5e54;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#4a3f36}[data-theme=dark] *{scrollbar-color:#4a4a4a transparent}[data-theme=dark] *::-webkit-scrollbar-thumb{background:#4a4a4a}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:#666}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input:focus,select:focus,textarea:focus,button:focus{outline:none}.calendar-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}.calendar-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.calendar-nav{display:flex;gap:.25rem;padding-top:.25rem}.calendar-nav button{background:none;border:1px solid var(--color-btn-border);border-radius:6px;padding:.3rem .7rem;cursor:pointer;font-size:1rem;color:var(--color-btn-text)}.calendar-nav button:hover{background:var(--color-surface-hover)}.calendar-title-group{display:flex;flex-direction:column;align-items:center;flex:1}.calendar-view-switcher{display:flex;gap:0;margin-top:.4rem;border:1px solid var(--color-btn-border);border-radius:6px;overflow:hidden}.calendar-view-switcher button{background:none;border:none;border-right:1px solid var(--color-btn-border);padding:.3rem 1rem;cursor:pointer;font-size:.85rem;color:var(--color-text-muted)}.calendar-view-switcher button:last-child{border-right:none}.calendar-view-switcher button:hover{background:var(--color-surface-hover)}.calendar-view-switcher button.active{background:var(--color-btn-active);color:#fff}.calendar-body{flex:1;min-height:0;overflow:hidden}.calendar-body>div{height:100%}.calendar-body .fc-daygrid-day-frame{display:flex;flex-direction:column;height:100%}.calendar-body .fc-daygrid-day-frame .fc-daygrid-day-events{top:0;bottom:0;display:flex;flex-direction:row;align-items:flex-start;margin:0;overflow:hidden;padding-top:26px;box-sizing:border-box}.calendar-body .fc-daygrid-event-harness{flex:1;display:flex;min-width:0}.calendar-body .fc-daygrid-event{flex:1;display:flex;align-items:center;justify-content:center;margin:2px;border-radius:6px;overflow:hidden}.event-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;overflow:hidden;font-size:.8em;line-height:1.2;padding:2px;box-sizing:border-box}.event-name,.event-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.event-name{font-weight:600}.event-time{font-size:.9em;opacity:.9}.event-condensed .event-name,.event-condensed .event-time{display:none}.event-condensed,.result-event{cursor:pointer}.result-event .event-name{font-weight:700}.result-demand-undercovered{border-color:#c44444d9!important;background:#c44444e6!important;box-shadow:0 0 0 1px #c4444447;color:#fff!important}.result-demand-undercovered .event-name,.result-demand-undercovered .event-time{color:#fff}.result-demand-undercovered .event-time{opacity:.96}.calendar-body .fc-daygrid-day-bottom,.calendar-body .fc-timegrid .fc-daygrid-body{display:none}.calendar-body .fc-timegrid .fc-scrollgrid-section-header .fc-scroller{overflow:hidden!important}.fc-event.event-selected{outline:2px solid var(--color-btn-active);outline-offset:1px;box-shadow:0 0 0 4px #6b5e5433;z-index:10}[data-theme=dark] .fc-event.event-selected{outline-color:#888;box-shadow:0 0 0 4px #8883}.fc-event.event-preassignment{border-width:2px;border-style:solid;filter:saturate(1.2);box-shadow:inset 0 0 0 1px #ffffff4d}.fc-event.event-preassignment .fc-event-title:before{content:"● ";font-size:.9em}.fc-event.event-preassignment .fc-event-main{font-weight:600}.calendar-body .fc-bg-event.preference-bg-event{opacity:.78}.calendar-body .fc-bg-event.staffing-bg-event{opacity:.9}[data-theme=dark] .calendar-body .fc-bg-event.preference-bg-event,[data-theme=dark] .calendar-body .fc-bg-event.staffing-bg-event{opacity:.72}.calendar-nav-btn{background:none;border:1px solid var(--color-btn-border);border-radius:6px;padding:.3rem .7rem;cursor:pointer;font-size:1rem;color:var(--color-btn-text)}.calendar-nav-btn:hover{background:var(--color-surface-hover)}.calendar-nav-btn.glass{position:relative;overflow:hidden;border:.5px solid rgba(255,255,255,.08);background:#1e20280d;backdrop-filter:blur(4px) saturate(140%) brightness(.9);-webkit-backdrop-filter:blur(4px) saturate(140%) brightness(.9)}.calendar-nav-btn.glass:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 25%,transparent 60%),linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 50%)}.calendar-nav-btn.glass:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff1a,inset 1px 0 #ffffff0d}.calendar-nav-btn.glass:hover{background:var(--color-surface-hover)}.calendar-title{margin:0;font-size:1.4rem;font-weight:600;color:var(--color-heading)}.view-switcher{display:inline-flex;gap:0;border:1px solid var(--color-btn-border);border-radius:6px;overflow:hidden}.view-switcher button{background:none;border:none;border-right:1px solid var(--color-btn-border);padding:.3rem 1rem;cursor:pointer;font-size:.85rem;color:var(--color-text-muted)}.view-switcher button:last-child{border-right:none}.view-switcher button:hover{background:var(--color-surface-hover)}.view-switcher button.active{background:var(--color-btn-active);color:#fff}.view-switcher button.active.glass{position:relative;overflow:hidden;background:#4a4a4a8c;backdrop-filter:blur(6px) saturate(140%) brightness(.9);-webkit-backdrop-filter:blur(6px) saturate(140%) brightness(.9)}.view-switcher button.active.glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.1) 25%,transparent 60%),linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 50%)}.view-switcher button.active.glass:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 1px #ffffff26,inset 1px 0 #ffffff14}.glass-container{position:relative;width:100%;height:100%;border-radius:var(--glass-radius, 24px);box-shadow:0 10px 30px -5px #0000001a,0 4px 6px -2px #0000000d;transition:transform .2s ease}[data-theme=dark] .glass-container{box-shadow:0 10px 30px -5px #0006,0 4px 6px -2px #0003}.glass-slab{position:relative;overflow:hidden;border-radius:var(--glass-radius, 24px);width:100%;height:100%;backdrop-filter:blur(var(--glass-blur, 25px)) saturate(180%) brightness(1.02);-webkit-backdrop-filter:blur(var(--glass-blur, 25px)) saturate(180%) brightness(1.02);background:rgba(var(--glass-frost, 255, 255, 255),var(--glass-opacity));border:.5px solid rgba(var(--glass-shine, 255, 255, 255),.4)}[data-theme=dark] .glass-slab{backdrop-filter:blur(var(--glass-blur, 25px)) saturate(140%) brightness(.9);-webkit-backdrop-filter:blur(var(--glass-blur, 25px)) saturate(140%) brightness(.9);background:rgba(var(--glass-frost, 30, 32, 40),var(--glass-opacity));border:.5px solid rgba(var(--glass-shine, 255, 255, 255),.08)}.glass-light-gradient{position:absolute;inset:0;pointer-events:none;opacity:var(--light-source-intensity);transition:opacity .3s ease;background:radial-gradient(ellipse at 15% 10%,rgba(var(--glass-shine, 255, 255, 255),.55) 0%,rgba(var(--glass-shine, 255, 255, 255),.2) 25%,transparent 60%),linear-gradient(135deg,rgba(var(--glass-shine, 255, 255, 255),.15) 0%,transparent 50%)}[data-theme=dark] .glass-light-gradient{background:radial-gradient(ellipse at 15% 10%,rgba(var(--glass-shine, 255, 255, 255),.15) 0%,rgba(var(--glass-shine, 255, 255, 255),.05) 25%,transparent 60%),linear-gradient(135deg,rgba(var(--glass-shine, 255, 255, 255),.04) 0%,transparent 50%)}.glass-specular-rim{position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px rgba(var(--glass-shine, 255, 255, 255),.5),inset 1px 0 rgba(var(--glass-shine, 255, 255, 255),.2)}[data-theme=dark] .glass-specular-rim{box-shadow:inset 0 1px 1px rgba(var(--glass-shine, 255, 255, 255),.1),inset 1px 0 rgba(var(--glass-shine, 255, 255, 255),.05)}.glass-content{position:relative;z-index:2;padding:24px}.filter-anchor{position:relative}.filter-anchor>.filter-trigger[aria-expanded=true]{position:relative;z-index:201}.filter-trigger{display:flex;align-items:center;gap:.4rem;background:var(--color-btn-active);color:#fff;border:none;border-radius:6px;padding:.35rem .85rem;cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity .15s ease}.filter-trigger:hover{opacity:.85}.filter-trigger.glass{position:relative;overflow:hidden;background:#4a4a4a8c;border:.5px solid rgba(255,255,255,.08);backdrop-filter:blur(4px) saturate(140%) brightness(.9);-webkit-backdrop-filter:blur(4px) saturate(140%) brightness(.9)}.filter-trigger.glass:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 25%,transparent 60%),linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 50%)}.filter-trigger.glass:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff1a,inset 1px 0 #ffffff0d}.filter-trigger.glass:hover{background:#4a4a4ab3}.filter-backdrop{position:fixed;inset:0;z-index:199}.filter-panel{position:fixed;z-index:200;width:300px}.filter-panel>.glass-container,.filter-panel>.glass-container .glass-slab{height:auto}.filter-panel>.glass-container .glass-content{display:flex;flex-direction:column;height:auto;padding:16px}.filter-spacer{height:55px}.filter-section{padding-top:12px;border-top:1px solid rgba(128,128,128,.15)}.filter-section+.filter-section{margin-top:12px}.filter-section-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:6px}.filter-empty-text{margin:0;font-size:.85rem;color:var(--color-text-muted);text-align:center;padding:4px 0}.filter-items{display:flex;flex-direction:column;gap:1px;max-height:180px;overflow-y:auto;overflow-x:hidden}.filter-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border-radius:6px;cursor:pointer;transition:background .15s ease}.filter-item:hover{background:var(--color-surface-hover)}.filter-item-checkbox{width:15px;height:15px;flex-shrink:0;cursor:pointer;accent-color:var(--color-btn-active)}.filter-item-name{flex:1;font-size:.9rem;font-weight:500;color:var(--color-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-filter-problem-toggle{border:1px solid rgba(196,68,68,.24);background:#c4444412}.result-filter-problem-toggle:hover{background:#c444441f}.result-filter-problem-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .35rem;border-radius:999px;background:#c4444424;color:#c44;font-size:.72rem;font-weight:800}.filter-item-edit{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:none;border-radius:5px;background:transparent;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.filter-item:hover .filter-item-edit{opacity:1}.filter-item-edit:hover{background:var(--color-surface-hover);color:var(--color-heading)}.filter-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:6px;padding:.4rem 1rem;border:1px dashed var(--color-btn-border);border-radius:8px;background:none;color:var(--color-heading);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.filter-add-btn:hover{background:var(--color-surface-hover);border-color:var(--color-btn-active);color:var(--color-btn-active)}.filter-edit-popup{position:fixed;z-index:300;transform:translate(-50%,-50%)}.filter-edit-popup>.glass-container,.filter-edit-popup>.glass-container .glass-slab{width:auto;height:auto}.filter-edit-popup>.glass-container .glass-content{padding:1rem 1.25rem;position:relative;height:auto}[data-theme=dark] .filter-edit-popup>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.filter-edit-popup-close{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.filter-edit-popup-close:hover{background:var(--color-surface-hover);color:var(--color-heading)}.filter-edit-popup-text{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--color-heading);text-align:center;padding-right:1rem}.filter-edit-popup-actions{display:flex;gap:8px}.filter-edit-popup-cancel{flex:1;padding:.45rem .75rem;border:1px solid var(--color-btn-border);border-radius:8px;background:none;color:var(--color-heading);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.filter-edit-popup-cancel:hover{background:var(--color-surface-hover)}.filter-edit-popup-confirm{flex:1;padding:.45rem .75rem;border:none;border-radius:8px;background:var(--color-btn-active);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.filter-edit-popup-confirm:hover{opacity:.85}.time-picker{position:relative;width:100%}.time-picker.disabled{opacity:.4;pointer-events:none}.time-picker-trigger{width:100%;padding:.3rem;border:1px solid var(--color-btn-border);border-radius:6px;background:transparent;color:var(--color-heading);font-size:.78rem;font-family:inherit;cursor:pointer;text-align:center;transition:border-color .15s ease;box-sizing:border-box}.time-picker-trigger:hover{border-color:var(--color-btn-active)}.time-picker-trigger:disabled{cursor:default}.time-picker-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);display:flex;gap:0;background:var(--color-bg);border:1px solid var(--color-btn-border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:100;overflow:hidden}[data-theme=dark] .time-picker-dropdown{background:#1a1a1a;border-color:#ffffff1f;box-shadow:0 8px 24px #0006}.time-picker-column{display:flex;flex-direction:column;max-height:160px;overflow-y:auto;padding:4px 0;scrollbar-width:thin}.time-picker-column::-webkit-scrollbar{width:3px}.time-picker-column::-webkit-scrollbar-thumb{background:#8080804d;border-radius:2px}.time-picker-divider{width:1px;background:var(--color-btn-border);align-self:stretch}[data-theme=dark] .time-picker-divider{background:#ffffff1a}.time-picker-option{padding:.3rem .75rem;border:none;background:transparent;color:var(--color-heading);font-size:.78rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .1s ease}.time-picker-option:hover{background:#8080801f}.time-picker-option.selected{background:var(--color-btn-active);color:#fff;font-weight:600}.availability-grid{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.availability-header{display:grid;grid-template-columns:3.2rem 1fr 1fr;gap:.4rem;padding-bottom:.2rem}.availability-header-time{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-align:center}.availability-row{display:grid;grid-template-columns:3.2rem 1fr 1fr;gap:.4rem;align-items:center;opacity:.5;transition:opacity .15s ease}.availability-row.active{opacity:1}.availability-day-btn{padding:.3rem 0;border:1px solid var(--color-btn-border);border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.availability-day-btn:hover{border-color:var(--color-btn-active)}.availability-day-btn.selected{background:var(--color-btn-active);color:#fff;border-color:var(--color-btn-active)}.availability-mode-toggle{display:flex;gap:0;margin-top:.5rem;border:1px solid var(--color-btn-border);border-radius:6px;overflow:hidden}.availability-mode-btn{flex:1;padding:.3rem 0;border:none;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease}.availability-mode-btn:first-child{border-right:1px solid var(--color-btn-border)}.availability-mode-btn:hover{background:#80808014}.availability-mode-btn.active{background:var(--color-btn-active);color:#fff}.availability-custom-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px dashed var(--color-btn-border);border-radius:8px}.availability-custom-text{margin:0;font-size:.82rem;color:var(--color-text-muted);text-align:center;line-height:1.4}.assignment-panel{display:flex;flex-direction:column;gap:16px}.assignment-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.assignment-field{display:flex;flex-direction:column;gap:4px}.assignment-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted, #6b5e54)}.assignment-time-row{display:flex;gap:10px}.assignment-time-row .assignment-field{flex:1}.assignment-select,.assignment-date-input{appearance:none;border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:8px;padding:6px 10px;background:var(--color-input-bg, rgba(255, 255, 255, .5));color:inherit;font-size:14px;font-family:inherit;width:100%;box-sizing:border-box}.assignment-select:focus,.assignment-date-input:focus{outline:none;border-color:var(--color-btn-active, #6b5e54)}.assignment-error{margin:0;padding:6px 10px;border-radius:6px;background:#dc50501f;color:var(--color-error, #b94040);font-size:13px}.assignment-form-actions{display:flex;gap:8px}.assignment-submit-btn,.assignment-cancel-btn{flex:1;border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:8px;padding:8px 12px;background:var(--color-btn-active, #6b5e54);color:#fff;font-size:14px;font-family:inherit;cursor:pointer;transition:opacity .15s ease}.assignment-submit-btn:disabled{opacity:.4;cursor:not-allowed}.assignment-cancel-btn{background:transparent;color:inherit}.assignment-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.assignment-group-toggle{display:inline-flex;border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:999px;overflow:hidden}.assignment-group-toggle button{border:none;background:transparent;color:inherit;padding:4px 10px;font-size:12px;font-family:inherit;cursor:pointer}.assignment-group-toggle button.active{background:var(--color-btn-active, #6b5e54);color:#fff}.assignment-groups{display:flex;flex-direction:column;gap:12px}.assignment-group-heading{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted, #6b5e54);margin-bottom:4px}.assignment-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.assignment-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));border-radius:8px;background:var(--color-input-bg, rgba(255, 255, 255, .4))}.assignment-row.editing{border-color:var(--color-btn-active, #6b5e54);background:#6b5e5414}.assignment-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.assignment-row-primary{font-size:14px;font-weight:500}.assignment-row-secondary{font-size:12px;color:var(--color-fg-muted, #6b5e54)}.assignment-row-actions{display:flex;gap:6px}.assignment-row-edit,.assignment-row-delete{border:none;background:transparent;color:inherit;font-size:12px;font-family:inherit;padding:4px 8px;border-radius:6px;cursor:pointer}.assignment-row-edit:hover,.assignment-row-delete:hover{background:#0000000f}.assignment-row-delete{font-size:16px;line-height:1}.rp-accordion{border:1px solid var(--color-border);border-radius:12px;background:#ffffff59;margin-bottom:10px;overflow:hidden;transition:background .15s ease,border-color .15s ease;position:relative}.rp-accordion.active{background:#ffffffbf;border-color:transparent;box-shadow:0 1px 2px #3c2d1e0a,0 8px 20px -12px #3c2d1e1f}.rp-accordion-header{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.rp-accordion-header:hover{background:#6b5e5408}.rp-chevron{color:var(--color-text-muted);font-size:10px;transition:transform .15s ease;flex-shrink:0}.rp-accordion.expanded .rp-chevron{transform:rotate(90deg)}.rp-title-col{flex:1;min-width:0}.rp-title{font-size:13.5px;font-weight:600;color:var(--color-heading);line-height:1.2}.rp-accordion:not(.active) .rp-title{color:var(--color-text-muted)}.rp-sub{font-size:11.5px;color:var(--color-text-muted);margin-top:2px;line-height:1.3}.rp-sub b{color:var(--color-heading);font-weight:600}.rp-accordion-body{padding:4px 16px 16px;animation:rp-expand .18s ease-out}@keyframes rp-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rp-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.rp-field+.rp-field{border-top:1px dashed var(--color-border)}.rp-field-label{font-size:12.5px;color:var(--color-text)}.rp-field-hint{font-size:11.5px;color:var(--color-text-muted);line-height:1.4;margin:0 0 8px}.rp-special-dates{border-top:1px dashed var(--color-border);margin-top:4px;padding-top:12px}.rp-special-dates>.rp-field-label{display:block;margin-bottom:4px;font-weight:600}.rp-date-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:8px 0}.rp-date-input{min-width:0;height:32px;border:1px solid var(--color-btn-border);border-radius:8px;background:#fff;color:var(--color-heading);font:inherit;font-size:12.5px;padding:0 8px}.rp-date-add-button{height:32px;border:1px solid var(--color-btn-border);border-radius:8px;background:#fff;color:var(--color-heading);cursor:pointer;font:inherit;font-size:12px;font-weight:600;padding:0 10px;white-space:nowrap}.rp-date-add-button:hover:not(:disabled){background:var(--color-surface-hover)}.rp-date-add-button:disabled{cursor:not-allowed;opacity:.45}.rp-date-chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.rp-date-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;border:1px solid var(--color-border);border-left-color:var(--rule-accent);border-radius:999px;background:#ffffffad;color:var(--color-heading);cursor:pointer;font:inherit;font-size:11.5px;padding:4px 8px}.rp-date-chip span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.rp-date-chip span:last-child{color:var(--color-text-muted);font-weight:700}.rp-special-cap-field{border-top:1px dashed var(--color-border);margin-top:10px}.rp-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.rp-switch input{opacity:0;width:0;height:0}.rp-slider{position:absolute;cursor:pointer;inset:0;background:#d8d1c4;border-radius:20px;transition:.2s}.rp-slider:before{content:"";position:absolute;left:2px;bottom:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:.2s}.rp-switch input:checked+.rp-slider{background:var(--color-btn-active)}.rp-switch input:checked+.rp-slider:before{transform:translate(16px)}.rp-stepper{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--color-btn-border);border-radius:8px;overflow:hidden;flex-shrink:0}.rp-stepper button{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-family:inherit}.rp-stepper button:hover{background:var(--color-surface-hover);color:var(--color-heading)}.rp-stepper-val{min-width:32px;text-align:center;font-size:13px;font-weight:600;color:var(--color-heading);padding:0 2px}.rp-qual-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:10px 0 6px;padding-left:40px;font-size:10.5px;line-height:1.2;color:var(--color-text-muted)}.rp-qual-legend span{min-width:0;overflow-wrap:anywhere}.rp-qual-list{display:flex;flex-direction:column;gap:4px;margin-top:2px}.rp-qual-row{display:flex;align-items:center;gap:10px;padding:6px 4px}.rp-qual-avatar{width:26px;height:26px;border-radius:50%;color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.rp-qual-name{flex:1;font-size:13px;color:var(--color-heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-qual-seg{display:inline-flex;background:#6b5e5414;border-radius:6px;padding:2px;flex-shrink:0}.rp-qual-seg button{border:none;background:transparent;padding:3px 8px;font-size:11px;font-weight:500;color:var(--color-text-muted);border-radius:4px;cursor:pointer;font-family:inherit}.rp-qual-seg button.active{background:#fff;color:var(--color-heading);font-weight:600;box-shadow:0 1px 2px #00000014}.rp-job-check-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.rp-job-check-row{display:flex;align-items:center;gap:10px;padding:7px 4px;color:var(--color-heading);font-size:13px;cursor:pointer}.rp-job-check-row input{width:16px;height:16px;margin:0;border-radius:3px;accent-color:var(--color-btn-active);cursor:pointer}.rp-job-check-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-adv-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:1px solid var(--color-border);background:transparent;border-radius:10px;font-size:12px;font-weight:500;color:var(--color-text-muted);cursor:pointer;font-family:inherit;margin-top:4px}.rp-adv-toggle:hover{background:var(--color-surface-hover);color:var(--color-heading)}.rp-adv-toggle.open{color:var(--color-heading)}.rp-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.rp-adv-cell{padding:10px;background:#fff9;border-radius:10px;border:1px solid var(--color-border)}.rp-adv-cell.wide{grid-column:span 2}.rp-adv-cell-label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.rp-adv-cell-val{display:flex;align-items:center;gap:8px}.rp-adv-cell-val .num{font-size:22px;font-weight:600;color:var(--color-heading);line-height:1;font-variant-numeric:tabular-nums}.rp-adv-cell-val .unit{font-size:11px;color:var(--color-text-muted)}.rp-stepper-mini{margin-left:auto;display:inline-flex;flex-direction:column;gap:2px}.rp-stepper-mini button{width:20px;height:16px;border:1px solid var(--color-btn-border);background:#fff;border-radius:3px;font-size:10px;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1;font-family:inherit}.rp-stepper-mini button:hover{background:var(--color-surface-hover);color:var(--color-heading)}[data-theme=dark] .rp-accordion{background:#ffffff0d}[data-theme=dark] .rp-accordion.active{background:#ffffff1f}[data-theme=dark] .rp-stepper,[data-theme=dark] .rp-adv-cell{background:#ffffff14}[data-theme=dark] .rp-qual-seg{background:#ffffff1a}[data-theme=dark] .rp-qual-seg button.active{background:#fff3}[data-theme=dark] .rp-stepper-mini button{background:#ffffff1a}[data-theme=dark] .rp-date-input,[data-theme=dark] .rp-date-add-button,[data-theme=dark] .rp-date-chip{background:#ffffff14}.side-panel{width:25%;min-width:250px;flex-shrink:0}.side-panel>.glass-container{height:100%}.side-panel .glass-content{display:flex;flex-direction:column;height:100%;padding:1rem;box-sizing:border-box;overflow-y:auto}[data-theme=dark] .side-panel>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.side-panel-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.side-panel-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-heading)}.side-panel-close{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.4rem;border-radius:6px;cursor:pointer;color:var(--color-text-muted)}.side-panel-close:hover{background:var(--color-surface-hover);color:var(--color-heading)}.side-panel-actions{margin-top:auto;padding-top:1rem;display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.side-panel-save-btn{width:100%;padding:.6rem;border:none;border-radius:8px;background:var(--color-btn-active);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.side-panel-save-btn:hover{opacity:.85}.side-panel-delete-btn{width:100%;padding:.6rem;border:1px solid #c0392b;border-radius:8px;background:transparent;color:#c0392b;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.side-panel-delete-btn:hover{background:#c0392b1a}.side-panel-secondary-btn{width:100%;padding:.6rem;border:1px solid var(--color-btn-border);border-radius:8px;background:transparent;color:var(--color-heading);font-size:.9rem;font-weight:700;cursor:pointer}.side-panel-secondary-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-btn-active)}.side-panel-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.side-panel-send-link{margin-top:1rem}.additional-rules{margin-top:1.25rem}.additional-rules-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem .7rem;border:1px solid var(--color-btn-border);border-radius:8px;background:transparent;color:var(--color-heading);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.additional-rules-toggle:hover{background:var(--color-surface-hover);border-color:var(--color-btn-active)}.additional-rules-count{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;border-radius:999px;background:var(--color-btn-active);color:#fff;font-size:.72rem;font-weight:800}.additional-rules-menu{margin-top:.75rem;padding:.75rem;border:1px solid var(--color-btn-border);border-radius:8px}.additional-rules-menu .side-panel-section:first-child,.additional-rules-menu .side-panel-field:first-child{margin-top:0;padding-top:0;border-top:none}.additional-rules-add{width:100%;margin-top:.85rem;padding:.55rem;border:1px solid var(--color-btn-border);border-radius:8px;background:var(--color-surface-hover);color:var(--color-heading);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.additional-rules-add:hover{border-color:var(--color-btn-active)}.side-panel-field{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem}.side-panel-label{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.side-panel-input{padding:0;border:none;background:transparent;color:var(--color-heading);font-size:.95rem;font-family:inherit;outline:none}.side-panel-input:focus{outline:none}.side-panel-field-error{margin:0;color:var(--color-error, #b94040);font-size:.76rem;line-height:1.35}.person-target-hours-control{display:flex;align-items:center;gap:.35rem;padding:.5rem .65rem;border:1px solid var(--color-btn-border);border-radius:8px}.person-target-hours-input{width:100%;min-width:0}.person-target-hours-unit{flex-shrink:0;color:var(--color-text-muted);font-size:.82rem;font-weight:700}.person-role-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:.75rem;padding:2px;border:1px solid var(--color-btn-border);border-radius:8px}.person-role-seg button{min-width:0;padding:.42rem .25rem;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;overflow-wrap:anywhere}.person-role-seg button:hover{background:var(--color-surface-hover);color:var(--color-heading)}.person-role-seg button.active{background:var(--color-btn-active);color:#fff}.side-panel-name-display{padding:.5rem .65rem;border:1px solid transparent;border-radius:8px;font-size:.95rem;font-weight:600;color:var(--color-heading);cursor:pointer;transition:background .15s ease,border-color .15s ease}.side-panel-name-display:hover{background:var(--color-surface-hover);border-color:var(--color-btn-border)}.side-panel-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(128,128,128,.15)}.side-panel-section-hint{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.76rem;line-height:1.35}.side-panel-empty-text{margin:.75rem 0 0;font-size:.85rem;color:var(--color-text-muted);text-align:center;padding:.5rem 0}.side-panel-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.side-panel-chip{padding:.3rem .75rem;border-radius:20px;border:1px solid var(--color-btn-border);background:transparent;color:var(--color-text-muted);font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.side-panel-chip:hover{background:var(--color-surface-hover);border-color:var(--color-btn-active)}.side-panel-chip.active{background:var(--color-btn-active);border-color:var(--color-btn-active);color:#fff}.preference-control-stack{display:flex;flex-direction:column;gap:.7rem;margin-top:.75rem}.preference-toggle-row{display:flex;align-items:center;gap:.55rem;color:var(--color-heading);font-size:.82rem;font-weight:600;cursor:pointer}.preference-toggle-row input{width:1rem;height:1rem;accent-color:var(--color-btn-active)}.preference-paint-control{display:flex;flex-direction:column;gap:.45rem}.preference-paint-label{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.preference-palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.preference-palette-btn{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.28rem .12rem;border:1px solid var(--color-btn-border);border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:.68rem;font-weight:700;cursor:pointer}.preference-palette-btn:hover{border-color:var(--color-btn-active)}.preference-palette-btn.active{border-color:var(--color-btn-active);box-shadow:0 0 0 2px #6b5e5429;color:var(--color-heading)}.preference-palette-swatch{width:16px;height:16px;border:1px solid rgba(107,94,84,.14);border-radius:4px}.time-slot-grid{margin-top:.75rem;-webkit-user-select:none;user-select:none}.time-slot-scroll{overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin;scrollbar-color:rgba(107,94,84,.25) transparent}.time-slot-header{position:relative;height:1.2rem;margin-left:44px;margin-bottom:.25rem}.time-slot-hour-label{position:absolute;bottom:0;color:var(--color-text-muted);font-size:.58rem;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.time-slot-hour-line{position:absolute;top:0;bottom:0;width:1px;background:#6b5e541f}.time-slot-rows{display:flex;flex-direction:column;gap:1px}.time-slot-row{display:flex;align-items:center;gap:6px}.time-slot-day{width:38px;flex:0 0 38px;color:var(--color-heading);font-size:.68rem;font-weight:650;text-align:right}.time-slot-day.muted{color:#6b5e5461}[data-theme=dark] .time-slot-day.muted{color:#9ca3af6b}.time-slot-cells{position:relative;display:flex;gap:1px}.time-slot-cell-hour-line{position:absolute;top:0;bottom:0;z-index:1;width:1px;background:#6b5e541a;pointer-events:none}.time-slot-cell{position:relative;z-index:0;width:13px;height:26px;flex:0 0 13px;padding:0;border:1px solid rgba(107,94,84,.12);border-radius:3px;cursor:pointer;transition:background .07s ease,transform .07s ease,border-color .07s ease}.time-slot-cell:hover{z-index:2;transform:scaleY(1.18)}.time-slot-cell.inactive{cursor:default;border-color:#6b5e540f}.time-slot-cell.inactive:hover{transform:none}[data-theme=dark] .time-slot-cell{border-color:#ffffff17}[data-theme=dark] .time-slot-cell.inactive{border-color:#ffffff0d}.time-slot-legend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.85rem}.time-slot-legend-label{color:var(--color-text-muted);font-size:.62rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.time-slot-legend-ramp{display:flex;align-items:flex-start;gap:3px}.time-slot-legend-step{display:flex;flex-direction:column;align-items:center;min-width:18px;gap:2px}.time-slot-legend-swatch{width:18px;height:18px;border:1px solid rgba(107,94,84,.12);border-radius:5px}.time-slot-legend-number{min-height:.65rem;color:var(--color-text-muted);font-size:.52rem;line-height:1;font-variant-numeric:tabular-nums}.rounds-panel{width:360px;min-width:320px;flex:0 0 360px}.rounds-panel>.glass-container{height:100%}[data-theme=dark] .rounds-panel>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.rounds-panel .glass-content{height:100%;padding:0}.rounds-panel-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:1rem;box-sizing:border-box;color:var(--color-text)}.rounds-panel-header,.rounds-detail-header,.rounds-list-toolbar,.rounds-section-heading,.rounds-demand-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.rounds-panel-header{flex-shrink:0}.rounds-panel-header h2{margin:0;font-size:1.05rem;color:var(--color-heading)}.rounds-panel-header span,.rounds-detail-title span,.rounds-list-toolbar span,.rounds-section-heading em{color:var(--color-text-muted);font-size:.74rem;font-style:normal}.rounds-panel-close,.rounds-back-btn,.rounds-icon-danger{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.rounds-panel-close{width:32px;height:32px}.rounds-panel-close:hover,.rounds-back-btn:hover,.rounds-icon-danger:hover{background:var(--color-surface-hover);color:var(--color-heading)}.rounds-panel-error,.rounds-warning{border:1px solid rgba(220,70,70,.28);border-radius:8px;background:#dc46461f;color:#c04040;font-size:.78rem;line-height:1.35;padding:.55rem .7rem}.rounds-panel-error{margin-top:.75rem}.rounds-list-view,.rounds-detail{display:flex;flex:1;min-height:0;flex-direction:column;margin-top:.9rem}.rounds-list-toolbar{flex-shrink:0;margin-bottom:.7rem}.rounds-list{display:flex;flex:1;min-height:0;flex-direction:column;gap:.4rem;overflow-y:auto}.round-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;padding:.65rem .7rem;text-align:left;cursor:pointer}.round-row:hover{border-color:var(--color-btn-border);background:var(--color-surface-hover)}.round-row-main,.round-row-meta,.round-progress{display:flex;flex-direction:column;gap:.18rem}.round-row-main{min-width:0}.round-row-main strong{overflow:hidden;color:var(--color-heading);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.round-row-main span,.round-progress{color:var(--color-text-muted);font-size:.72rem}.round-row-meta{align-items:flex-end;flex-shrink:0}.round-progress>span{display:block;width:54px;height:4px;overflow:hidden;border-radius:99px;background:#6b5e5424}.round-progress>span>span{display:block;height:100%;border-radius:inherit;background:var(--color-btn-active)}.rounds-status,.rounds-inv-status{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;font-size:.67rem;font-weight:700;line-height:1.1;white-space:nowrap}.rounds-status{padding:.18rem .48rem}.rounds-status-collecting{background:#508cdc33;color:#2d6aaa}.rounds-status-published{background:#46a05a2e;color:#2d8847}.rounds-status-archived{background:#a0a0a02e;color:var(--color-text-muted)}.rounds-create-form{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem;padding:.75rem;border:1px solid rgba(128,128,128,.16);border-radius:8px}.rounds-create-grid{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:.6rem}.rounds-create-form label,.rounds-field{display:flex;flex-direction:column;gap:.3rem}.rounds-create-form label span,.rounds-field span,.rounds-field-group>span,.rounds-demand-header>span{color:var(--color-text-muted);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.rounds-create-form input,.rounds-create-form select,.rounds-field input,.rounds-field select,.rounds-people-table input,.rounds-people-table select,.rounds-job-header input,.rounds-inline-edit input,.rounds-week-row input,.rounds-rule-row input[type=number]{min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--color-btn-border);border-radius:6px;background:transparent;color:var(--color-heading);font:inherit;font-size:.78rem;padding:.36rem .48rem}.rounds-detail-header{flex-shrink:0;padding-bottom:.75rem;border-bottom:1px solid rgba(128,128,128,.14)}.rounds-back-btn{width:30px;height:30px;flex-shrink:0}.rounds-detail-title{display:flex;min-width:0;flex:1;flex-direction:column}.rounds-detail-title strong{overflow:hidden;color:var(--color-heading);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.rounds-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-shrink:0;gap:2px;margin:.75rem 0;padding:2px;border:1px solid var(--color-btn-border);border-radius:8px;background:#00000006}[data-theme=dark] .rounds-tabs{background:#ffffff08}.rounds-tabs button{min-width:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.72rem;font-weight:750;padding:.42rem .2rem}.rounds-tabs button:hover:not(.active){background:var(--color-surface-hover);color:var(--color-heading)}.rounds-tabs button.active{background:var(--color-btn-active);color:#fff}.rounds-tab-body{flex:1;min-height:0;overflow-y:auto;padding-right:.15rem}.rounds-tab-stack{display:flex;flex-direction:column;gap:.75rem}.rounds-people-table{width:100%;border-collapse:collapse}.rounds-people-table th,.rounds-people-table td{border-bottom:1px solid rgba(128,128,128,.11);padding:.34rem .24rem;text-align:left}.rounds-people-table th{color:var(--color-text-muted);font-size:.62rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.rounds-people-table th:nth-child(2),.rounds-people-table td:nth-child(2){width:64px}.rounds-people-table th:nth-child(4),.rounds-people-table td:nth-child(4){width:26px}.rounds-icon-danger{width:24px;height:24px;color:#c04040;font-weight:750}.rounds-job-card{display:flex;flex-direction:column;gap:.65rem;border:1px solid rgba(128,128,128,.14);border-radius:8px;padding:.72rem}.rounds-job-header input{font-weight:700}.rounds-inline-check,.rounds-force-row{display:flex;align-items:flex-start;gap:.5rem;color:var(--color-heading);font-size:.78rem;cursor:pointer}.rounds-inline-check input,.rounds-force-row input,.rounds-rule-row input[type=checkbox]{flex-shrink:0;accent-color:var(--color-btn-active)}.rounds-field-group{display:flex;flex-direction:column;gap:.48rem}.rounds-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.rounds-chip{display:inline-flex;align-items:center;gap:.28rem;border:1px solid var(--color-btn-border);border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.72rem;padding:.22rem .56rem}.rounds-chip:hover:not(.active){border-color:var(--color-btn-active);color:var(--color-heading)}.rounds-chip.active{border-color:var(--color-btn-active);background:var(--color-btn-active);color:#fff}.rounds-chip button{border:none;background:transparent;color:inherit;cursor:pointer;padding:0}.rounds-week-grid{display:flex;flex-direction:column;gap:.25rem}.rounds-week-row{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:.35rem;align-items:center}.rounds-week-row button{border:1px solid var(--color-btn-border);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.72rem;font-weight:750;padding:.36rem .28rem}.rounds-week-row button.active{border-color:var(--color-btn-active);background:var(--color-btn-active);color:#fff}.rounds-demand-header{align-items:center}.rounds-field-group .time-slot-grid{margin-top:.1rem}.rounds-field-group .time-slot-cell{height:18px}.rounds-field-group .time-slot-legend{margin-top:.45rem}.rounds-inline-edit{display:flex;gap:.4rem}.rounds-rule-block{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(128,128,128,.14);border-radius:8px}.rounds-rule-row{display:grid;grid-template-columns:auto minmax(0,1fr) 58px;align-items:center;gap:.5rem;min-height:38px;border-bottom:1px solid rgba(128,128,128,.1);font-size:.78rem;padding:.34rem .55rem}.rounds-rule-row:last-child{border-bottom:none}label.rounds-rule-row{grid-template-columns:minmax(0,1fr) 58px}.rounds-lower-section{flex-shrink:0;margin-top:.78rem;padding-top:.72rem;border-top:1px solid rgba(128,128,128,.14)}.rounds-section-heading{margin-bottom:.5rem}.rounds-section-heading span{color:var(--color-text-muted);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.rounds-inv-list{display:flex;flex-direction:column}.rounds-inv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .5rem;align-items:center;border-bottom:1px solid rgba(128,128,128,.1);padding:.42rem 0;font-size:.78rem}.rounds-inv-row>span:first-child{overflow:hidden;color:var(--color-heading);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.rounds-inv-row>div{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:.3rem}.rounds-inv-status{padding:.14rem .44rem}.rounds-inv-status-not_started{background:#a0a0a02e;color:#666}.rounds-inv-status-in_progress{background:#dc963c33;color:#a36e1a}.rounds-inv-status-submitted{background:#46a05a2e;color:#2d8847}.rounds-inv-status-locked{background:#7864c833;color:#5a4ba8}.rounds-readiness-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem}.rounds-readiness-row span{border-radius:6px;font-size:.68rem;font-weight:700;padding:.2rem .42rem}.rounds-readiness-row .ok{background:#46a05a1f;color:#2d8847}.rounds-readiness-row .missing{background:#dc46461a;color:#c04040}.rounds-force-row{margin:.55rem 0}.rounds-force-row span{display:flex;flex-direction:column;gap:.08rem}.rounds-force-row small{color:var(--color-text-muted);font-size:.68rem}.rounds-mini-btn,.rounds-primary-action,.rounds-danger-action{border-radius:7px;cursor:pointer;font:inherit;font-weight:700;transition:background .15s ease,opacity .15s ease,border-color .15s ease}.rounds-mini-btn{border:1px solid var(--color-btn-border);background:#0000000a;color:var(--color-text);font-size:.72rem;padding:.28rem .58rem;white-space:nowrap}[data-theme=dark] .rounds-mini-btn{background:#ffffff0d}.rounds-mini-btn:hover{background:var(--color-surface-hover)}.rounds-primary-action{width:100%;border:none;background:var(--color-btn-active);color:#fff;font-size:.82rem;padding:.55rem .7rem}.rounds-primary-action:hover:not(:disabled){opacity:.86}.rounds-danger-action{width:100%;border:1px solid #c04040;background:transparent;color:#c04040;font-size:.82rem;padding:.52rem .7rem}.rounds-danger-action:hover:not(:disabled){background:#dc46461a}.rounds-mini-btn:disabled,.rounds-primary-action:disabled,.rounds-danger-action:disabled,.rounds-chip:disabled,.rounds-week-row button:disabled{cursor:not-allowed;opacity:.52}.rounds-empty-text,.rounds-empty-state{color:var(--color-text-muted);font-size:.8rem}.rounds-empty-state{display:flex;flex-direction:column;gap:.24rem;border:1px dashed rgba(128,128,128,.24);border-radius:8px;padding:.9rem}.rounds-empty-state strong{color:var(--color-heading)}@media(max-width:900px){.app-content-row:has(.rounds-panel){flex-direction:column}.rounds-panel{width:100%;min-height:420px;flex:0 0 420px}}.time-range-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000040}[data-theme=dark] .time-range-backdrop{background:#00000080}.time-range-popup{min-width:240px;max-width:300px}.time-range-popup .glass-container,.time-range-popup .glass-slab{width:auto;height:auto}.time-range-popup .glass-content{padding:1.25rem}[data-theme=dark] .time-range-popup>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.time-range-title{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--color-heading);text-align:center}.time-range-fields{display:flex;gap:1rem;margin-bottom:1.25rem}.time-range-field{flex:1;display:flex;flex-direction:column;gap:.35rem}.time-range-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-align:center}.time-range-actions{display:flex;gap:.5rem}.time-range-btn{flex:1;padding:.45rem 0;border:1px solid var(--color-btn-border);border-radius:8px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.time-range-btn-cancel{background:transparent;color:var(--color-text-muted)}.time-range-btn-cancel:hover{background:#80808014;color:var(--color-heading)}.time-range-btn-confirm{background:var(--color-btn-active);color:#fff;border-color:var(--color-btn-active)}.time-range-btn-confirm:hover{opacity:.9}.time-range-popup .time-picker-dropdown{position:relative;top:auto;left:auto;transform:none;margin-top:4px;box-shadow:none;border:1px solid var(--color-btn-border)}.event-editor{position:fixed;z-index:200;min-width:200px;opacity:0;pointer-events:none}.event-editor.visible{opacity:1;pointer-events:auto}body:has(.fc-event-dragging) .event-editor,body:has(.fc-event-resizing) .event-editor{pointer-events:none}.event-editor .glass-container,.event-editor .glass-slab{width:auto;height:auto}.event-editor .glass-content{padding:.65rem .75rem}[data-theme=dark] .event-editor>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.event-editor-delete{position:absolute;top:5px;right:5px;z-index:3;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:#d44;cursor:pointer;transition:background .15s ease,color .15s ease}.event-editor-delete:hover{background:#dd44441f;color:#c22}.event-editor-fields{display:flex;gap:.75rem}.event-editor-field{flex:1;display:flex;flex-direction:column;gap:.25rem}.event-editor-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-align:center}.event-editor .time-picker-dropdown{position:relative;top:auto;left:auto;transform:none;margin-top:4px;box-shadow:none;border:1px solid var(--color-btn-border)}.settings-anchor{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;z-index:100}.settings-dropdown .glass-content{padding:12px}.settings-section{display:flex;flex-direction:column;gap:4px}.settings-section+.settings-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(128,128,128,.15)}.settings-section-label{margin:0 0 4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);opacity:.7}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;border-radius:8px}.settings-toggle-label{font-size:.85rem;font-weight:500;color:var(--color-heading)}.settings-toggle{position:relative;width:40px;height:22px;background:#80808040;border:none;border-radius:11px;cursor:pointer;padding:0;transition:background .2s ease}.settings-toggle[aria-checked=true]{background:var(--color-btn-active)}.settings-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.settings-toggle[aria-checked=true] .settings-toggle-knob{transform:translate(18px)}.settings-lang-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:8px;background:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--color-heading);width:100%;text-align:left;transition:background .15s ease}.settings-lang-option:hover{background:#8080801a}.settings-lang-option[aria-selected=true]{background:#8080801f;color:var(--color-btn-active)}.settings-lang-check{width:16px;display:flex;align-items:center;justify-content:center;opacity:0}.settings-lang-option[aria-selected=true] .settings-lang-check{opacity:1}.settings-backdrop{position:fixed;inset:0;z-index:99}.solve-view{display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box}.solve-view-toolbar{display:flex;align-items:center;gap:.75rem;padding:0 1rem .75rem;flex-shrink:0;border-bottom:1px solid var(--color-border)}.solve-view-title{flex:1;margin:0;text-align:center;font-size:1rem;font-weight:600;color:var(--color-heading)}.solve-view-back,.solve-view-send{border:none;border-radius:6px;padding:.4rem .85rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,background .15s ease}.solve-view-back{background:transparent;color:var(--color-heading);border:1px solid var(--color-btn-border)}.solve-view-back:hover{background:var(--color-surface-hover)}.solve-view-send{background:var(--color-btn-active);color:#fff}.solve-view-send:hover:not(:disabled){opacity:.85}.solve-view-send:disabled{opacity:.5;cursor:not-allowed}.solve-view-scroll{flex:1;min-height:0;overflow-y:auto;padding:1rem}.solve-view-section{margin-bottom:1.5rem}.solve-view-section h3{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--color-heading)}.solve-disclosure{overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface, rgba(0, 0, 0, .025))}.solve-disclosure-summary{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.65rem .8rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.solve-disclosure-summary::-webkit-details-marker{display:none}.solve-disclosure-summary::marker{content:""}.solve-disclosure-summary:hover{background:var(--color-surface-hover)}.solve-disclosure-copy{display:flex;flex:1;flex-direction:column;gap:.12rem;min-width:0}.solve-disclosure-title{color:var(--color-heading);font-size:.95rem;font-weight:700;line-height:1.2}.solve-disclosure-text{overflow:hidden;color:var(--color-text-muted);font-size:.8rem;font-weight:550;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.solve-disclosure-chevron{flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform .15s ease}.solve-disclosure[open] .solve-disclosure-chevron{transform:rotate(225deg)}.solve-disclosure[open] .solve-disclosure-text{white-space:normal}.solve-disclosure-body{overflow-x:auto;padding:.8rem;border-top:1px solid var(--color-border)}.solve-progress-section{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface, rgba(0, 0, 0, .025))}.solve-progress-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.solve-progress-heading h3{margin:0}.solver-runtime-grid{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:.5rem;margin-bottom:.75rem}.solver-runtime-grid>div{display:flex;flex-direction:column;gap:.12rem;min-width:0;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:6px;background:#ffffff59}[data-theme=dark] .solver-runtime-grid>div{background:#ffffff0a}.solver-task-plan{margin:0 0 .75rem}.solver-task-plan h4{margin:0 0 .4rem;font-size:.82rem;font-weight:700;color:var(--color-heading)}.solver-task-table{font-size:.78rem}.solver-status{display:inline-flex;align-items:center;min-height:20px;padding:.05rem .4rem;border-radius:999px;background:var(--color-surface-hover);color:var(--color-heading);font-weight:700;white-space:nowrap}.solver-status-pending{color:var(--color-text-muted);font-weight:600}.solver-status-running{background:#235c861f;color:#235c86}.solver-status-skipped-strict-infeasible,.solver-status-skipped{background:#6b5e541f;color:var(--color-text-muted)}.solver-status-optimal,.solver-status-feasible,.solver-status-bestsollimit,.solver-status-sollimit,.solver-status-gaplimit{background:#2386361f;color:#1f7a35}.solver-status-timelimit{background:#b5761424;color:#9a640d}.solver-status-error,.solver-status-no-solution-found,.solver-status-infeasible{background:#c444441f;color:#c44}.solver-result-ready-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem}.solver-result-ready-list span{display:inline-flex;align-items:center;min-height:24px;padding:.1rem .45rem;border:1px solid rgba(35,134,54,.22);border-radius:999px;background:#2386361a;color:#1f7a35;font-size:.74rem;font-weight:750}.solver-result-ready-list span.demand-relaxed{border-color:#c444444d;background:#c444441a;color:#c44}@media(max-width:1100px){.solver-runtime-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}}@media(max-width:700px){.solver-runtime-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}}.solve-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-btn-active);border-radius:50%;flex:0 0 auto;animation:solve-spin .85s linear infinite}@keyframes solve-spin{to{transform:rotate(360deg)}}.solve-view-empty{margin:0;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.solve-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.solve-view-grid>div{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .75rem;background:var(--color-surface, rgba(0, 0, 0, .03));border-radius:6px}.precheck-section{border:1px solid var(--color-border);border-radius:8px;padding:0;background:#23863612}.precheck-section.has-issues{background:#c4444412;border-color:#c444443d}.precheck-section.warning{background:#b5761414;border-color:#b5761447}.precheck-section.loading{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 14% 8%,rgba(255,255,255,.42),transparent 52%),linear-gradient(135deg,#f5f0e86b,#f5f0e829),var(--color-surface, rgba(0, 0, 0, .025));border-color:#6b5e5447;box-shadow:inset 0 1px 1px #ffffff70,inset 1px 0 #ffffff2e,0 10px 30px -16px #4a3f362e;backdrop-filter:blur(28px) saturate(150%) brightness(1.03);-webkit-backdrop-filter:blur(28px) saturate(150%) brightness(1.03)}[data-theme=dark] .precheck-section.loading{background:radial-gradient(ellipse at 14% 8%,rgba(255,255,255,.11),transparent 52%),linear-gradient(135deg,#ffffff0f,#ffffff05),var(--color-surface, rgba(255, 255, 255, .04));border-color:#ffffff14;box-shadow:inset 0 1px 1px #ffffff14,inset 1px 0 #ffffff0a,0 10px 30px -14px #0000008c;backdrop-filter:blur(30px) saturate(135%) brightness(.9);-webkit-backdrop-filter:blur(30px) saturate(135%) brightness(.9)}.precheck-section.loading:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:#f5f0e894;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);animation:precheck-frost-clear 2s cubic-bezier(.86,0,.96,.58) forwards}[data-theme=dark] .precheck-section.loading:before{background:#0000006b}.precheck-section.loading:after{content:"";position:absolute;top:50%;left:50%;z-index:5;pointer-events:none;width:24px;height:24px;margin:-12px 0 0 -12px;border:3px solid rgba(107,94,84,.22);border-top-color:var(--color-btn-active);border-radius:50%;animation:solve-spin .8s linear infinite}[data-theme=dark] .precheck-section.loading:after{border-color:#ffffff29;border-top-color:var(--color-heading)}.precheck-section.loading>.solve-disclosure-summary,.precheck-section.loading>.solve-disclosure-body{position:relative;z-index:4}.precheck-section.loading>.solve-disclosure-summary{overflow:hidden;border-radius:inherit;background:#f5f0e8a8;box-shadow:inset 0 -1px #6b5e5414}.precheck-section.loading .solve-disclosure-body{display:none}[data-theme=dark] .precheck-section.loading>.solve-disclosure-summary{background:#161616b8}.precheck-loading-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:.15rem .55rem;border:1px solid rgba(107,94,84,.28);border-radius:999px;background:#6b5e541f;color:var(--color-btn-active);font-size:.75rem;font-weight:700;white-space:nowrap}[data-theme=dark] .precheck-loading-badge{border-color:var(--color-btn-border);background:#ffffff14;color:var(--color-heading)}.precheck-loading-body{display:grid;gap:.7rem}.precheck-calendar-loader{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:.35rem}.precheck-calendar-loader span{position:relative;min-height:34px;overflow:hidden;border:1px solid var(--color-border);border-radius:6px;background:linear-gradient(135deg,#6b5e541f,#f5f0e838),var(--fc-neutral-bg-color, rgba(0, 0, 0, .03));box-shadow:inset 0 1px #ffffff47;animation:precheck-cell-breathe 1.8s ease-in-out infinite}[data-theme=dark] .precheck-calendar-loader span{background:linear-gradient(135deg,#ffffff14,#ffffff06),var(--fc-neutral-bg-color, rgba(255, 255, 255, .03));box-shadow:inset 0 1px #ffffff12}.precheck-calendar-loader span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(107,94,84,.18),transparent);transform:translate(-120%);animation:precheck-cell-sheen 1.9s ease-in-out infinite}.precheck-calendar-loader span:nth-child(2n){animation-delay:.12s}.precheck-calendar-loader span:nth-child(3n){animation-delay:.24s}.precheck-calendar-loader span:nth-child(5n):after{animation-delay:.18s}.precheck-loading-track{display:grid;gap:.4rem}.precheck-loading-track span{display:block;height:12px;overflow:hidden;border-radius:6px;background:linear-gradient(90deg,transparent,rgba(107,94,84,.18),transparent),var(--fc-neutral-bg-color, rgba(0, 0, 0, .03));background-size:220% 100%;border:1px solid var(--color-border);animation:precheck-loading-shimmer 1.25s ease-in-out infinite}.precheck-loading-track span:nth-child(2){width:82%}.precheck-loading-track span:nth-child(3){width:64%}@keyframes precheck-loading-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.002)}}@keyframes precheck-frost-clear{0%{opacity:1;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%)}58%{opacity:.9;backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}82%{opacity:.58;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}to{opacity:0;backdrop-filter:blur(0) saturate(100%);-webkit-backdrop-filter:blur(0) saturate(100%)}}@keyframes precheck-brown-halo{0%,to{border-color:#6b5e5447;box-shadow:inset 0 1px 1px #ffffff75,inset 1px 0 #ffffff2e,inset 0 -1px #6b5e541f,0 10px 30px -16px #4a3f363d,0 0 #6b5e5424}50%{border-color:#6b5e5494;box-shadow:inset 0 1px 1px #ffffff85,inset 1px 0 #ffffff38,inset 0 -1px #6b5e542e,0 12px 32px -16px #4a3f3647,0 0 0 5px #6b5e541a,0 0 22px #6b5e5438}}@keyframes precheck-dark-halo{0%,to{border-color:#ffffff14;box-shadow:inset 0 1px 1px #ffffff14,inset 1px 0 #ffffff0a,inset 0 -1px #ffffff05,0 10px 30px -14px #0000008c,0 0 #ffffff0a}50%{border-color:#ffffff2e;box-shadow:inset 0 1px 1px #ffffff1f,inset 1px 0 #ffffff0f,inset 0 -1px #ffffff08,0 10px 30px -14px #00000094,0 0 0 5px #ffffff06,0 0 18px #ffffff0f}}@keyframes precheck-grid-drift{to{background-position:24px 24px,24px 24px}}@keyframes precheck-loading-sweep{0%,to{transform:scale(.985);opacity:.38}50%{transform:scale(1.012);opacity:.68}}@keyframes precheck-cell-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes precheck-cell-sheen{0%,18%{transform:translate(-120%)}58%,to{transform:translate(120%)}}@keyframes precheck-loading-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.precheck-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.precheck-heading h3{margin-bottom:.25rem}.precheck-heading p{margin:0;color:var(--color-text-muted);font-size:.85rem;line-height:1.35}.precheck-status{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#2386361f;color:#1f7a35;white-space:nowrap}.precheck-status.error{background:#c444441f;color:#c44}.precheck-status.warning{background:#b5761424;color:#9a640d}.precheck-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.precheck-section .precheck-stats{margin-top:0}.precheck-stats span{display:inline-flex;align-items:center;min-height:22px;padding:.1rem .45rem;border-radius:999px;background:#ffffff6b;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.74rem;font-weight:650}[data-theme=dark] .precheck-stats span{background:#ffffff0d}.precheck-visual-toolbar{display:flex;justify-content:flex-end;margin-top:.75rem}.precheck-mode-switcher{display:inline-flex;overflow:hidden;border:1px solid var(--color-btn-border);border-radius:7px;background:#ffffff61}[data-theme=dark] .precheck-mode-switcher{background:#ffffff0a}.precheck-mode-switcher button{min-height:30px;padding:.25rem .65rem;border:none;border-right:1px solid var(--color-btn-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.78rem;font-weight:700}.precheck-mode-switcher button:last-child{border-right:none}.precheck-mode-switcher button:hover{background:var(--color-surface-hover);color:var(--color-heading)}.precheck-mode-switcher button.active{background:var(--color-btn-active);color:#fff}.precheck-groups{display:flex;flex-direction:column;gap:.75rem;margin-top:.85rem}.precheck-category-panel{overflow:hidden;border:1px solid rgba(196,68,68,.18);border-radius:8px;background:#ffffff57}[data-theme=dark] .precheck-category-panel{background:#ffffff0a}.precheck-category-summary{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.55rem .65rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.precheck-category-summary::-webkit-details-marker{display:none}.precheck-category-summary::marker{content:""}.precheck-category-summary:hover{background:#c444440f}.precheck-category-copy{display:flex;flex:1;flex-direction:column;gap:.08rem;min-width:0}.precheck-category-title{color:var(--color-heading);font-size:.84rem;font-weight:800;line-height:1.2}.precheck-category-meta{overflow:hidden;color:var(--color-text-muted);font-size:.72rem;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.precheck-category-chevron{flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform .15s ease}.precheck-category-panel[open] .precheck-category-chevron{transform:rotate(225deg)}.precheck-category-panel[open] .precheck-category-meta{white-space:normal}.precheck-category-body{padding:.65rem;border-top:1px solid rgba(196,68,68,.14)}.precheck-issue-list{display:grid;gap:.5rem}.precheck-issue{padding:.65rem .75rem;border-radius:7px;border:1px solid rgba(196,68,68,.18);background:#ffffff6b}[data-theme=dark] .precheck-issue{background:#ffffff0d}.precheck-issue-title{font-size:.86rem;font-weight:700;color:var(--color-heading)}.precheck-impact-card,.precheck-timeline-row{display:flex;flex-direction:column;gap:.45rem}.precheck-impact-body{display:grid;grid-template-columns:minmax(185px,.42fr) minmax(0,1fr);gap:.65rem;align-items:center;margin-top:.15rem}.precheck-impact-summary{min-width:0}.precheck-impact-metrics{display:grid;grid-template-columns:minmax(74px,1fr) auto minmax(74px,1fr);gap:.35rem;align-items:center}.precheck-impact-metrics.neutral{grid-template-columns:repeat(2,minmax(74px,1fr))}.precheck-impact-metric{display:flex;flex-direction:column;gap:.1rem;min-width:0;padding:.45rem .55rem;border:1px solid var(--color-border);border-radius:7px;background:#ffffff7a}[data-theme=dark] .precheck-impact-metric{background:#ffffff0d}.precheck-impact-metric span{color:var(--color-text-muted);font-size:.66rem;font-weight:750;letter-spacing:.04em;line-height:1;text-transform:uppercase}.precheck-impact-metric strong{color:var(--color-heading);font-size:1.55rem;line-height:1.05}.precheck-impact-metric.available strong{color:#c44}.precheck-impact-divider{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.precheck-chip-row,.precheck-job-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.precheck-meta-chip,.precheck-job-chip,.precheck-impact-pill{display:inline-flex;align-items:center;min-height:22px;max-width:100%;padding:.1rem .45rem;border:1px solid var(--color-border);border-radius:999px;background:#ffffff70;color:var(--color-text-muted);font-size:.72rem;font-weight:700;line-height:1.2}[data-theme=dark] .precheck-meta-chip,[data-theme=dark] .precheck-job-chip,[data-theme=dark] .precheck-impact-pill{background:#ffffff0d}.precheck-job-chip{border-color:#235c8633;background:#235c8614;color:var(--color-heading)}.precheck-impact-pill{flex:0 0 auto;color:var(--color-heading)}.precheck-impact-pill strong{margin:0 .15rem}.precheck-timeline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem}.precheck-timeline-body{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.65rem;align-items:center}.precheck-timeline-time{color:var(--color-heading);font-size:.78rem;font-weight:800;white-space:nowrap}.precheck-timeline-bar-wrap{min-width:0}.precheck-timeline-bar{position:relative;height:14px;overflow:hidden;border:1px solid var(--color-border);border-radius:999px;background:#6b5e5424}.precheck-timeline-highlight{position:absolute;top:2px;bottom:2px;border-radius:999px;background:#c44}.precheck-timeline-scale{display:flex;justify-content:space-between;margin-top:.18rem;color:var(--color-text-muted);font-size:.66rem;font-weight:700}.precheck-calendar-layout{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(320px,1.18fr);gap:.75rem;margin-top:.85rem}.precheck-calendar-selector{display:flex;flex-direction:column;gap:.45rem;min-width:0}.precheck-calendar-selector .precheck-category-body{padding:.5rem}.precheck-calendar-option-list{display:flex;flex-direction:column;gap:.45rem}.precheck-calendar-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.55rem .65rem;border:1px solid rgba(196,68,68,.16);border-radius:7px;background:#ffffff61;color:var(--color-heading);cursor:pointer;text-align:left}[data-theme=dark] .precheck-calendar-option{background:#ffffff0d}.precheck-calendar-option:hover,.precheck-calendar-option.active{border-color:#c4444461;background:#c4444414}.precheck-calendar-option-title{font-size:.8rem;font-weight:800}.precheck-calendar-option-meta{color:var(--color-text-muted);font-size:.7rem;font-weight:700}.precheck-calendar-panel{min-width:0;padding:.7rem;border:1px solid rgba(196,68,68,.16);border-radius:7px;background:#ffffff5c}[data-theme=dark] .precheck-calendar-panel{background:#ffffff0d}.precheck-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.precheck-calendar-heading>div{display:flex;flex-direction:column;gap:.08rem}.precheck-calendar-heading strong{color:var(--color-heading);font-size:.9rem}.precheck-calendar-heading span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.precheck-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));gap:.25rem;margin-top:.65rem}.precheck-calendar-weekday{color:var(--color-text-muted);font-size:.64rem;font-weight:800;text-align:center}.precheck-calendar-empty,.precheck-calendar-day{aspect-ratio:1;min-height:30px}.precheck-calendar-day{display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:6px;background:#ffffff4d;color:var(--color-heading);font-size:.75rem;font-weight:700}[data-theme=dark] .precheck-calendar-day{background:#ffffff0a}.precheck-calendar-day.hit{border-color:#c4444475;background:#c4444429;box-shadow:inset 0 0 0 1px #c444442e;color:var(--color-heading);font-weight:900}.precheck-calendar-selected{margin-top:.75rem}.precheck-issue p{margin:.25rem 0 0;color:var(--color-heading);font-size:.82rem;line-height:1.35}.precheck-issue-meta,.precheck-issue-suggestion{margin-top:.35rem;font-size:.76rem;line-height:1.35}.precheck-issue-meta{color:var(--color-text-muted)}.precheck-date-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.precheck-date-chip{display:inline-flex;align-items:center;min-height:22px;padding:.1rem .45rem;border-radius:999px;background:#c4444414;border:1px solid rgba(196,68,68,.16);color:var(--color-heading);font-size:.74rem;font-weight:650}.precheck-date-chip.more{color:var(--color-text-muted);background:#6b5e5414;border-color:var(--color-border)}.precheck-issue-suggestion{color:#9a640d;font-weight:650}.precheck-occurrences{margin-top:.5rem;font-size:.76rem;color:var(--color-text-muted)}.precheck-occurrences summary{width:fit-content;cursor:pointer;color:var(--color-heading);font-weight:700}.precheck-detail-text{margin-top:.45rem;color:var(--color-heading);font-size:.78rem;line-height:1.35}.precheck-detail-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.2rem .5rem;margin-top:.45rem}.precheck-detail-grid span{color:var(--color-text-muted);font-weight:700}.precheck-detail-grid strong{min-width:0;color:var(--color-heading);font-weight:700}.precheck-occurrences ul{margin:.4rem 0 0;padding-left:1rem}.precheck-occurrences li+li{margin-top:.2rem}.kv-key{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.kv-val{font-size:.95rem;font-weight:600;color:var(--color-heading)}.solve-view-table{width:100%;border-collapse:collapse;font-size:.85rem}.solve-view-table th,.solve-view-table td{padding:.4rem .6rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.solve-view-table th{font-weight:600;color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}.solve-view-table td.kv-key{font-size:.8rem;color:var(--color-text-muted);text-transform:none;letter-spacing:0;font-weight:600;white-space:nowrap}.solve-view-json{margin:0;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;background:var(--color-surface, rgba(0, 0, 0, .04));color:var(--color-heading);border-radius:8px;overflow-x:auto;white-space:pre;max-height:480px;overflow-y:auto}.solve-log{max-height:220px;white-space:pre-wrap}.solve-view-error .solve-disclosure-title{color:#c44}@media(max-width:850px){.precheck-heading,.precheck-timeline-header,.precheck-calendar-heading{flex-direction:column}.precheck-visual-toolbar{justify-content:flex-start}.precheck-impact-body,.precheck-timeline-body,.precheck-calendar-layout{grid-template-columns:1fr}}.results-dashboard-panel{flex:0 0 390px;min-width:0;min-height:0;display:flex}.results-dashboard-panel .glass-container{flex:1;min-height:0}.results-dashboard-panel .glass-content{height:100%;padding:1rem;box-sizing:border-box}.results-dashboard{display:flex;flex-direction:column;gap:.9rem;height:100%;min-height:0;overflow:auto}.results-dashboard h2,.results-dashboard h3{margin:0;color:var(--color-heading)}.results-dashboard h2{font-size:1rem;font-weight:750}.results-dashboard h3{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.results-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.results-dashboard-header>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.results-dashboard-header span,.results-selected-summary span,.results-solution-copy em,.results-person-metrics,.results-kicker{color:var(--color-text-muted);font-size:.74rem;font-style:normal;font-weight:650;line-height:1.25}.results-dashboard button{border:1px solid var(--color-btn-border);border-radius:6px;background:var(--color-surface, rgba(255, 255, 255, .34));color:var(--color-heading);cursor:pointer;font:inherit}.results-dashboard-header button,.results-reset-button{flex:0 0 auto;min-height:30px;padding:.25rem .55rem;font-size:.76rem;font-weight:750}.results-dashboard button:hover{background:var(--color-surface-hover)}.results-selected-summary{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:.55rem;align-items:center;padding:.7rem;border:1px solid var(--color-border);border-radius:8px;background:#ffffff47}.results-demand-warning{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .7rem;border:1px solid rgba(196,68,68,.32);border-radius:8px;background:#c444441a}.results-demand-warning strong{color:#c44;font-size:.86rem}.results-demand-warning span{color:var(--color-heading);font-size:.76rem;font-weight:650;line-height:1.35}[data-theme=dark] .results-selected-summary,[data-theme=dark] .results-weight-section,[data-theme=dark] .results-solution-section,[data-theme=dark] .results-settings-section,[data-theme=dark] .results-demand-issues-section,[data-theme=dark] .results-person-section{background:#ffffff0a}.results-selected-summary>div{display:flex;flex-direction:column;gap:.18rem;min-width:0}.results-selected-summary strong{overflow-wrap:anywhere;color:var(--color-heading);font-size:.95rem;line-height:1.2}.results-radar{width:180px;height:180px}.results-radar-grid{fill:none;stroke:var(--color-border);stroke-width:1}.results-radar-axis{stroke:var(--color-border);stroke-width:1}.results-radar-fill{fill:#2386362e}.results-radar-stroke{fill:none;stroke:#238636;stroke-width:2}.results-radar-label{fill:var(--color-text-muted);font-size:10px;font-weight:750}.results-weight-section,.results-solution-section,.results-settings-section,.results-demand-issues-section,.results-person-section{display:flex;flex-direction:column;gap:.55rem;padding:.7rem;border:1px solid var(--color-border);border-radius:8px;background:#ffffff38}.results-weight-control{display:flex;flex-direction:column;gap:.25rem}.results-weight-control>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.results-weight-control strong{color:var(--color-heading);font-size:.78rem}.results-weight-control em{min-width:22px;color:var(--color-text-muted);font-size:.78rem;font-style:normal;font-weight:800;text-align:right}.results-weight-control input{width:100%;accent-color:var(--color-btn-active)}.results-solution-list,.results-person-list{display:flex;flex-direction:column;gap:.45rem}.results-solution-list{max-height:240px;overflow:auto}.results-solution-list button{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;gap:.45rem;align-items:center;width:100%;padding:.45rem .5rem;text-align:left}.results-solution-list button.active{border-color:var(--color-btn-active);background:#2386361a}.results-solution-rank,.results-solution-score{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:6px;background:var(--color-surface-hover);color:var(--color-heading);font-size:.74rem;font-weight:800}.results-solution-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.results-solution-copy strong,.results-solution-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-solution-copy strong{color:var(--color-heading);font-size:.78rem}.results-solution-copy .results-duplicate-label{color:#9a640d}.results-solution-copy .results-producer-label{color:var(--color-heading)}.results-solution-copy .results-demand-label{color:#c44}.results-settings-list{display:flex;flex-direction:column;gap:.45rem}.results-settings-card{display:flex;flex-direction:column;gap:.28rem;padding:.55rem;border:1px solid var(--color-border);border-radius:7px;background:#ffffff3d}[data-theme=dark] .results-settings-card{background:#ffffff0a}.results-settings-card strong{color:var(--color-heading);font-size:.8rem}.results-settings-card span,.results-settings-card em{color:var(--color-text-muted);font-size:.72rem;font-style:normal;font-weight:650;line-height:1.3}.results-setting-chips{display:flex;flex-wrap:wrap;gap:.3rem}.results-setting-chips span{display:inline-flex;align-items:center;min-height:22px;padding:.1rem .4rem;border:1px solid var(--color-border);border-radius:999px;background:#ffffff52;color:var(--color-text-muted);font-size:.68rem;font-weight:700}[data-theme=dark] .results-setting-chips span{background:#ffffff0d}.results-demand-issue-summary{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.results-demand-issue-summary strong{color:#c44;font-size:.8rem}.results-demand-issue-summary span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.results-demand-issue-list{display:flex;flex-direction:column;gap:.45rem;max-height:220px;overflow:auto}.results-demand-issue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;padding:.55rem;border:1px solid rgba(196,68,68,.34);border-radius:7px;background:#c444441a}.results-demand-issue>div{display:flex;flex-direction:column;gap:.08rem;min-width:0}.results-demand-issue strong{overflow:hidden;color:var(--color-heading);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.results-demand-issue span,.results-demand-issue em{color:var(--color-text-muted);font-size:.72rem;font-style:normal;font-weight:700;line-height:1.3}.results-demand-issue em{color:#c44}.results-demand-issue>span{grid-column:1 / -1;overflow-wrap:anywhere}.results-person-row{display:flex;flex-direction:column;gap:.3rem;padding:.55rem;border:1px solid var(--color-border);border-radius:7px;background:#ffffff3d}[data-theme=dark] .results-person-row{background:#ffffff0a}.results-person-main{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.results-person-name{min-width:0;overflow:hidden;color:var(--color-heading);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.results-person-hours{flex:0 0 auto;color:var(--color-heading);font-size:.78rem;font-weight:750}.results-hours-track{height:8px;overflow:hidden;border-radius:999px;background:#6b5e5424}.results-hours-track span{display:block;height:100%;border-radius:inherit;background:#238636}.results-hours-track span.overtime{background:#b57614}.results-person-metrics{display:flex;flex-wrap:wrap;gap:.3rem .55rem}.results-dashboard-empty{color:var(--color-text-muted);font-size:.78rem;font-weight:650}.results-reset-button{width:100%}@media(max-width:1180px){.results-dashboard-panel{flex:0 0 340px}.results-selected-summary{grid-template-columns:1fr}.results-radar{justify-self:center}}@media(max-width:900px){.app-content-row{flex-direction:column}.results-dashboard-panel{flex:0 0 auto;max-height:46vh}}.app{height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.app-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background-color:var(--color-app-bar);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='30'%3E%3Crect x='0' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='16' y='0' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='40' y='0' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='60' y='0' width='28' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='88' y='0' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='102' y='0' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='124' y='0' width='18' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='142' y='0' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='168' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='184' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='0' y='3' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='22' y='3' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='36' y='3' width='30' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='66' y='3' width='18' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='84' y='3' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='108' y='3' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='124' y='3' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='150' y='3' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='170' y='3' width='14' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='184' y='3' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='0' y='6' width='18' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='18' y='6' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='44' y='6' width='12' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='56' y='6' width='32' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='88' y='6' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='104' y='6' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='126' y='6' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='146' y='6' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='170' y='6' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='184' y='6' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='0' y='9' width='28' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='28' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='44' y='9' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='66' y='9' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='80' y='9' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='106' y='9' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='126' y='9' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='144' y='9' width='24' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='168' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='184' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='0' y='12' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='14' y='12' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='36' y='12' width='18' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='54' y='12' width='30' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='84' y='12' width='12' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='96' y='12' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='120' y='12' width='28' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='148' y='12' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='164' y='12' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='184' y='12' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='0' y='15' width='20' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='20' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='36' y='15' width='28' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='64' y='15' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='78' y='15' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='102' y='15' width='22' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='124' y='15' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='142' y='15' width='26' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='168' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='184' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='0' y='18' width='24' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='24' y='18' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='42' y='18' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='56' y='18' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='82' y='18' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='102' y='18' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='118' y='18' width='30' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='148' y='18' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='170' y='18' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='184' y='18' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='0' y='21' width='30' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='30' y='21' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='44' y='21' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='68' y='21' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='88' y='21' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='106' y='21' width='26' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='132' y='21' width='12' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='144' y='21' width='22' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='166' y='21' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='184' y='21' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='0' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='16' y='24' width='28' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='44' y='24' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='64' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='80' y='24' width='22' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='102' y='24' width='30' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='132' y='24' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='146' y='24' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='170' y='24' width='14' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='184' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='0' y='27' width='22' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='22' y='27' width='20' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='42' y='27' width='26' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='68' y='27' width='12' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='80' y='27' width='28' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='108' y='27' width='18' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='126' y='27' width='24' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='150' y='27' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3Crect x='166' y='27' width='18' height='2' rx='1' fill='%23fff' opacity='0.035'/%3E%3Crect x='184' y='27' width='16' height='2' rx='1' fill='%23fff' opacity='0.02'/%3E%3C/svg%3E");transition:background-color .3s ease,border-color .3s ease}.app-bar-title{font-size:1.1rem;font-weight:600;color:var(--color-app-bar-text)}.app-bar-actions{display:flex;align-items:center;gap:.35rem}.app-bar-settings{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.4rem;border-radius:6px;cursor:pointer;color:var(--color-app-bar-text);opacity:.8}.app-bar-text-button{gap:.4rem;min-height:32px;padding:.35rem .75rem;font-size:.86rem;font-weight:650}.app-bar-settings:hover{background:#ffffff1a;color:var(--color-app-bar-text);opacity:1}.app-bar-settings.active{background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff2e;opacity:1}[data-theme=dark] .app-bar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='30'%3E%3Crect x='0' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='16' y='0' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='40' y='0' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='60' y='0' width='28' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='88' y='0' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='102' y='0' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='124' y='0' width='18' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='142' y='0' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='168' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='184' y='0' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='0' y='3' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='22' y='3' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='36' y='3' width='30' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='66' y='3' width='18' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='84' y='3' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='108' y='3' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='124' y='3' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='150' y='3' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='170' y='3' width='14' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='184' y='3' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='0' y='6' width='18' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='18' y='6' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='44' y='6' width='12' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='56' y='6' width='32' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='88' y='6' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='104' y='6' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='126' y='6' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='146' y='6' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='170' y='6' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='184' y='6' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='0' y='9' width='28' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='28' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='44' y='9' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='66' y='9' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='80' y='9' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='106' y='9' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='126' y='9' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='144' y='9' width='24' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='168' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='184' y='9' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='0' y='12' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='14' y='12' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='36' y='12' width='18' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='54' y='12' width='30' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='84' y='12' width='12' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='96' y='12' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='120' y='12' width='28' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='148' y='12' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='164' y='12' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='184' y='12' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='0' y='15' width='20' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='20' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='36' y='15' width='28' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='64' y='15' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='78' y='15' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='102' y='15' width='22' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='124' y='15' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='142' y='15' width='26' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='168' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='184' y='15' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='0' y='18' width='24' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='24' y='18' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='42' y='18' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='56' y='18' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='82' y='18' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='102' y='18' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='118' y='18' width='30' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='148' y='18' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='170' y='18' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='184' y='18' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='0' y='21' width='30' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='30' y='21' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='44' y='21' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='68' y='21' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='88' y='21' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='106' y='21' width='26' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='132' y='21' width='12' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='144' y='21' width='22' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='166' y='21' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='184' y='21' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='0' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='16' y='24' width='28' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='44' y='24' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='64' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='80' y='24' width='22' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='102' y='24' width='30' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='132' y='24' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='146' y='24' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='170' y='24' width='14' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='184' y='24' width='16' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='0' y='27' width='22' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='22' y='27' width='20' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='42' y='27' width='26' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='68' y='27' width='12' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='80' y='27' width='28' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='108' y='27' width='18' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='126' y='27' width='24' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='150' y='27' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3Crect x='166' y='27' width='18' height='2' rx='1' fill='%23fff' opacity='0.05'/%3E%3Crect x='184' y='27' width='16' height='2' rx='1' fill='%23fff' opacity='0.03'/%3E%3C/svg%3E")}.app-content{flex:1;min-height:0;padding:1rem;position:relative;display:flex;flex-direction:column}.app-content-row{display:flex;flex-direction:row;gap:1rem;flex:1;min-height:0}.calendar-column{flex:1;min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}.calendar-column>.glass-container{flex:1;min-height:0}[data-theme=dark] .calendar-column>.glass-container{--glass-opacity: .25;--glass-blur: 40px}.calendar-column>.glass-container .glass-content{display:flex;flex-direction:column;height:100%;padding:1rem 0 0;box-sizing:border-box}.calendar-toolbar{display:flex;align-items:center;justify-content:center;position:relative;padding:0 1rem;margin-bottom:.75rem;flex-shrink:0}.calendar-title-nav{display:flex;align-items:center;gap:.5rem}.calendar-toolbar-actions{position:absolute;right:1rem;display:flex;align-items:center;gap:.5rem}.calendar-mode-toggle{display:flex;border:1px solid var(--color-btn-border);border-radius:6px;overflow:hidden;background:var(--color-surface, rgba(0, 0, 0, .03))}.calendar-mode-toggle button{border:none;border-right:1px solid var(--color-btn-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.82rem;font-weight:600;min-height:32px;padding:.3rem .7rem}.calendar-mode-toggle button:last-child{border-right:none}.calendar-mode-toggle button:hover{background:var(--color-surface-hover);color:var(--color-heading)}.calendar-mode-toggle button.active{background:var(--color-btn-active);color:#fff}.calendar-top-buttons{position:absolute;left:1rem;top:.7rem;z-index:50;display:flex;align-items:center;gap:.5rem}.add-anchor{position:relative}.add-anchor.open>.add-trigger{position:relative;z-index:201}.add-trigger{display:flex;align-items:center;gap:.4rem;background:var(--color-btn-active);color:#fff;border:none;border-radius:6px;padding:.35rem .85rem;cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity .15s ease}.add-trigger:hover{opacity:.85}.add-trigger.glass{position:relative;overflow:hidden;background:#4a4a4a8c;border:.5px solid rgba(255,255,255,.08);backdrop-filter:blur(4px) saturate(140%) brightness(.9);-webkit-backdrop-filter:blur(4px) saturate(140%) brightness(.9)}.add-trigger.glass:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 25%,transparent 60%),linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 50%)}.add-trigger.glass:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff1a,inset 1px 0 #ffffff0d}.add-trigger.glass:hover{background:#4a4a4ab3}.add-panel-backdrop{position:fixed;inset:0;z-index:199}.add-panel{position:fixed;z-index:200;width:400px}.add-panel .glass-container,.add-panel .glass-slab{height:auto}.add-panel .glass-container .glass-content{display:flex;flex-direction:column;height:auto;padding:16px}.add-panel-spacer{height:55px}.add-panel-categories{display:flex;gap:8px}.add-panel-btn{flex:1;padding:.6rem 1rem;border:1px solid var(--color-btn-border);border-radius:8px;background:none;color:var(--color-heading);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.add-panel-btn:hover{background:var(--color-btn-active);color:#fff;border-color:var(--color-btn-active)}.day-click-popup{position:fixed;z-index:200;width:250px;transform:translate(-50%,-100%);margin-top:-10px}.day-click-popup .glass-container,.day-click-popup .glass-slab{height:auto}.day-click-popup .glass-container .glass-content{display:flex;flex-direction:column;height:auto;padding:16px}.day-click-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.day-click-header h3{margin:0;font-size:1rem;font-weight:600;color:#000}.day-click-header button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:#d44;cursor:pointer;transition:background .15s ease,color .15s ease}.day-click-header button:hover{background:#dd44441f;color:#c22}.expanded-event-overlay{position:fixed;z-index:200;min-width:160px;transform:translate(-50%,-100%)}.expanded-event-overlay .glass-container,.expanded-event-overlay .glass-slab{width:auto;height:auto}.expanded-event-overlay .glass-content{padding:.65rem 2.2rem}.expanded-event-info{display:flex;flex-direction:column;align-items:center;gap:.15rem;white-space:nowrap}.expanded-event-name{font-weight:600;font-size:.9rem;color:var(--color-heading)}.expanded-event-time{font-size:.8rem;color:var(--color-text-muted)}.expanded-event-edit,.expanded-event-close{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.expanded-event-edit{top:5px;left:5px;color:var(--color-btn-text)}.expanded-event-edit:hover{background:var(--color-surface-hover);color:var(--color-heading)}.expanded-event-close{top:5px;right:5px;color:#d44}.expanded-event-close:hover{background:#dd44441f;color:#c22}@media(max-width:768px){.calendar-toolbar{flex-direction:column;gap:.5rem;align-items:center}.calendar-toolbar-actions{position:static;right:auto;order:-1}.calendar-top-buttons{position:static;padding:0 1rem .5rem}}.invite-page{min-height:100vh;padding:32px 24px;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:center}.invite-page .glass-container{width:100%;max-width:760px}.invite-card{padding:28px 32px;color:var(--color-text);display:flex;flex-direction:column;gap:12px}.invite-card h1{margin:0;font-size:22px}.invite-subtitle,.invite-description{margin:0;font-size:14px;opacity:.85}.invite-status-strip{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}.invite-status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500}.invite-status-not_started{background:#a0a0a033;color:#555}.invite-status-in_progress{background:#dc963c33;color:#a36e1a}.invite-status-submitted{background:#46a05a33;color:#2d8847}.invite-status-locked{background:#7864c833;color:#5a4ba8}.invite-deadline{font-size:13px;opacity:.85}.invite-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.invite-action{background:var(--color-btn-active);color:#fff;text-decoration:none;border-radius:10px;padding:16px;text-align:center;font-size:14px;transition:filter .15s ease}.invite-action:hover{filter:brightness(1.1)}.invite-action.readonly{background:#78787899;cursor:not-allowed;pointer-events:none}.invite-warn{background:#dc963c1f;border:1px solid rgba(220,150,60,.4);color:#a36e1a;padding:8px 12px;border-radius:8px;margin:0;font-size:13px}.invite-error{color:#c04040}.invite-back-link{display:inline-block;margin-bottom:16px;color:var(--color-text);text-decoration:none;font-size:14px;opacity:.85}.invite-back-link:hover{opacity:1}.invite-saved-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:#46a05a33;color:#2d8847;margin-left:12px}.invite-saving-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:#a0a0a02e;color:var(--color-text);margin-left:12px}.invite-mode-toggle{display:flex;gap:8px;margin:12px 0 16px}.invite-mode-btn{background:transparent;border:1px solid rgba(0,0,0,.2);color:var(--color-text);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:13px}[data-theme=dark] .invite-mode-btn{border-color:#fff3}.invite-mode-btn.active{background:var(--color-btn-active);color:#fff;border-color:var(--color-btn-active)}.invite-continue-link{display:inline-block;margin-top:20px;background:var(--color-btn-active);color:#fff;text-decoration:none;padding:10px 18px;border-radius:8px;font-size:14px}.invite-continue-link:hover{filter:brightness(1.1)}.invite-section{margin-top:24px;display:flex;flex-direction:column;gap:8px}.invite-section-title{margin:0;font-size:15px}.invite-section-hint{margin:0;font-size:13px;opacity:.75}.invite-preferences-block{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:8px}[data-theme=dark] .invite-preferences-block{border-color:#ffffff1a}.invite-preferences-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.invite-submit-row{display:flex;justify-content:flex-end;gap:12px;margin-top:32px}.invite-submit-btn{background:var(--color-btn-active);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer}.invite-submit-btn:disabled{opacity:.5;cursor:not-allowed}.invite-time-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:2px}.invite-time-row{display:contents}.invite-time-label{font-size:10px;color:var(--color-text);opacity:.6;text-align:right;padding-right:4px}.invite-time-cell{height:14px;background:#0000000a;border-radius:2px;cursor:pointer;-webkit-user-select:none;user-select:none}[data-theme=dark] .invite-time-cell{background:#ffffff0d}.invite-time-cell.outside{background:#00000005;cursor:not-allowed}[data-theme=dark] .invite-time-cell.outside{background:#ffffff05}.invite-time-day-label{font-size:11px;text-align:center;opacity:.75}.invite-pref-paint-toolbar{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.invite-pref-paint-btn{background:#0000000a;border:1px solid rgba(0,0,0,.15);color:var(--color-text);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}[data-theme=dark] .invite-pref-paint-btn{background:#ffffff0f;border-color:#ffffff26}.invite-pref-paint-btn.active{outline:2px solid var(--color-btn-active);outline-offset:1px}.invite-schedule-day{border-top:1px solid rgba(0,0,0,.06);padding:10px 0}[data-theme=dark] .invite-schedule-day{border-top-color:#ffffff14}.invite-schedule-day-title{font-size:13px;font-weight:600;opacity:.85;margin:0 0 6px}.invite-schedule-shift{background:#0000000a;border-radius:6px;padding:8px 12px;margin-bottom:6px;font-size:13px}[data-theme=dark] .invite-schedule-shift{background:#ffffff0a}.invite-schedule-coworkers{font-size:12px;opacity:.75;margin-top:4px}.invite-custom-editor{display:flex;flex-direction:column;gap:8px}.invite-custom-event{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:center;font-size:13px}.invite-custom-event input{padding:4px 8px;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:transparent;color:inherit;font-size:13px}[data-theme=dark] .invite-custom-event input{border-color:#fff3}.invite-custom-add{background:var(--color-btn-active);color:#fff;border:none;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12px;align-self:flex-start}.invite-custom-remove{background:transparent;border:none;color:#c04040;cursor:pointer;font-size:13px}
