:root{--ink:#102b35;--muted:#65777e;--line:#dce5e4;--paper:#f4f7f4;--white:#fff;--teal:#116e69;--teal-light:#e1f3ed;--orange:#c8672d;--orange-light:#fff0e5;--shadow:0 10px 30px rgba(16,43,53,.055)}
*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{background:var(--ink);color:#fff}.topbar-inner{max-width:1240px;margin:auto;min-height:76px;padding:12px 24px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;letter-spacing:.1em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#36c6ae;color:var(--ink);font-weight:900;font-size:24px}.brand strong{display:block;font-size:15px;line-height:1}.brand small{display:block;color:#9ccac7;font-size:8px;margin-top:5px}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav a{padding:11px 13px;color:#d4e2e1;font-size:14px;border-radius:8px}.topbar nav a:hover{background:#244650;color:#fff}.account{display:flex;align-items:center;gap:12px;color:#c6d7d7;font-size:13px}.account form{margin:0}.text-button{border:0;background:none;color:#78dfcd;padding:6px}.container{max-width:1240px;margin:auto;padding:34px 24px 70px}.footer{text-align:center;color:#849697;font-size:12px;padding:15px 20px 35px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--teal);margin-bottom:12px}h1{font-size:clamp(29px,3.1vw,42px);line-height:1.12;letter-spacing:-.035em;margin:0 0 10px}h2{font-size:18px;letter-spacing:-.02em;margin:0 0 18px}.muted{color:var(--muted);line-height:1.5;margin:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-head .muted{max-width:700px}.actions{display:flex;gap:9px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;border-radius:9px;border:1px solid transparent;padding:11px 17px;min-height:43px;font-size:14px;font-weight:700;white-space:nowrap}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:#0a5653}.button.ghost{border-color:#cbd9d7;background:#fff}.button.ghost:hover{border-color:var(--teal)}.button.dark{background:var(--ink);color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat-card{display:flex;flex-direction:column;min-height:154px;padding:23px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stat-card span{font-size:13px;color:var(--muted)}.stat-card strong{font-size:42px;line-height:1.1;margin:13px 0 7px}.stat-card small{color:var(--teal);font-weight:700}.stat-card.accent{border-top:4px solid #27af9b}.stat-card.warning{border-top:4px solid #db8e52}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.panel{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:23px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.panel-head h2{margin:0}.panel-head a,.subtle-link{font-size:13px;color:var(--teal);font-weight:700}.feed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;padding:12px 0;border-bottom:1px solid #e9eeee}.feed-row:last-child{border-bottom:none}.feed-row strong{display:block;font-size:14px;line-height:1.35}.feed-row small{display:block;color:var(--muted);margin-top:6px;font-size:12px;line-height:1.35}.empty{color:var(--muted);padding:18px 0;margin:0}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e9efee;color:#42615e;font-size:11px;font-weight:700;white-space:nowrap}.status-active,.ticket-closed{background:#e2f4e9;color:#21754b}.status-stopped,.ticket-waiting{background:#fff0df;color:#9c5c18}.status-repair,.ticket-in_progress{background:#e6eefc;color:#365d9b}.status-retired{background:#e9ecee;color:#5c6970}.ticket-open{background:#fff0e5;color:#ad552a}.date-chip{font-size:12px;font-weight:800;color:#945a2d;background:#fff2e7;padding:7px 9px;border-radius:8px;white-space:nowrap}.filters{display:flex;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:17px}.filters input{flex:1;min-width:150px}.filters select{min-width:155px}.filters.compact{justify-content:flex-start}.filters input,.filters select,.form-stack input,.form-stack select,.form-stack textarea{border:1px solid #cddad8;border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px;min-height:43px;outline:none}.filters input:focus,.filters select:focus,.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #dbf4ef}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:630px}th{background:#f7faf8;color:#6e8184;text-transform:uppercase;letter-spacing:.09em;font-size:10px;padding:16px 20px}td{padding:16px 20px;border-top:1px solid #edf1f0;font-size:13px;vertical-align:middle}td strong{display:block;font-size:13px}td small{display:block;color:var(--muted);margin-top:5px}.mono-link{color:var(--teal);font-weight:800}.pagination{display:flex;justify-content:center;gap:18px;margin:22px;color:var(--muted);font-size:13px}.pagination a{color:var(--teal);font-weight:700}.back-link{display:inline-block;margin-bottom:22px;color:var(--teal);font-size:13px;font-weight:700}.detail-head{align-items:center}.inline-meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px}.data-list{margin:0}.data-list>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid #edf1f0;font-size:13px}.data-list dt{color:var(--muted)}.data-list dd{margin:0;font-weight:650;word-break:break-word}.data-list dd a{color:var(--teal)}.note{border-left:3px solid #b3dbd4;padding-left:13px;line-height:1.5}.qr-panel{text-align:center}.qr-panel h2{text-align:left}.qr-frame{display:inline-block;background:#fff;border:1px solid var(--line);padding:11px;border-radius:12px;margin:2px auto 12px}.qr-frame img{display:block;max-width:100%;height:auto}.qr-panel strong{display:block}.qr-panel .muted{font-size:13px;margin:11px auto;max-width:260px}.timeline-item{border-left:2px solid #b8dcd5;padding:2px 0 16px 15px;margin-left:5px}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:13px}.timeline-item small{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}.timeline-item p{font-size:13px;line-height:1.45}.body-text{line-height:1.6;font-size:14px;white-space:normal}.ticket-photo{display:block;max-width:100%;max-height:420px;border-radius:10px;margin:20px 0}.form-page{max-width:690px;margin:auto}.form-page h1{margin-bottom:22px}.form-page .panel{padding:28px}.form-stack{display:flex;flex-direction:column;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field label,.form-stack>label{font-size:13px;font-weight:750}.field small{color:var(--muted)}.field textarea{width:100%;resize:vertical}.field-error,.error-box{color:#a7382b;font-size:13px}.error-box{padding:11px 13px;background:#fff1ed;border-radius:8px}.form-stack .button{align-self:flex-start;margin-top:8px}.report-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f0;font-size:13px}.report-row:last-child{border-bottom:none}.report-row strong{font-size:16px}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:70vh}.login-panel{width:min(100%,430px);padding:36px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login-panel h1{font-size:31px}.login-panel .muted{margin-bottom:25px}.login-panel .button{align-self:stretch}.messages{margin-bottom:18px}.notice{border-radius:8px;background:#dff3e9;color:#206348;padding:12px 15px;font-size:13px}
.management-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.management-card{display:flex;flex-direction:column;min-height:175px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.management-card:hover{border-color:#8bcfc0}.card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#e1f3ed;color:var(--teal);font-size:21px;margin-bottom:17px}.management-card strong{font-size:16px}.management-card small{color:var(--muted);margin-top:7px;font-size:12px}.card-arrow{color:var(--teal);font-weight:700;font-size:12px;margin-top:auto;padding-top:14px}.management-actions{margin-top:16px}
@media(max-width:900px){.topbar-inner{flex-wrap:wrap;gap:10px}.topbar nav{order:3;flex-basis:100%;overflow-x:auto}.topbar nav a{white-space:nowrap}.account{margin-left:auto}.detail-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.topbar-inner{padding:12px 15px}.container{padding:25px 15px 55px}.account span{display:none}.page-head{align-items:stretch;flex-direction:column}.page-head .button{align-self:flex-start}.stat-grid{grid-template-columns:1fr;gap:10px}.stat-card{min-height:115px}.stat-card strong{font-size:34px;margin:7px 0}.filters{flex-wrap:wrap}.filters input,.filters select,.filters .button{width:100%;flex-basis:100%}.panel{padding:18px}.data-list>div{grid-template-columns:1fr;gap:3px}.actions{width:100%}.actions .button{flex:1}.feed-row{align-items:flex-start}.feed-row .pill{white-space:normal;text-align:center}.form-page .panel{padding:20px}.management-grid{grid-template-columns:1fr}.management-card{min-height:145px}}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card.occupied{border-top:4px solid #427db7}
.schedule-filters{flex-wrap:wrap}.schedule-filters input[name=q]{min-width:210px}.schedule-filters input[type=date]{flex:0 1 165px;min-width:165px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:19px 0}.schedule-range,.schedule-summary,.schedule-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.schedule-range strong{font-size:14px;min-width:190px;text-align:center}.schedule-range .button{min-height:34px;padding:4px 12px}.schedule-summary span{background:#eaf1ef;border-radius:20px;padding:7px 11px;color:#42615e;font-size:12px;font-weight:700}.schedule-legend{margin:0 0 15px;gap:8px}.schedule-legend span{padding:5px 10px;border-radius:5px;color:#fff;font-size:12px;font-weight:700}.schedule-legend small{color:var(--muted);margin-left:8px}.legend-production,.kind-production{background:#167a70}.legend-maintenance,.kind-maintenance{background:#cd782e}.legend-repair,.kind-repair{background:#bd4e4e}.legend-other,.kind-other{background:#457bb0}
.schedule-panel{padding:0;overflow:hidden}.schedule-scroll{overflow-x:auto}.schedule-header,.schedule-row{display:flex;width:max-content;min-width:100%}.schedule-header{position:relative;z-index:2;background:#f4f8f6;border-bottom:1px solid var(--line)}.schedule-row{border-bottom:1px solid #e7eeee}.schedule-row:last-child{border-bottom:0}.schedule-label{position:sticky;left:0;z-index:1;width:225px;min-width:225px;padding:10px 14px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-height:64px}.schedule-label-head{background:#f4f8f6;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:800}.schedule-label a strong,.schedule-label a span,.schedule-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-label a strong{color:var(--teal);font-size:13px}.schedule-label a span{font-size:12px;margin-top:2px}.schedule-label small{font-size:11px;color:var(--muted);margin-top:3px}.schedule-dates,.schedule-track{width:calc(var(--days) * 70px);min-width:calc(var(--days) * 70px)}.schedule-dates{display:flex}.schedule-day{width:70px;min-width:70px;text-align:center;padding:9px 0;border-right:1px solid var(--line)}.schedule-day strong,.schedule-day small{display:block}.schedule-day strong{font-size:13px}.schedule-day small{font-size:10px;color:var(--muted)}.schedule-day.today{background:#e5f5ee;color:#08735e}.schedule-track{position:relative;min-height:64px;background:repeating-linear-gradient(to right,#fff 0,#fff 69px,#e7eeee 69px,#e7eeee 70px)}.schedule-block{position:absolute;top:15px;height:33px;min-width:5px;z-index:1;border-radius:5px;display:flex;align-items:center;color:#fff;box-shadow:0 2px 5px #102b3526;overflow:hidden}.schedule-block span{font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 7px}.schedule-block.state-planned{opacity:.64}.schedule-block:hover{opacity:1;filter:brightness(.93)}.schedule-free{display:block;color:#98aaa8;font-size:11px;padding:24px 12px}.schedule-empty{padding:22px;color:var(--muted);font-size:13px}.schedule-empty a,.schedule-list-row a{color:var(--teal);font-weight:700}.schedule-list{margin-top:20px}.schedule-list .panel-head small{color:var(--muted)}.schedule-list-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f0;font-size:13px}.schedule-list-row:last-child{border-bottom:0}.schedule-list-row>div{min-width:0;flex:1}.schedule-list-row strong,.schedule-list-row small{display:block}.schedule-list-row small{color:var(--muted);margin-top:5px;line-height:1.4}.schedule-list-row time{font-size:12px;color:var(--muted);white-space:nowrap}.usage-dot{width:10px;height:10px;border-radius:50%;flex:none}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.stat-grid{grid-template-columns:1fr}.schedule-label{width:156px;min-width:156px;padding:8px}.schedule-toolbar{align-items:flex-start}.schedule-range strong{min-width:145px}.schedule-list-row{flex-wrap:wrap}.schedule-list-row time{margin-left:22px}.schedule-list-row .subtle-link{margin-left:auto}.schedule-legend small{margin-left:0}}
.schedule-dates,.schedule-track{width:calc(var(--days) * 110px);min-width:calc(var(--days) * 110px)}.schedule-day{width:110px;min-width:110px}.schedule-track{background:repeating-linear-gradient(to right,#fff 0,#fff 109px,#e7eeee 109px,#e7eeee 110px)}
@media(max-width:650px){.topbar nav{scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.schedule-list .panel-head{align-items:flex-start;flex-direction:column}.schedule-list .panel-head h2{margin:0}}
.quick-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e6f1ed;border:1px solid #cbded7;border-radius:12px;padding:15px 18px;margin:0 0 20px}.quick-panel>div:first-child strong,.quick-panel>div:first-child small{display:block}.quick-panel>div:first-child strong{font-size:14px}.quick-panel>div:first-child small{font-size:12px;color:var(--muted);margin-top:3px}.quick-links,.scope-tabs{display:flex;gap:8px;flex-wrap:wrap}.quick-links a{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #d2e2dd;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:700}.quick-links a:hover{border-color:var(--teal)}.quick-links b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:#e5f3ed;color:var(--teal);border-radius:99px}.scope-tabs{margin-bottom:14px}.scope-tabs a{padding:9px 13px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:#49646a}.scope-tabs a.active{background:var(--ink);border-color:var(--ink);color:#fff}.scope-tabs a:hover{border-color:var(--teal)}.priority-critical{display:inline-block;border-radius:6px;padding:5px 8px;background:#fee9e5;color:#a53d2e;font-weight:800}
@media(max-width:900px){.quick-panel{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.quick-links a{flex:1 1 42%;justify-content:space-between}.scope-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.scope-tabs::-webkit-scrollbar{display:none}.scope-tabs a{white-space:nowrap}}
@media(max-width:650px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:125px;padding:15px}.stat-card span{line-height:1.25}.stat-card strong{font-size:31px;margin:7px 0 4px}}@media(max-width:340px){.stat-grid{grid-template-columns:1fr}}
.check-field{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:9px}.check-field label{grid-column:2;grid-row:1;line-height:1.4}.form-stack .check-field input[type=checkbox]{grid-column:1;grid-row:1;width:20px;height:20px;min-height:0;margin:0;accent-color:var(--teal);box-shadow:none}.check-field small,.check-field .field-error{grid-column:1/-1}.mini-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mini-actions a{font-size:12px;color:var(--teal);font-weight:700}.downtime-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff0e5;border:1px solid #efc2a2;border-left:4px solid var(--orange);border-radius:10px;padding:14px 17px;margin-bottom:18px}.downtime-alert strong,.downtime-alert span{display:block}.downtime-alert strong{font-size:14px;color:#8e421c}.downtime-alert span{font-size:12px;color:#9b603e;margin-top:4px}.downtime-panel{margin-top:18px}.downtime-active{background:#fff0e5;color:#a85023}.done-steps{margin:7px 0 0;padding-left:18px;font-size:12px;color:#42615e;line-height:1.5}.downtime-metric{margin:7px 0 20px}.downtime-metric strong{display:block;font-size:32px;line-height:1.1}.downtime-metric span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.reason-row{margin:13px 0}.reason-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.reason-meter{height:8px;background:#e9efee;border-radius:9px;overflow:hidden}.reason-meter span{display:block;height:100%;background:#c8672d;border-radius:9px}.reason-row+small{display:block;margin-top:16px}
@media(max-width:650px){.downtime-alert{align-items:flex-start;flex-direction:column}.feed-row .mini-actions{justify-content:flex-end}}

/* Keep the equipment name above timeline blocks while scrolling sideways. */
.schedule-row>.schedule-label{z-index:3;box-shadow:4px 0 8px #102b3514}
.schedule-header>.schedule-label{z-index:3}
