.login-api-notice{width:100%;margin:0 0 1rem;padding:.75rem 1rem;border:1px solid rgba(220,165,70,.75);background:#73552359;color:#fad791;font-size:.85rem;line-height:1.45}.login-main{align-items:center;justify-content:center;padding:1.5rem}.login-shell{width:min(34rem,100%);padding:2rem 1.5rem;border:1px solid var(--color-deep-gray);background:#181c22b8;display:flex;flex-direction:column;align-items:center;gap:1rem}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.5rem}.login-brand .sparkmate-logo{height:24px;width:auto}.login-btn{min-width:16rem;min-height:2.5rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.sidebar{--sidebar-inset: 14px;flex-shrink:0;width:260px;min-width:260px;height:100%;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;background:var(--color-sidebar);border-right:1px solid var(--color-deep-gray);box-sizing:border-box}.sidebar-brand{padding:1.25rem var(--sidebar-inset) 1.5rem;border-bottom:1px solid var(--color-deep-gray)}.sidebar-brand .sparkmate-logo{display:block;height:22px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.sidebar-presence{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--color-deep-gray)}.sidebar-presence-count{margin:0 0 .5rem;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-dark-gray)}.sidebar-presence-stack{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem}.sidebar-presence-slot{position:relative;display:inline-flex;margin-left:0;flex-shrink:0;border-radius:0}.sidebar-presence-slot.is-self .user-avatar{box-shadow:0 0 0 2px var(--color-yellow)}.sidebar-presence-overflow{margin-left:.35rem;padding:.15rem .45rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;color:var(--color-gray);border:1px solid var(--color-deep-gray);background:#23272de6}.sidebar-nav{flex:1;padding:.75rem var(--sidebar-inset);display:flex;flex-direction:column;gap:2px}.sidebar-nav-cta{display:flex;align-items:center;gap:.65rem;width:100%;margin:0 0 .65rem;padding:.72rem .85rem;border:none;border-radius:0;background:var(--color-yellow);color:var(--color-black);font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;box-sizing:border-box}.sidebar-nav-cta:hover{filter:brightness(1.05)}.sidebar-nav-cta.is-active{box-shadow:inset 0 0 0 2px var(--color-black)}.sidebar-nav-cta .sidebar-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-black);opacity:1}.sidebar-nav-cta-label{flex:1;line-height:1.35}.sidebar-nav-cta-arrow{margin-left:auto;font-size:.88rem;line-height:1;font-weight:700}.sidebar-nav-bottom-links{margin-top:auto;display:flex;flex-direction:column;gap:.45rem;padding-top:.7rem}.sidebar-nav-cta--secondary{background:#5d616659;color:var(--color-gray)}.sidebar-nav-cta--secondary .sidebar-icon{color:var(--color-gray)}.sidebar-nav-cta--secondary:hover{filter:brightness(1.08)}.sidebar-link{position:relative;display:flex;align-items:center;gap:.75rem;width:100%;margin:0;padding:.65rem .75rem .65rem 12px;border:none;border-radius:0;background:transparent;color:var(--color-dark-gray);font-family:inherit;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer}.sidebar-link:hover{color:var(--color-gray)}.sidebar-link.is-active{color:var(--color-white);font-weight:700}.sidebar-link-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;border-radius:0}.sidebar-link.is-active .sidebar-link-rail{background:var(--color-yellow)}.sidebar-icon{width:20px;height:20px;flex-shrink:0;opacity:.85}.sidebar-link.is-active .sidebar-icon{color:var(--color-white);opacity:1}.sidebar-link-label{flex:1;line-height:1.35}.sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:#dc3232;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:0;text-transform:none;line-height:1;flex-shrink:0}.sidebar-footer{padding:1rem var(--sidebar-inset) 1.25rem;border-top:1px solid var(--color-deep-gray)}.sidebar-user{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.sidebar-user .user-avatar{flex-shrink:0}.sidebar-user-text{min-width:0}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.7rem;color:var(--color-dark-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-signout{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:none;background:none;color:var(--color-dark-gray);font-family:inherit;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.sidebar-signout:hover{color:var(--color-gray)}.sidebar-icon-sm{width:16px;height:16px}.control-system-shell{position:relative;flex:1;min-height:0;width:100%;background:var(--color-black)}.control-system-webview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.control-system-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:1.5rem;text-align:center;font-size:.85rem;color:var(--color-gray);background:#23272deb;pointer-events:none}.content-section.schedule-shell{max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:0}.schedule-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.45rem .65rem;margin:0;border-bottom:1px solid var(--color-deep-gray);background:#1a1e24fa}.schedule-toolbar h2{margin:0;margin-right:.25rem;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gray);opacity:.85}.schedule-toolbar .btn-secondary{padding:.35rem .6rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.schedule-week-nav{display:inline-flex;align-items:center;gap:.5rem}.schedule-week-label{font-size:.8rem;color:var(--color-gray);min-width:12rem;text-align:center}.schedule-projects-panel{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1px solid var(--color-deep-gray);background:#23272d80}.schedule-projects-panel h3{margin:0 0 .75rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-dark-gray)}.schedule-projects-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.schedule-projects-form input,.schedule-projects-form .lead-picker{min-width:12rem;flex:1}.schedule-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.schedule-project-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem;padding:.5rem 0;border-bottom:1px solid var(--color-deep-gray)}.schedule-project-row:last-child{border-bottom:none}.schedule-project-name{font-weight:600;color:var(--color-white);min-width:8rem}.schedule-project-deadline{font-size:.78rem;color:var(--color-dark-gray)}.schedule-cell--lead{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;overflow:visible}.lead-picker{position:relative;width:100%}.lead-picker-trigger{display:flex;align-items:center;gap:.45rem;width:100%;min-height:2.25rem;padding:.35rem .45rem;border:1px solid var(--color-deep-gray);background:#23272df2;color:var(--color-gray);font-family:inherit;font-size:.78rem;text-align:left;cursor:pointer}.lead-picker-trigger:hover{border-color:var(--color-dark-gray)}.lead-picker-trigger:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.lead-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lead-picker-placeholder{flex:1;color:var(--color-dark-gray);font-size:.75rem}.lead-picker-chevron{width:18px;height:18px;flex-shrink:0;opacity:.7;color:var(--color-dark-gray)}.lead-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.25rem 0;list-style:none;max-height:14rem;overflow-y:auto;border:1px solid var(--color-deep-gray);background:var(--color-sidebar);box-shadow:0 8px 24px #00000073;z-index:30}.lead-picker-option{display:flex;align-items:center;gap:.45rem;width:100%;padding:.4rem .6rem;border:none;background:transparent;color:var(--color-gray);font-family:inherit;font-size:.78rem;text-align:left;cursor:pointer}.lead-picker-option:hover{background:#5d616659}.lead-picker-option-label{flex:1;min-width:0}.status-select{width:100%;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.42rem .45rem;border-width:2px;border-style:solid;border-radius:0;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.status-select--production{color:var(--day-status-production-fg);background:var(--day-status-production-bg);border-color:var(--day-status-production-border)}.status-select--production:focus-visible{outline:2px solid var(--day-status-production-focus-ring);outline-offset:1px}.status-select--standby{color:var(--day-status-standby-fg);background:var(--day-status-standby-bg);border-color:var(--day-status-standby-border)}.status-select--standby:focus-visible{outline:2px solid var(--day-status-standby-focus-ring);outline-offset:1px}.status-select--aborted{color:var(--day-status-aborted-fg);background:var(--day-status-aborted-bg);border-color:var(--day-status-aborted-border)}.status-select--aborted:focus-visible{outline:2px solid var(--day-status-aborted-focus-ring);outline-offset:1px}.schedule-grid-wrap{flex:1;min-height:0;min-width:0;overflow:auto;border:none;background:#1e222966}.schedule-grid-inner{position:relative;display:block;box-sizing:border-box;width:100%;min-width:min-content}.schedule-column-overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.schedule-column-overlays--behind{z-index:0}.schedule-column-overlays--front{z-index:2}.schedule-past-column-bg{position:absolute;top:0;bottom:0;background:#303337eb}.schedule-today-column-highlight{position:absolute;top:0;bottom:0;box-sizing:border-box;border:2px solid var(--color-yellow)}.schedule-grid{position:relative;z-index:1;display:grid;grid-template-columns:11rem repeat(7,minmax(11.5rem,1fr));width:100%;min-width:91.5rem}.schedule-corner{position:sticky;left:0;z-index:3;background:var(--color-main);border-right:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray)}.schedule-day-head{padding:.3rem .5rem;text-align:center;border-bottom:1px solid var(--color-deep-gray);border-right:1px solid var(--color-deep-gray);background:#5d616633}.schedule-day-head:last-child{border-right:none}.schedule-day-name{display:block;font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-yellow)}.schedule-day-date{display:block;margin-top:.1rem;font-size:.72rem;color:var(--color-gray)}.schedule-label{position:sticky;left:0;z-index:10;padding:.5rem .65rem;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);border-right:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray);background:var(--color-main);align-self:stretch;display:flex;align-items:flex-start}.schedule-cell{padding:.45rem .5rem;border-right:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray);vertical-align:top;min-height:2.75rem}.schedule-cell:last-child{border-right:none}.schedule-placeholder{font-size:.75rem;color:var(--color-dark-gray);font-style:italic}.inventory-indicator{padding:.22rem .1rem;border:none;background:transparent;font-size:var(--schedule-inline-font-size);text-align:left;line-height:1.25;cursor:pointer;display:inline-flex;align-items:center;gap:.38rem}.inventory-indicator:hover .inventory-indicator-text{text-decoration:underline;text-underline-offset:2px}.inventory-indicator-dot{width:.52rem;height:.52rem;border-radius:999px;flex-shrink:0;background:var(--color-dark-gray);box-shadow:0 0 0 1px #0003}.inventory-indicator-text{color:var(--color-gray)}.inventory-indicator--ok{color:#b4e8c3}.inventory-indicator--ok .inventory-indicator-dot{background:#5ad282}.inventory-indicator--reorder{color:#ffcdb9}.inventory-indicator--reorder .inventory-indicator-dot{background:#e1735f}.inventory-indicator--confirm{color:#ffe8a0}.inventory-indicator--confirm .inventory-indicator-dot{background:#e8c662}.inventory-indicator--arrival{color:#cde4ff}.inventory-indicator--arrival .inventory-indicator-dot{background:#78afff}.inventory-indicator--ok .inventory-indicator-text{color:#b4e8c3}.inventory-indicator--reorder .inventory-indicator-text{color:#ffcdb9}.inventory-indicator--confirm .inventory-indicator-text{color:#ffe8a0}.inventory-indicator--arrival .inventory-indicator-text{color:#cde4ff}.inventory-indicator:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.maintenance-indicator{display:inline-flex;align-items:center;gap:.4rem;min-height:1.8rem;padding:.08rem 0;border:none;background:transparent;text-align:left;cursor:pointer}.maintenance-indicator:hover .maintenance-indicator-text{text-decoration:underline;text-underline-offset:2px}.maintenance-indicator-dot{width:.52rem;height:.52rem;border-radius:999px;flex-shrink:0;background:var(--color-dark-gray)}.maintenance-indicator-text{font-size:var(--schedule-inline-font-size);line-height:1.25;color:var(--color-dark-gray)}.maintenance-indicator--ok .maintenance-indicator-dot{background:#82dca0}.maintenance-indicator--pending .maintenance-indicator-dot,.maintenance-indicator--skipped .maintenance-indicator-dot{background:#ffc670}.maintenance-indicator--none .maintenance-indicator-dot{background:#6e7279}.maintenance-indicator--ok .maintenance-indicator-text{color:#a5e8b6}.maintenance-indicator--pending .maintenance-indicator-text,.maintenance-indicator--skipped .maintenance-indicator-text{color:#ffdda3}.maintenance-indicator--none .maintenance-indicator-text{color:#91969e}.maintenance-indicator:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.post-treatment-indicator{display:inline-flex;align-items:center;gap:.4rem;min-height:1.8rem;padding:.08rem 0;border:none;background:transparent;text-align:left;cursor:pointer}.post-treatment-indicator:hover .post-treatment-indicator-text{text-decoration:underline;text-underline-offset:2px}.post-treatment-indicator-dot{width:.52rem;height:.52rem;border-radius:999px;flex-shrink:0;background:var(--color-dark-gray)}.post-treatment-indicator-text{font-size:var(--schedule-inline-font-size);line-height:1.25;color:var(--color-dark-gray)}.post-treatment-indicator--pending .post-treatment-indicator-dot{background:#ffc670}.post-treatment-indicator--none .post-treatment-indicator-dot{background:#6e7279}.post-treatment-indicator--pending .post-treatment-indicator-text{color:#ffdda3}.post-treatment-indicator--none .post-treatment-indicator-text{color:#91969e}.post-treatment-indicator:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.schedule-notes-row-wrap{display:contents}.schedule-cell--notes{position:relative;display:flex;flex-direction:column;padding:0;min-height:2.75rem;vertical-align:top;align-self:stretch}.schedule-notes-display{flex:1 1 auto;min-height:2.75rem;min-width:0;width:100%;padding:.35rem .45rem;font-size:var(--schedule-inline-font-size);line-height:1.35;white-space:pre-wrap;word-break:break-word;overflow:visible;display:block;cursor:default;outline:none;box-sizing:border-box;color:var(--color-gray);background:#1e22298c;border:none}.schedule-notes-display.is-empty{color:var(--color-dark-gray)}.schedule-notes-display.is-selected{background:#5d616652}.schedule-notes-display:focus-visible{outline:none;background:#5d61665c}.schedule-field-text{font-family:inherit;font-size:var(--schedule-inline-font-size);line-height:1.35;padding:.32rem .42rem;margin:0;border:none;border-radius:0;background:#282c34fa;color:var(--color-gray);outline:none;box-sizing:border-box}.schedule-field-text:focus,.schedule-field-text:focus-visible{outline:none;border:none;box-shadow:none}.schedule-field-text::placeholder{color:var(--color-dark-gray)}textarea.schedule-field-text{resize:none;overflow:hidden;display:block;vertical-align:top;min-height:2.75rem}.schedule-notes-input{flex:1 1 auto;position:relative;width:100%;z-index:5}.lead-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:var(--color-gray);border:1px solid var(--color-deep-gray);background:#23272dcc}.lead-badge .user-avatar{flex-shrink:0}.lead-select{width:100%;font-size:.8rem;padding:.35rem .5rem}.task-block{display:flex;flex-direction:column;gap:.35rem}.task-form{display:flex;flex-direction:column;gap:.35rem;padding-top:.15rem}.task-form-row{display:flex;gap:.35rem;flex-wrap:wrap}.task-form-row .schedule-field-text{flex:1;min-width:5rem;width:100%;max-width:100%}.task-form-row select{flex:1;width:100%;min-width:0;font-size:.75rem;padding:.35rem .45rem;max-width:100%}.task-form-row--submit{justify-content:flex-start}.task-form-row--submit .primary{padding:.4rem .85rem;font-size:.72rem}.task-form-row--blocker{align-items:center}.task-blocker-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--color-gray);cursor:pointer;-webkit-user-select:none;user-select:none}.task-blocker-check{width:.85rem;height:.85rem;margin:0;accent-color:var(--color-yellow);cursor:pointer;flex-shrink:0}.task-blocker-info{margin:0;padding:.1rem .25rem;border:none;border-radius:50%;background:#5d616659;color:var(--color-dark-gray);font-size:.62rem;font-weight:700;font-style:italic;line-height:1;cursor:help}.task-blocker-info:hover,.task-blocker-info:focus-visible{color:var(--color-gray);background:#5d61668c;outline:1px solid var(--color-deep-gray);outline-offset:1px}.task-form-row button{padding:.35rem .6rem;font-size:.7rem}.task-form-row .task-blocker-info{padding:.1rem .3rem;font-size:.62rem}.task-add-bar{display:flex;justify-content:flex-start}.task-add-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-deep-gray);background:#23272de6;color:var(--color-yellow);cursor:pointer}.task-add-btn:hover{border-color:var(--color-yellow);background:#f1fe0614}.task-add-icon{width:14px;height:14px;display:block}.task-list{display:flex;flex-direction:column;gap:.35rem}.task-chip{position:relative;display:flex;align-items:flex-start;gap:.45rem;padding:.35rem .45rem;font-size:var(--schedule-inline-font-size);line-height:1.35;border:1px solid var(--color-deep-gray);background:#23272da6;color:var(--color-gray)}.task-block .task-chip{padding-right:2.9rem}.task-block .task-chip.task-chip--no-owner:not(.task-chip--editing){padding-right:.45rem}.task-block .task-chip.task-chip--editing{padding-right:.45rem}.task-chip.is-blocker{border-color:#dc6464e6;background:#6e2d3252;color:var(--color-gray)}.task-chip.is-done{border-color:#50c8788c;background:#285a3740;color:#beebc8}.task-check{position:relative;display:inline-flex;flex-shrink:0;margin:.1rem 0 0;cursor:pointer}.task-check-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;clip:rect(0 0 0 0);clip-path:inset(50%)}.task-check-input:focus-visible+.task-check-box{outline:1px solid var(--color-yellow);outline-offset:2px}.task-check-box{display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border:2px solid var(--color-deep-gray);background:var(--color-black);color:#82e6a5;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.task-chip.is-done .task-check-box{border-color:#64c882e6;background:#2d6e4680;box-shadow:0 0 0 1px #50c87840}.task-check-mark{width:11px;height:11px;display:block}.task-chip-text{flex:1;min-width:0;word-break:break-word}.task-chip-title{display:block;font-size:var(--schedule-inline-font-size);line-height:1.35}.task-chip-text--editable{cursor:text}.task-chip-text--editable:hover .task-chip-title{text-decoration:underline;text-decoration-color:var(--color-deep-gray);text-underline-offset:2px}.task-chip-text--editable:focus{outline:none}.task-chip-text--editable:focus-visible{outline:1px solid var(--color-yellow);outline-offset:2px}.task-chip--editing{flex-direction:column;align-items:stretch;gap:.4rem}.task-chip--editing .task-check{align-self:flex-start}.task-chip-edit{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:.45rem;width:100%;min-width:0;box-sizing:border-box;padding-right:2.9rem}.task-chip-title-input{flex:1 1 auto;min-width:0;width:100%;max-width:100%}.task-chip-delete{position:absolute;right:.45rem;top:2.05rem;bottom:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-deep-gray);border-radius:0;background:#302022bf;color:#dc8c8c;cursor:pointer}.task-chip-delete:hover{border-color:#c85555d9;color:#ffc3be;background:#48262ad9}.task-chip-delete:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.task-chip-delete-icon{width:14px;height:14px;display:block}.task-owner-slot{position:absolute;top:.3rem;right:.45rem;z-index:12;line-height:0}.task-owner-slot-trigger{margin:0;padding:0;border:none;background:transparent;font-family:inherit;cursor:pointer;display:inline-flex;line-height:0}.task-owner-slot-trigger:focus-visible{outline:1px solid var(--color-yellow);outline-offset:2px}.task-owner-slot-trigger .user-avatar{border-radius:0}.task-owner-slot-avatar{width:26px;height:26px}.task-owner-slot-option-avatar{width:22px;height:22px}.task-owner-slot-placeholder{display:block;width:26px;height:26px;box-sizing:border-box;background:#484c52f2;border:1px solid var(--color-deep-gray)}.task-owner-slot-menu{position:absolute;right:0;top:calc(100% + 4px);margin:0;padding:.25rem 0;list-style:none;min-width:11.5rem;max-height:13rem;overflow-y:auto;border:1px solid var(--color-deep-gray);background:var(--color-sidebar);box-shadow:0 8px 24px #00000073;z-index:45}.task-owner-slot-option{display:flex;align-items:center;gap:.45rem;width:100%;padding:.4rem .6rem;border:none;background:transparent;color:var(--color-gray);font-family:inherit;font-size:.78rem;text-align:left;cursor:pointer}.task-owner-slot-option:hover{background:#5d616659}.task-owner-slot-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-project-block .schedule-label{padding-top:.65rem}.schedule-project-block--clickable{cursor:pointer}.schedule-project-block--clickable:hover{background:#5d616624}.schedule-project-block--clickable:focus-visible{outline:1px solid var(--color-yellow);outline-offset:-1px}.proj-head{font-size:.72rem;font-weight:700;color:var(--color-white);letter-spacing:.04em}.proj-owner{margin-top:.2rem;font-size:.65rem;color:var(--color-dark-gray)}.proj-deadline{margin-top:.18rem;font-size:.65rem;color:var(--color-dark-gray)}.proj-deadline--warn{color:#f5b051}.proj-deadline--urgent{color:#ee6d6d}.schedule-projects-toggle-row{grid-column:1 / -1;min-height:3.1rem;padding:0;border-bottom:1px solid var(--color-deep-gray)}.schedule-projects-toggle-btn{width:100%;min-height:3.1rem;padding:.5rem .6rem;border:none;background:#23272db3;color:var(--color-gray);display:inline-flex;align-items:center;gap:.45rem;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.schedule-projects-toggle-btn:hover{background:#2d323acc}.schedule-projects-toggle-title{font-weight:700}.schedule-projects-toggle-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.25rem;padding:0 .35rem;border:1px solid var(--color-deep-gray);background:#5d616647;color:var(--color-white);font-size:.7rem;font-weight:700}.schedule-projects-toggle-chevron{margin-left:auto;font-size:.9rem}.schedule-projects-toggle-btn--cell{justify-content:center;color:var(--color-dark-gray);font-size:.68rem;font-weight:600}.schedule-view-toggle .segmented-item{border:none;background:transparent;cursor:pointer}.schedule-grid--master{grid-template-columns:11rem repeat(var(--master-day-count, 31),minmax(2.15rem,1fr));min-width:calc(11rem + var(--master-day-count, 31) * 2.15rem)}.schedule-corner--week-row{border-bottom:1px solid var(--color-deep-gray)}.master-week-header{padding:.18rem .1rem;text-align:center;font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#5d61661f;border-right:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray)}.schedule-day-head--master{padding:.18rem .05rem}.schedule-day-head--master .schedule-day-name{font-size:.5rem;letter-spacing:.06em}.schedule-day-head--master .schedule-day-date{margin-top:.05rem;font-size:.65rem}.schedule-day-head--out-of-month{opacity:.35}.schedule-day-head--past{background:var(--color-main);opacity:.45}.schedule-cell--master-compact{padding:0;min-height:1.4rem;text-align:center;display:flex;flex-direction:column;align-items:stretch}.master-inv-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:1.4rem;padding:0;border:none;background:transparent;cursor:pointer}.master-inv-dot{display:block;width:.52rem;height:.52rem;border-radius:50%;background:var(--color-dark-gray);flex-shrink:0}.master-inv-dot--ok{background:#5ad282}.master-inv-dot--reorder{background:#e1735f}.master-inv-dot--confirm{background:#e8c662}.master-inv-dot--arrival{background:#78afff}.master-inv-dot--post{background:#a569dc}.master-maint-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;width:100%;height:100%;min-height:1.4rem;padding:.1rem .05rem;border:none;background:transparent;cursor:pointer;font-size:.55rem;font-weight:700;font-family:inherit;letter-spacing:.02em}.master-maint-sub{opacity:.7}.master-maint-btn--ok{color:#a5e8b6}.master-maint-btn--pending,.master-maint-btn--skipped{color:#ffdda3}.master-maint-btn--none{color:var(--color-dark-gray)}.master-post-btn{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:1.4rem;padding:.1rem .05rem;border:none;background:transparent;cursor:pointer;font-size:.62rem;font-weight:700;font-family:inherit;color:#cde4ff}.master-inv-btn:hover,.master-maint-btn:hover,.master-post-btn:hover{background:#5d61662e}.master-inv-btn:focus-visible,.master-maint-btn:focus-visible,.master-post-btn:focus-visible{outline:1px solid var(--color-yellow);outline-offset:-1px}.schedule-cell--experiments{padding:0;min-height:1.4rem;display:flex;flex-direction:column}.schedule-experiment-bar{width:100%;padding:.2rem .45rem;font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;flex-shrink:0;box-sizing:border-box;border:1px solid var(--exp-bar-border);border-left:none;border-right:none;text-align:left;cursor:pointer;font-family:inherit;min-height:1.4rem;line-height:1rem}.schedule-experiment-bar--master{overflow:visible;position:relative;padding:0}.master-exp-label{position:absolute;left:.35rem;top:0;bottom:0;display:flex;align-items:center;white-space:nowrap;z-index:4;pointer-events:none;font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1}.schedule-experiment-bar:hover{filter:brightness(1.15)}.schedule-experiment-bar:focus-visible{outline:1px solid var(--color-yellow);outline-offset:-1px}.schedule-experiment-bar+.schedule-experiment-bar{border-top:none}.schedule-experiment-bar--first{border-left:1px solid var(--exp-bar-border)}.schedule-experiment-bar--last{border-right:1px solid var(--exp-bar-border)}.schedule-experiment-bar--ongoing{--exp-bar-border: rgba(220, 165, 70, .6);background:#644819b3;color:#fad791}.schedule-experiment-bar--completed{--exp-bar-border: rgba(95, 195, 125, .6);background:#205837b3;color:#b9ebc3}.schedule-experiment-bar--posttreatment{--exp-bar-border: rgba(165, 105, 220, .6);background:#4b236eb3;color:#dcb9ff}.schedule-experiment-bar--planned{--exp-bar-border: rgba(160, 160, 170, .6);background:#464650b3;color:#d2d2d7}.schedule-experiment-bar--hovered{filter:brightness(1.3);z-index:5}.schedule-experiment-bar--dimmed{opacity:.3}.schedule-label--section-header{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);padding:.5rem .65rem;border-top:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray);border-right:1px solid var(--color-deep-gray);background:var(--color-main);position:sticky;left:0;z-index:10;align-self:stretch;display:flex;align-items:center}.schedule-label--section-header-cell{border-top:1px solid var(--color-deep-gray);border-bottom:1px solid var(--color-deep-gray)}.schedule-label--project{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);padding:.3rem 1.6rem .3rem .65rem;position:sticky;left:0;z-index:10;background:var(--color-main);display:block;min-height:1.4rem}.schedule-project-label-name{line-height:1.3;white-space:normal;word-break:break-word}.schedule-project-label-avatar{position:absolute;top:.3rem;right:.3rem;opacity:.85;flex-shrink:0}.schedule-project-bar{position:relative;width:100%;min-height:1.4rem;background:#64a0dc40;border-top:1px solid rgba(120,180,255,.5);border-bottom:1px solid rgba(120,180,255,.5);overflow:visible}.schedule-project-bar--first{border-left:1px solid rgba(120,180,255,.5);border-top-left-radius:2px;border-bottom-left-radius:2px}.schedule-project-bar--last{border-right:1px solid rgba(120,180,255,.5);border-top-right-radius:2px;border-bottom-right-radius:2px}.schedule-project-bar .master-exp-label{color:#a0d2ff;font-size:.58rem;font-weight:600}.schedule-cell--experiments.is-empty{background:transparent}.schedule-error{flex-shrink:0;margin:.5rem .65rem 0;padding:.65rem .75rem;border:1px solid rgba(200,80,80,.5);color:#ffb4aa;font-size:.85rem}.schedule-muted{flex-shrink:0;margin:0;padding:.65rem .75rem;font-size:.8rem;color:var(--color-dark-gray)}.content-section.projects-page,.projects-page{max-width:none;width:100%}.projects-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.projects-error{padding:.65rem .85rem;margin-bottom:.8rem;border:1px solid rgba(220,100,100,.6);background:#6e2d3240;color:#ffc8c3;font-size:.85rem}.projects-create-form{display:grid;grid-template-columns:minmax(24rem,2.2fr) minmax(14rem,1.2fr) minmax(11rem,1fr) auto;gap:.5rem;align-items:center;margin-bottom:.8rem;padding:.65rem;border:1px solid var(--color-deep-gray);background:#1e222999}.projects-create-name-input{font-size:1.04rem;font-weight:600}.projects-table-wrap{width:100%;overflow:visible;border:1px solid var(--color-deep-gray);background:#181c2280}.projects-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem}.projects-table th,.projects-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--color-deep-gray);vertical-align:middle;overflow:visible}.projects-table th{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272df2}.projects-table tbody tr:last-child td{border-bottom:none}.projects-col-name{width:38%}.projects-col-owner{width:26%;position:relative;z-index:1}.projects-page .lead-picker{position:relative;z-index:1}.projects-page .lead-picker.is-open{z-index:60}.projects-owner-picker-menu{right:auto;z-index:9999}.projects-col-deadline{width:16%}.projects-col-archive{width:8%}.projects-archive-btn{min-width:5.5rem}.projects-empty{text-align:center;padding:1rem .75rem}.projects-title-button{margin:0;padding:0;border:none;background:transparent;color:var(--color-white);font-size:.92rem;font-weight:600;text-align:left;cursor:text;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-title-button:hover{text-decoration:underline;text-decoration-color:var(--color-deep-gray);text-underline-offset:2px}.projects-title-input,.projects-deadline-input{width:100%}.projects-deadline-button{margin:0;padding:0;border:none;background:transparent;color:var(--color-gray);font-size:.82rem;text-align:left;cursor:text}.projects-deadline-display{display:grid;gap:.18rem}.projects-deadline-button:hover{text-decoration:underline;text-decoration-color:var(--color-deep-gray);text-underline-offset:2px}.admin-page{max-width:none;width:100%}.admin-tabs{display:flex;gap:0;margin:0;border-bottom:1px solid var(--color-deep-gray)}.admin-tab{margin:0;padding:.55rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-dark-gray);font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.admin-tab:hover{color:var(--color-gray)}.admin-tab.is-active{color:var(--color-yellow);border-bottom-color:var(--color-yellow)}.admin-panel{margin-top:1.25rem}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.admin-sync-btn{flex-shrink:0}.admin-sync-msg{margin:0 0 .75rem;font-size:.8rem;color:var(--color-gray)}.admin-error{padding:.65rem .85rem;margin-bottom:1rem;border:1px solid rgba(220,100,100,.6);background:#6e2d3240;color:#ffc8c3;font-size:.85rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--color-deep-gray);background:#1e22298c}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--color-deep-gray)}.admin-table th{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272de6}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table-empty{text-align:center;padding:1.5rem 1rem}.admin-table-col-photo{width:3.25rem}.admin-table-photo-cell{width:3.25rem;vertical-align:middle}.admin-user-name{color:var(--color-gray);font-weight:600}.admin-table-date{color:var(--color-dark-gray);font-size:.8rem;white-space:nowrap}.inventory-page{max-width:72rem}.inventory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.inventory-summary{display:inline-flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;width:fit-content;max-width:100%}.inventory-summary-item{position:relative;text-align:left;min-width:14rem;border:1px solid var(--color-deep-gray);background:#23272dd9;padding:.5rem .85rem;flex:0 0 auto}.inventory-summary-label{display:block;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-yellow);margin-bottom:.2rem}.inventory-status-row{margin-top:.35rem;display:flex;align-items:center;gap:.4rem}.inventory-status-dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--color-dark-gray);box-shadow:0 0 0 1px #0003}.inventory-status-value{font-size:1rem;font-weight:700;line-height:1.2;color:var(--color-white)}.inventory-summary-item--kpi{padding-right:2rem}.inventory-kpi-settings-btn{position:absolute;top:.35rem;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border:1px solid transparent;background:transparent;color:var(--color-gray);cursor:pointer}.inventory-kpi-settings-btn:hover,.inventory-kpi-settings-btn:focus-visible{color:var(--color-yellow);border-color:var(--color-deep-gray);outline:none}.inventory-kpi-settings-glyph{display:inline-block;font-size:.95rem;line-height:1;font-weight:700}.inventory-kpi-subtitle{margin-top:.35rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--color-dark-gray)}.inventory-summary-item--ok .inventory-status-dot{background:#5ad282}.inventory-summary-item--ok .inventory-status-value{color:#b4e8c3}.inventory-summary-item--reorder .inventory-status-dot{background:#e1735f}.inventory-summary-item--reorder .inventory-status-value{color:#ffcdb9}.inventory-summary-item--confirm .inventory-status-dot{background:#e8c662}.inventory-summary-item--confirm .inventory-status-value{color:#ffe8a0}.inventory-panels{display:grid;grid-template-columns:repeat(2,minmax(16rem,1fr));gap:.85rem;margin-bottom:1rem}.inventory-panel{border:1px solid var(--color-deep-gray);background:#1e222999;padding:.75rem;display:flex;flex-direction:column;gap:.45rem}.inventory-panel h3{margin:0 0 .15rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.inventory-panel label{display:grid;gap:.2rem;font-size:.72rem;color:var(--color-gray)}.inventory-panel input,.inventory-panel select{font:inherit}.inventory-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .55rem}@media (min-width: 980px){.inventory-form-grid--stock{grid-template-columns:repeat(3,minmax(0,1fr))}}.inventory-form-grid--compact input,.inventory-form-grid--compact select{min-height:1.9rem;padding:.2rem .45rem;font-size:.78rem}.inventory-field{display:grid;gap:.2rem}.inventory-field--span-2{grid-column:1 / -1}.inventory-field-label{font-size:.72rem;color:var(--color-gray)}.inventory-user-picker{position:relative}.inventory-user-picker-trigger{width:100%;min-height:1.9rem;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .45rem;border:1px solid var(--color-deep-gray);background:#23272dd9;color:var(--color-white);font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.inventory-user-picker-name{flex:1;min-width:0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-user-picker-placeholder{color:var(--color-dark-gray);font-size:.76rem}.inventory-user-picker-chevron{width:.95rem;height:.95rem;color:var(--color-dark-gray)}.inventory-user-picker-menu{position:absolute;z-index:55;top:calc(100% + .25rem);left:0;width:100%;max-height:12rem;overflow:auto;margin:0;padding:.25rem;list-style:none;border:1px solid var(--color-deep-gray);background:#12161cfa}.inventory-user-picker-option{width:100%;min-height:1.8rem;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .35rem;border:none;background:transparent;color:var(--color-white);text-align:left;cursor:pointer}.inventory-user-picker-option:hover{background:#5d616640}.inventory-user-picker-option-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-history{display:grid;grid-template-columns:repeat(2,minmax(16rem,1fr));gap:.85rem}.inventory-history-col{border:1px solid var(--color-deep-gray);background:#1e22298c;padding:.75rem}.inventory-history-col h3{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.inventory-table-wrap{overflow-x:auto;border:1px solid var(--color-deep-gray);background:#181c2280}.inventory-table{width:100%;border-collapse:collapse;font-size:.8rem}.inventory-table th,.inventory-table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--color-deep-gray);white-space:nowrap}.inventory-order-delete-btn{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;border:1px solid var(--color-deep-gray);border-radius:0;background:#302022bf;color:#dc8c8c;cursor:pointer}.inventory-order-delete-icon{width:14px;height:14px;display:block;flex-shrink:0}.inventory-order-delete-icon path{fill:currentColor}.inventory-order-delete-btn:hover:not(:disabled){border-color:#c85555d9;color:#ffc3be;background:#48262ad9}.inventory-order-delete-btn:disabled{opacity:.5;cursor:default}.inventory-order-delete-btn:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.inventory-table th{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272df2}.inventory-table tbody tr:last-child td{border-bottom:none}.inventory-table-empty{text-align:center;white-space:normal;padding:1rem .75rem}.content-section.maintenance-page,.maintenance-page{max-width:none;width:100%}.maintenance-tabs{display:flex;gap:0;margin:0 0 1rem;border-bottom:1px solid var(--color-deep-gray)}.maintenance-tab{margin:0;padding:.55rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-dark-gray);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.maintenance-tab:hover{color:var(--color-gray)}.maintenance-tab.is-active{color:var(--color-yellow);border-bottom-color:var(--color-yellow)}.maintenance-panel{margin-top:1rem}.maintenance-error{padding:.65rem .85rem;margin-bottom:.8rem;border:1px solid rgba(220,100,100,.6);background:#6e2d3240;color:#ffc8c3;font-size:.85rem}.maintenance-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.maintenance-create-equipment{display:grid;grid-template-columns:minmax(24rem,2.4fr) auto;gap:.5rem;align-items:center;margin-bottom:.8rem;padding:.65rem;border:1px solid var(--color-deep-gray);background:#1e222999}.maintenance-create-equipment-input{font-size:1.04rem;font-weight:600}.maintenance-table-wrap{width:100%;overflow:visible;border:1px solid var(--color-deep-gray);background:#181c2280}.maintenance-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem}.maintenance-table th,.maintenance-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--color-deep-gray);vertical-align:middle}.maintenance-table th{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272df2}.maintenance-table tbody tr:last-child td{border-bottom:none}.maintenance-routine-table tbody tr.maintenance-row-overdue td{background:#78242a47;border-top:1px solid rgba(214,91,102,.72);border-bottom:1px solid rgba(214,91,102,.72)}.maintenance-routine-table tbody tr.maintenance-row-overdue td:first-child{border-left:1px solid rgba(214,91,102,.72)}.maintenance-routine-table tbody tr.maintenance-row-overdue td:last-child{border-right:1px solid rgba(214,91,102,.72)}.maintenance-empty{text-align:center;padding:1rem .75rem}.maintenance-instructions{color:var(--color-gray)}.maintenance-show-instructions-btn{min-width:4.2rem}.maintenance-owner-cell{min-width:16rem}.maintenance-owner-select{display:grid;grid-template-columns:1fr;gap:.25rem}.maintenance-owner-chip{display:inline-flex;align-items:center;gap:.4rem}.maintenance-owner-name{color:var(--color-gray);font-size:.8rem}.maintenance-routine-list{display:grid;gap:.4rem;margin-bottom:.5rem}.maintenance-routine-item{display:grid;gap:.1rem}.maintenance-routine-item-btn{width:100%;margin:0;padding:.35rem .45rem;border:1px solid var(--color-deep-gray);background:#23272da6;text-align:left;cursor:pointer}.maintenance-routine-item-btn:hover{background:#23272dc7}.maintenance-add-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-deep-gray);background:#23272de6;color:var(--color-yellow);cursor:pointer}.maintenance-add-btn:hover{border-color:var(--color-yellow);background:#f1fe0614}.maintenance-add-icon{width:14px;height:14px;display:block}.maintenance-routine-name{color:var(--color-white);font-weight:600}.maintenance-routine-meta{color:var(--color-dark-gray);font-size:.72rem;letter-spacing:.03em}.maintenance-routine-create{display:grid;grid-template-columns:1fr;gap:.42rem;align-items:stretch;width:100%;max-width:44rem}.maintenance-routine-create>*{width:100%}.maintenance-routine-fields{display:grid;grid-template-columns:1fr;gap:.42rem}.maintenance-routine-input{width:100%;box-sizing:border-box;font-size:.78rem;min-height:2rem;padding:.3rem .42rem}.maintenance-routine-inline-row{display:grid;grid-template-columns:1fr;gap:.42rem}.maintenance-routine-custom-days{max-width:8.5rem}.maintenance-routine-instructions{width:100%;min-height:5.4rem;resize:vertical;overflow:auto;box-sizing:border-box;font-size:.78rem}.maintenance-routine-actions{display:inline-flex;align-items:center;gap:.42rem;flex-wrap:wrap}.maintenance-routine-actions>button{width:fit-content}@media (min-width: 980px){.maintenance-routine-inline-row{grid-template-columns:minmax(11rem,1fr) minmax(10rem,.95fr);align-items:center}.maintenance-routine-inline-row.maintenance-routine-inline-row--with-custom{grid-template-columns:minmax(11rem,1fr) minmax(10rem,.95fr) minmax(7.5rem,.7fr)}}.maintenance-notes-cell{padding:0!important}.maintenance-notes-input{width:100%;min-height:2.75rem;resize:none;overflow:hidden;border:none;border-radius:0;outline:none;box-sizing:border-box;padding:.35rem .45rem;font-family:inherit;font-size:.82rem;line-height:1.35;color:var(--color-gray);background:#1e22298c}.maintenance-notes-input::placeholder{color:var(--color-dark-gray)}.maintenance-notes-input:focus,.maintenance-notes-input:focus-visible{outline:none;box-shadow:none;background:#5d616652}.maintenance-status-select{width:100%;min-width:7rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.42rem .45rem;border-width:2px;border-style:solid;border-radius:0;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.maintenance-status-select--planned{color:#cde4ff;background:#2b436159;border-color:#5782b6b8}.maintenance-status-select--done{color:#aae8b2;background:#2c593f59;border-color:#64b071b8}.maintenance-status-select--skipped{color:#ffcaa0;background:#68482659;border-color:#b88046b8}.maintenance-status-select--planned:focus-visible{outline:2px solid rgba(87,130,182,.62);outline-offset:1px}.maintenance-status-select--done:focus-visible{outline:2px solid rgba(100,176,113,.62);outline-offset:1px}.maintenance-status-select--skipped:focus-visible{outline:2px solid rgba(184,128,70,.62);outline-offset:1px}.maintenance-instructions-modal-body{white-space:pre-wrap;color:var(--color-gray);border:1px solid var(--color-deep-gray);background:#1e2229b3;padding:.75rem;max-height:48vh;overflow:auto}.maintenance-date-cell{display:grid;gap:.22rem}.maintenance-date-label{color:var(--color-gray);font-weight:400}.maintenance-date-badge{display:inline-flex;width:fit-content;padding:.06rem .4rem;border:1px solid var(--color-deep-gray);background:#5d616647;color:var(--color-gray);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.maintenance-col-equipment{width:24%;font-weight:600;color:var(--color-white)}.maintenance-config-table th:first-child,.maintenance-config-table td:first-child{width:24%}.maintenance-config-table th:last-child,.maintenance-config-table td:last-child{width:76%}.maintenance-config-table .maintenance-routine-list,.maintenance-config-table .maintenance-routine-create{max-width:100%}.maintenance-routine-table th:nth-child(1),.maintenance-routine-table td:nth-child(1){width:13%}.maintenance-routine-table th:nth-child(2),.maintenance-routine-table td:nth-child(2){width:16%}.maintenance-routine-table th:nth-child(3),.maintenance-routine-table td:nth-child(3){width:8%}.maintenance-routine-table th:nth-child(4),.maintenance-routine-table td:nth-child(4){width:18%}.maintenance-routine-table th:nth-child(5),.maintenance-routine-table td:nth-child(5){width:12%}.maintenance-routine-table th:nth-child(6),.maintenance-routine-table td:nth-child(6){width:10%}.maintenance-routine-table th:nth-child(7),.maintenance-routine-table td:nth-child(7){width:23%}.production-tracker-page{max-width:none;width:100%}.production-tracker-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.production-tracker-create{display:grid;grid-template-columns:repeat(3,minmax(12rem,1fr));gap:.55rem;padding:.7rem;margin-bottom:.75rem;border:1px solid var(--color-deep-gray);background:#1e222999}.production-tracker-create label{display:grid;gap:.2rem;font-size:.72rem}.production-tracker-create-actions{grid-column:1 / -1}.production-tracker-table-wrap{border:1px solid var(--color-deep-gray);background:#181c2280;overflow-x:auto}.production-tracker-table{width:100%;border-collapse:collapse;font-size:.8rem}.production-tracker-table th,.production-tracker-table td{padding:.5rem .6rem;border-bottom:1px solid var(--color-deep-gray);text-align:left;white-space:nowrap}.production-tracker-table th{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272df2}.production-tracker-empty{text-align:center;padding:1rem .75rem}.production-tracker-experiment-row{background:#23272d59}.production-tracker-cathode-row{background:#1e2229a6}.production-tracker-cathode-head{background:#23272d8c}.production-tracker-cathode-head td{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-dark-gray)}.production-tracker-action-row td{background:#1e2229cc;text-align:right}.production-tracker-toggle{min-width:1.4rem;height:1.4rem;padding:0;line-height:1;border:1px solid var(--color-deep-gray);background:#23272deb}.production-tracker-cell-input{width:100%;min-width:6.5rem;font-size:.78rem;padding:.2rem .4rem}.tracker-date-display{display:grid;gap:.18rem}.tracker-date-button{margin:0;padding:0;border:none;background:transparent;color:var(--color-gray);font-size:.82rem;text-align:left;cursor:text}.tracker-date-button:hover{text-decoration:underline;text-decoration-color:var(--color-deep-gray);text-underline-offset:2px}.production-tracker-reactor-select{font-size:.78rem;font-weight:600;padding:.2rem .3rem;border:1px solid var(--color-deep-gray);border-radius:0;background:transparent;color:var(--color-gray);cursor:pointer;min-width:3.5rem}.production-tracker-reactor-select:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.production-tracker-status-select{width:100%;min-width:9rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.42rem .45rem;border-width:2px;border-style:solid;border-radius:0;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.production-tracker-status-select--ongoing{color:#fad791;background:#73552373;border-color:#dca546d1}.production-tracker-status-select--planned{color:#d2d2d7;background:#5a5a6459;border-color:#a0a0aab3}.production-tracker-status-select--harvested{color:#beebc8;background:#2a69446b;border-color:#5fc37dcc}.production-tracker-status-select--post-treatment{color:#dcb9ff;background:#5a2d8261;border-color:#a569dcbf}.production-tracker-status-select--ongoing:focus-visible{outline:2px solid rgba(235,175,80,.5);outline-offset:1px}.production-tracker-status-select--planned:focus-visible{outline:2px solid rgba(160,160,170,.5);outline-offset:1px}.production-tracker-status-select--harvested:focus-visible{outline:2px solid rgba(130,220,155,.55);outline-offset:1px}.production-tracker-status-select--post-treatment:focus-visible{outline:2px solid rgba(165,105,220,.55);outline-offset:1px}.production-tracker-delete-btn{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;border:1px solid var(--color-deep-gray);border-radius:0;background:#302022bf;color:#dc8c8c;cursor:pointer}.production-tracker-delete-icon{width:14px;height:14px;display:block;flex-shrink:0}.production-tracker-delete-icon path{fill:currentColor}.production-tracker-delete-btn:hover:not(:disabled){border-color:#c85555d9;color:#ffc3be;background:#48262ad9}.production-tracker-delete-btn:disabled{opacity:.5;cursor:default}.production-tracker-delete-btn:focus-visible{outline:1px solid var(--color-yellow);outline-offset:1px}.tracker-date-badge{display:block;margin-top:.18rem;font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tracker-date-badge--future{color:var(--color-dark-gray)}.tracker-date-badge--past{color:#dc8c8c}@media (max-width: 900px){.production-tracker-create{grid-template-columns:1fr}}.energy-page{max-width:none;width:100%}.energy-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.energy-toolbar-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.energy-view-toggle .segmented-item,.energy-layout-toggle .segmented-item{border:none;background:transparent;cursor:pointer}.energy-nav{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}.energy-nav .btn-energy-export{border-color:var(--color-yellow);background:var(--color-yellow);color:var(--color-black)}.energy-nav .btn-energy-export:hover{filter:brightness(.9);background:var(--color-yellow)}.energy-period-label{min-width:12rem;text-align:center;font-size:.72rem;letter-spacing:.06em;color:var(--color-gray)}.energy-table-wrap{border:1px solid var(--color-deep-gray);background:#181c2280;overflow-x:auto}.energy-table{width:100%;border-collapse:collapse;font-size:.8rem}.energy-table th,.energy-table td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--color-deep-gray)}.energy-table th{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);background:#23272df2}.energy-table tbody tr:last-child td{border-bottom:none}.energy-table--wide{min-width:max-content;font-size:.68rem}.energy-table--wide th.energy-sub-h{font-size:.55rem;letter-spacing:.04em;white-space:normal;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:4.75rem;min-width:2.75rem;width:4.75rem;line-height:1.2;vertical-align:bottom;padding:.4rem .35rem;font-weight:700;text-align:center}.energy-table--wide th.energy-sub-h .energy-col-unit{display:inline-block;margin-top:.12em;font-size:.85em;font-weight:600;letter-spacing:.05em;color:var(--color-gray);text-transform:none}.energy-table--wide th.energy-sub-h .energy-col-unit--bright{color:#ffffffeb}.energy-table--wide th.energy-group-h{text-align:center;font-size:.62rem;white-space:normal;word-break:break-word;line-height:1.15;padding:.35rem .3rem;vertical-align:middle}.energy-table--wide th.energy-group-sep{border-left:1px solid var(--color-deep-gray);padding-left:.65rem;padding-right:.45rem}.energy-table--wide td.energy-num{text-align:center}.energy-table--wide th.energy-sub-h.energy-col-group-start,.energy-table--wide td.energy-num.energy-col-group-start{border-left:1px solid var(--color-deep-gray);padding-left:.55rem;padding-right:.45rem}.energy-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.energy-sticky-day,.energy-sticky-batch{position:sticky;z-index:2;background:#1c2026fa;box-shadow:4px 0 8px #0003}.energy-sticky-day{left:0;min-width:9rem}.energy-sticky-batch{left:9rem;min-width:4.5rem}.energy-load-error{color:#f87171;font-size:.85rem;margin-bottom:.5rem}.energy-loading{margin-bottom:.5rem}.energy-table--summary{font-size:.72rem;table-layout:auto}.energy-table--summary th.energy-summary-h{text-transform:none;letter-spacing:.04em;font-size:.58rem;font-weight:700;line-height:1.25;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:5.75rem;min-width:3.25rem;vertical-align:bottom;text-align:center;padding:.45rem .35rem}.energy-table--summary th.energy-summary-h .energy-summary-unit{display:inline-block;margin-top:.15em;font-size:.85em;font-weight:600;letter-spacing:.06em;color:var(--color-gray);text-transform:none}.energy-table--summary td.energy-num{text-align:center}.energy-table--summary th.energy-col-group-start,.energy-table--summary td.energy-col-group-start{border-left:1px solid var(--color-deep-gray);padding-left:.55rem;padding-right:.45rem}.app-frame{display:flex;height:100%;min-height:0;overflow:hidden;background:var(--color-main)}.main-area{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.gate-check-main{align-items:center;justify-content:center}.main-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--color-deep-gray)}.main-header-leading{display:flex;flex-direction:row;align-items:flex-end;gap:1.5rem;min-width:0;flex:1;flex-wrap:wrap}.main-header-titles{min-width:0}.main-header-kpi{position:relative;display:flex;flex-direction:column;justify-content:flex-start;text-align:left;padding:.5rem .85rem;border:1px solid var(--color-deep-gray);background:#23272dd9;min-width:9rem;min-height:6.1rem;flex-shrink:0}.main-header-kpi--with-settings{padding-right:2.15rem}.main-header-kpi-settings-btn{position:absolute;top:.35rem;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border:1px solid transparent;background:transparent;color:var(--color-gray);cursor:pointer}.main-header-kpi-settings-btn:hover,.main-header-kpi-settings-btn:focus-visible{color:var(--color-yellow);border-color:var(--color-deep-gray);outline:none}.main-header-kpi-settings-btn svg{width:.95rem;height:.95rem}.main-header-kpi-settings-glyph{display:inline-block;font-size:.95rem;line-height:1;font-weight:700}.main-header-kpi-label{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-yellow)}.main-header-kpi-value{margin-top:.35rem;font-size:1.35rem;font-weight:700;letter-spacing:.04em;color:var(--color-white);line-height:1.1}.main-header-kpi-delta{margin-top:.4rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--color-dark-gray)}.main-header-kpi-delta--up{color:#82dca0}.main-header-kpi-delta--down{color:#eb8c82}.main-header-kpi-delta--flat{color:var(--color-dark-gray)}.page-title{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;letter-spacing:-.025em;text-transform:uppercase;color:var(--color-white)}.page-subtitle{margin:.5rem 0 0;max-width:42rem;font-size:1.25rem;font-weight:500;letter-spacing:.05em;line-height:1.45;text-transform:uppercase;color:var(--color-yellow)}.main-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;flex-shrink:0}.docref{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray)}.segmented{display:inline-flex;border:1px solid var(--color-deep-gray)}.segmented-item{padding:.35rem .65rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-gray);border-right:1px solid var(--color-deep-gray);background:transparent}.segmented-item:last-child{border-right:none}.segmented-item.is-on{background:#5d616659;color:var(--color-gray)}.main-body{flex:1;min-height:0;padding:1.5rem 2rem 2rem;overflow:auto}.main-body--schedule{padding:0;display:flex;flex-direction:column;overflow:hidden}.content-section{max-width:none;width:100%}.section-kicker{margin:0 0 .75rem;font-size:1rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-white);padding-bottom:.5rem;border-bottom:1px solid var(--color-deep-gray)}.section-lead{margin:0 0 1rem;font-size:.9rem;line-height:1.5;color:var(--color-gray)}.section-lead strong{color:var(--color-white);font-weight:600}.presence-list{list-style:none;margin:0;padding:0}.presence-list li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--color-deep-gray);font-size:.9rem}.presence-list li.self .name{color:var(--color-yellow)}.presence-list .section{color:var(--color-dark-gray);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--color-dark-gray)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid var(--color-deep-gray);background:var(--color-deep-gray);box-sizing:border-box}.user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-fallback{font-size:.95rem;font-weight:700;color:var(--color-white)}.user-avatar-sm .user-avatar-fallback{font-size:.5rem}.login-sidebar-min{--sidebar-inset: 14px;flex-shrink:0;width:260px;min-width:260px;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--color-sidebar);border-right:1px solid var(--color-deep-gray);box-sizing:border-box}.login-sidebar-min .sidebar-brand{padding:1.25rem var(--sidebar-inset) 1.5rem;border-bottom:1px solid var(--color-deep-gray)}.login-sidebar-min .sparkmate-logo{display:block;height:22px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0000007a}.modal-card{width:min(34rem,calc(100vw - 2rem));border:1px solid var(--color-deep-gray);background:var(--color-main);padding:1rem}.modal-title{margin:0 0 .85rem;font-size:.98rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-white)}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modal-form-grid label{display:grid;gap:.35rem;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gray)}.modal-form-grid input{width:100%;min-height:2.1rem;border:1px solid var(--color-deep-gray);background:#23272dd9;color:var(--color-white);padding:.35rem .5rem}.modal-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.6rem}.modal-actions button{min-height:2rem;min-width:5.25rem;border:1px solid var(--color-deep-gray);background:transparent;color:var(--color-gray);text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;cursor:pointer}.modal-actions button.primary{color:var(--color-main);background:var(--color-yellow);border-color:var(--color-yellow)}.btn-secondary{min-height:1.65rem;padding:.28rem .68rem;border:1px solid var(--color-deep-gray);background:#5d616638;color:var(--color-gray);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.btn-secondary:hover{background:#5d616659}:root{--color-black: #23272d;--color-sidebar: #1e2229;--color-main: #23272d;--color-yellow: #f1fe06;--color-deep-gray: #5d6166;--color-dark-gray: #8b8f94;--color-gray: #e8e9eb;--color-white: #ffffff;--font: "DM Sans", system-ui, sans-serif;--day-status-production-fg: rgb(190, 235, 200);--day-status-production-bg: rgba(42, 105, 68, .42);--day-status-production-border: rgba(95, 195, 125, .8);--day-status-production-focus-ring: rgba(130, 220, 155, .55);--day-status-standby-fg: rgb(250, 215, 145);--day-status-standby-bg: rgba(115, 85, 35, .45);--day-status-standby-border: rgba(220, 165, 70, .82);--day-status-standby-focus-ring: rgba(235, 175, 80, .5);--day-status-aborted-fg: rgb(255, 188, 182);--day-status-aborted-bg: rgba(115, 42, 48, .48);--day-status-aborted-border: rgba(215, 95, 95, .88);--day-status-aborted-focus-ring: rgba(230, 120, 115, .55);--schedule-inline-font-size: .72rem}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%;font-family:var(--font);background:var(--color-main);color:var(--color-gray)}body{line-height:1.4}button{font-family:inherit;border-radius:0;border:1px solid var(--color-deep-gray);background:transparent;color:var(--color-gray);padding:.5rem 1rem;cursor:pointer}button:focus-visible{outline:1px solid var(--color-yellow);outline-offset:2px}button.primary{background:var(--color-yellow);color:var(--color-black);border-color:var(--color-yellow);font-weight:700}input,select{font-family:inherit;border-radius:0;border:1px solid var(--color-deep-gray);background:var(--color-black);color:var(--color-gray);padding:.5rem .75rem}input:focus-visible,select:focus-visible{outline:1px solid var(--color-yellow);outline-offset:0}.app-release-badge{display:inline-block;margin-top:.65rem;padding:.25rem .5rem;max-width:100%;font-size:.58rem;font-weight:600;letter-spacing:.1em;line-height:1.2;text-transform:uppercase;color:var(--color-dark-gray);border:1px solid var(--color-deep-gray);background:#23272d99}
