:root{
  font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1b2c2b;background:#f5f7f4;font-size:15px;line-height:1.45;
  --ink:#1b2c2b;--muted:#718079;--green:#20483f;--lime:#d9edaf;--line:#e2e8e3;--white:#fff;--red:#a54235;--blue:#dfeef5;--gold:#fbf1d6;--purple:#eee5f3;--shadow:0 18px 48px #233b3212
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 5%,#eaf0e6 0,transparent 48%),#f5f7f4}
button,input,select{font:inherit}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #86a962;outline-offset:3px}
.topbar{min-height:70px;padding:10px clamp(16px,4vw,54px);display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#ffffffd9}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.8px;white-space:nowrap}
.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:2px}
.brand-mark{position:relative;display:grid;place-items:center;width:36px;height:37px;border-radius:9px;background:var(--green);color:var(--lime);font-size:27px;font-style:italic}
.brand-mark span{position:absolute;top:-3px;right:1px;font-size:14px}
.mode-pill,.status-pill,.role-pill,.count-pill,.data-tag{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #dce5d4;border-radius:20px;background:#f7faf3;color:#526746;font-size:10px;font-weight:700;letter-spacing:.35px;white-space:nowrap}
.mode-pill>span{width:7px;height:7px;border-radius:50%;background:#72994d}
main{width:min(100% - 32px,1420px);margin:clamp(24px,5vh,54px) auto 28px}
.auth-card,.workspace{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,34px);box-shadow:var(--shadow)}
.auth-card{max-width:600px;margin:0 auto;padding:clamp(23px,6vw,42px)}
.eyebrow{margin:0 0 7px;color:#748078;font-size:10px;font-weight:750;letter-spacing:1.55px}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:0;color:var(--ink);font-size:clamp(24px,5vw,32px);line-height:1.2;letter-spacing:-.8px;font-weight:680}
h2{margin:0;color:var(--ink);font-size:clamp(20px,3vw,25px);line-height:1.2;letter-spacing:-.4px}
.intro{max-width:460px;margin:13px 0 26px;color:#68756f;font-size:14px}
form{display:grid;gap:9px}
label{margin-top:7px;color:#34443d;font-size:12px;font-weight:650}
input,select{width:100%;height:43px;padding:9px 11px;border:1px solid #cfd9d2;border-radius:8px;background:#fff;color:var(--ink)}
input:focus{border-color:#73965d}
.primary,.secondary,.icon-button,.view-tab{min-height:40px;border:0;border-radius:8px;font-weight:700;cursor:pointer;transition:background .15s,transform .15s,color .15s}
.primary{width:100%;margin-top:13px;background:var(--green);color:#fff}
.primary:hover{background:#173c34}
.secondary{background:#eef3eb;color:#345342}
.secondary:hover{background:#e2ebdb}
.compact{min-height:36px;padding:0 13px}
.primary:active,.secondary:active,.icon-button:active,.view-tab:active{transform:translateY(1px)}
button:disabled{opacity:.55;cursor:wait}
.message{min-height:20px;margin:10px 0 0;color:var(--red);font-size:12px}
.fine-print{margin:14px 0 0;color:#77837c;font-size:11px}
.workspace{padding:0;overflow:hidden}
.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 25px 17px;border-bottom:1px solid var(--line)}
.identity-block .eyebrow{margin-bottom:4px}
.identity-block h1{font-size:23px}
.identity-line{display:flex;align-items:center;gap:8px;margin:7px 0 0;color:#58675f;font-size:13px}
.identity-line strong{color:var(--ink)}
.role-pill{padding:3px 8px;background:#eef3eb;font-size:9px}
.toolbar-actions{display:flex;gap:8px;flex-shrink:0}
.read-only-banner{display:flex;align-items:center;gap:8px;margin:15px 22px 8px;padding:10px 13px;border:1px solid #dce7d5;border-radius:9px;background:#f5f9f1;color:#52664a;font-size:11px}
.read-only-banner strong{white-space:nowrap;color:#345342}
code{font-family:Consolas,monospace;font-size:.95em}
.data-message{margin:0 22px 8px;min-height:20px;color:#59685f;font-size:11px}
.data-message.error{color:#9b4036}
.data-message.stale:before{content:"STALE · ";font-weight:800;color:#a55d24}
.workspace>.message{margin:0 22px 8px}
.view-tabs{display:flex;gap:6px;padding:0 22px;border-bottom:1px solid var(--line)}
.view-tab{min-height:40px;padding:0 13px;border-radius:7px 7px 0 0;background:transparent;color:#637168;font-size:12px}
.view-tab:hover{background:#f4f7f2;color:var(--green)}
.view-tab.active{border-bottom:2px solid var(--green);color:var(--green)}
.view-section{padding:19px 22px 24px}
.section-heading,.schedule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:15px}
.section-heading h2,.schedule-toolbar h2{margin-bottom:4px}
.section-heading p:not(.eyebrow),.schedule-toolbar p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px}
.count-pill{font-size:11px;background:#f2f5f0;color:#40574a}
.fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.machine-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.machine-card:hover{border-color:#bdcdb9;box-shadow:0 8px 24px #203b3012;transform:translateY(-1px)}
.machine-card.missing{background:#fafbf9;border-style:dashed;color:#69776e}
.machine-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.machine-title{min-width:0}
.machine-title h3{margin:0;color:var(--green);font-size:18px;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.machine-title small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.machine-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
.data-tag{padding:3px 6px;font-size:8px;letter-spacing:0}
.data-tag.fictional{border-color:#d8e6ba;background:#f3f8e9;color:#526c38}
.data-tag.recorded{border-color:#dce5e1;background:#f4f7f5;color:#5c6d64}
.data-tag.missing-tag{border-color:#e5e7df;background:#f7f7f4;color:#788179}
.rental-badge{display:inline-flex;align-items:center;margin:11px 0 9px;padding:4px 8px;border-radius:6px;background:#eef3eb;color:#3d5c47;font-size:10px;font-weight:750}
.rental-badge.reserved{background:var(--gold);color:#8d6a1c}
.rental-badge.on-rent{background:var(--blue);color:#42647c}
.rental-badge.overdue{background:#fbe4df;color:#a54237}
.rental-badge.returned{background:#edf3e9;color:#647a55}
.rental-badge.unrecorded{background:#f2f3f0;color:#737d75}
.machine-facts{display:grid;grid-template-columns:1fr;gap:6px;margin:0}
.machine-facts div{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px}
.machine-facts dt{color:#7b8780;font-size:9px}
.machine-facts dd{margin:0;color:#34453c;font-size:10px;overflow-wrap:anywhere}
.machine-facts dd.unconfirmed{color:#8b6d32}
.reservation-note{margin:10px 0 0;padding-top:8px;border-top:1px solid #edf0ec;color:#66756b;font-size:9px;line-height:1.45}
.empty-state{margin:12px 0 0;padding:16px;border:1px dashed #d7ded7;border-radius:9px;background:#fafbf9;color:#66736b;font-size:12px}
.schedule-toolbar{align-items:flex-end;margin-bottom:12px}
.month-controls{display:grid;grid-template-columns:34px auto minmax(130px,155px) 34px;align-items:center;gap:6px}
.month-controls label{margin:0;color:#65736a;font-size:10px}
.month-controls input{height:35px;padding:5px 7px;font-size:12px}
.icon-button{min-width:34px;min-height:34px;background:#eef3eb;color:#315345;font-size:23px;line-height:1}
.icon-button:hover{background:#e2ebdb}
.legend{display:flex;flex-wrap:wrap;gap:7px 15px;margin:11px 0;color:#657168;font-size:9px}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:12px;height:8px;border:1px solid #ccd5cd;border-radius:2px;background:#edf3e9}
.legend i.reserved{background:var(--gold);border-color:#dfc47b}
.legend i.on-rent{background:var(--blue);border-color:#9dbbc9}
.legend i.overdue{background:#f9e1dc;border-color:#cc7769}
.legend i.returned{background:#e9eee7;border-color:#b8c6b5}
.legend i.conflict{outline:2px solid #ba4d3c;outline-offset:-2px;background:#f9e1dc}
.schedule-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:9px;overscroll-behavior-x:contain}
.schedule-table{min-width:0;background:#fff}
.schedule-head,.schedule-row{display:grid;grid-template-columns:124px minmax(0,1fr);width:100%;min-width:0}
.schedule-head{position:sticky;top:0;z-index:4;background:#f3f7f0}
.schedule-head-machine,.schedule-machine{position:sticky;left:0;z-index:3;width:124px;min-width:124px;border:0;border-right:1px solid #dfe6d8;background:#f8faf6}
.schedule-head-machine{padding:8px 6px;color:#6f7b72;font-size:9px;font-weight:700}
.schedule-days,.schedule-track,.day-grid{display:grid;grid-template-columns:repeat(31,minmax(0,1fr))}
.schedule-days{min-width:0}
.schedule-days span{display:grid;place-items:center;min-width:0;min-height:31px;border-left:1px solid #e6ebdf;color:#55645b;font-size:8px;font-variant-numeric:tabular-nums}
.schedule-days span.today{background:#eaf2df;color:#355d3c;font-weight:800}
.schedule-row{min-height:40px;border-top:1px solid #e9eee5}
.schedule-machine{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:5px 6px;text-align:left;cursor:pointer}
.schedule-machine strong{color:#24453c;font-size:18px;font-weight:700;line-height:1.05;white-space:nowrap}
.schedule-machine small{margin-top:3px;color:#77847b;font-size:8px;white-space:nowrap}
.schedule-machine-meta{display:flex;align-items:center;gap:3px;margin-top:2px;white-space:nowrap}
.schedule-machine-meta small{margin-top:0}
.schedule-fixture-tag{padding:1px 3px;border:1px solid #d8e6ba;border-radius:999px;background:#f3f8e9;color:#526c38;font-size:6px;font-weight:800;line-height:1.15;letter-spacing:.02em}
.schedule-track{position:relative;grid-auto-rows:26px;min-height:34px;padding:3px 0;isolation:isolate}
.day-grid{position:absolute;inset:0;z-index:-1;pointer-events:none}
.day-grid i{border-left:1px solid #edf0e9}
.day-grid i.today{background:#f5f8ec}
.booking-bar{z-index:1;align-self:center;min-width:0;height:22px;margin:0 1px;padding:2px 5px;overflow:hidden;border:1px solid transparent;border-radius:4px;text-align:left;white-space:nowrap;cursor:pointer;color:#293d33;font-size:8px;line-height:16px;text-overflow:ellipsis}
.booking-bar.reserved{background:var(--gold);border-color:#dfc47b;color:#80601a}
.booking-bar.on-rent{background:var(--blue);border-color:#9dbbc9;color:#42647c}
.booking-bar.overdue{background:#f9e1dc;border-color:#cc7769;color:#963f35}
.booking-bar.returned{background:#e9eee7;border-color:#b8c6b5;color:#647a55}
.booking-bar.other{background:#ecefeb;border-color:#ccd5cd;color:#56645a}
.booking-bar.conflict{outline:2px solid #ba4d3c;outline-offset:-2px}
.schedule-table.days-28 .schedule-days,.schedule-table.days-28 .schedule-track,.schedule-table.days-28 .day-grid{grid-template-columns:repeat(28,minmax(0,1fr))}
.schedule-table.days-29 .schedule-days,.schedule-table.days-29 .schedule-track,.schedule-table.days-29 .day-grid{grid-template-columns:repeat(29,minmax(0,1fr))}
.schedule-table.days-30 .schedule-days,.schedule-table.days-30 .schedule-track,.schedule-table.days-30 .day-grid{grid-template-columns:repeat(30,minmax(0,1fr))}
.schedule-table.days-31 .schedule-days,.schedule-table.days-31 .schedule-track,.schedule-table.days-31 .day-grid{grid-template-columns:repeat(31,minmax(0,1fr))}
.booking-bar.day-start-1{grid-column-start:1}.booking-bar.day-start-2{grid-column-start:2}.booking-bar.day-start-3{grid-column-start:3}.booking-bar.day-start-4{grid-column-start:4}.booking-bar.day-start-5{grid-column-start:5}.booking-bar.day-start-6{grid-column-start:6}.booking-bar.day-start-7{grid-column-start:7}.booking-bar.day-start-8{grid-column-start:8}.booking-bar.day-start-9{grid-column-start:9}.booking-bar.day-start-10{grid-column-start:10}.booking-bar.day-start-11{grid-column-start:11}.booking-bar.day-start-12{grid-column-start:12}.booking-bar.day-start-13{grid-column-start:13}.booking-bar.day-start-14{grid-column-start:14}.booking-bar.day-start-15{grid-column-start:15}.booking-bar.day-start-16{grid-column-start:16}.booking-bar.day-start-17{grid-column-start:17}.booking-bar.day-start-18{grid-column-start:18}.booking-bar.day-start-19{grid-column-start:19}.booking-bar.day-start-20{grid-column-start:20}.booking-bar.day-start-21{grid-column-start:21}.booking-bar.day-start-22{grid-column-start:22}.booking-bar.day-start-23{grid-column-start:23}.booking-bar.day-start-24{grid-column-start:24}.booking-bar.day-start-25{grid-column-start:25}.booking-bar.day-start-26{grid-column-start:26}.booking-bar.day-start-27{grid-column-start:27}.booking-bar.day-start-28{grid-column-start:28}.booking-bar.day-start-29{grid-column-start:29}.booking-bar.day-start-30{grid-column-start:30}.booking-bar.day-start-31{grid-column-start:31}
.booking-bar.day-end-2{grid-column-end:2}.booking-bar.day-end-3{grid-column-end:3}.booking-bar.day-end-4{grid-column-end:4}.booking-bar.day-end-5{grid-column-end:5}.booking-bar.day-end-6{grid-column-end:6}.booking-bar.day-end-7{grid-column-end:7}.booking-bar.day-end-8{grid-column-end:8}.booking-bar.day-end-9{grid-column-end:9}.booking-bar.day-end-10{grid-column-end:10}.booking-bar.day-end-11{grid-column-end:11}.booking-bar.day-end-12{grid-column-end:12}.booking-bar.day-end-13{grid-column-end:13}.booking-bar.day-end-14{grid-column-end:14}.booking-bar.day-end-15{grid-column-end:15}.booking-bar.day-end-16{grid-column-end:16}.booking-bar.day-end-17{grid-column-end:17}.booking-bar.day-end-18{grid-column-end:18}.booking-bar.day-end-19{grid-column-end:19}.booking-bar.day-end-20{grid-column-end:20}.booking-bar.day-end-21{grid-column-end:21}.booking-bar.day-end-22{grid-column-end:22}.booking-bar.day-end-23{grid-column-end:23}.booking-bar.day-end-24{grid-column-end:24}.booking-bar.day-end-25{grid-column-end:25}.booking-bar.day-end-26{grid-column-end:26}.booking-bar.day-end-27{grid-column-end:27}.booking-bar.day-end-28{grid-column-end:28}.booking-bar.day-end-29{grid-column-end:29}.booking-bar.day-end-30{grid-column-end:30}.booking-bar.day-end-31{grid-column-end:31}.booking-bar.day-end-32{grid-column-end:32}
.booking-bar.lane-0{grid-row:1}.booking-bar.lane-1{grid-row:2}.booking-bar.lane-2{grid-row:3}.booking-bar.lane-3{grid-row:4}.booking-bar.lane-4{grid-row:5}.booking-bar.lane-5{grid-row:6}.booking-bar.lane-6{grid-row:7}.booking-bar.lane-7{grid-row:8}.booking-bar.lane-8{grid-row:9}.booking-bar.lane-9{grid-row:10}.booking-bar.lane-10{grid-row:11}.booking-bar.lane-11{grid-row:12}
.schedule-track.lane-count-1{grid-template-rows:repeat(1,26px)}.schedule-track.lane-count-2{grid-template-rows:repeat(2,26px)}.schedule-track.lane-count-3{grid-template-rows:repeat(3,26px)}.schedule-track.lane-count-4{grid-template-rows:repeat(4,26px)}.schedule-track.lane-count-5{grid-template-rows:repeat(5,26px)}.schedule-track.lane-count-6{grid-template-rows:repeat(6,26px)}.schedule-track.lane-count-7{grid-template-rows:repeat(7,26px)}.schedule-track.lane-count-8{grid-template-rows:repeat(8,26px)}.schedule-track.lane-count-9{grid-template-rows:repeat(9,26px)}.schedule-track.lane-count-10{grid-template-rows:repeat(10,26px)}.schedule-track.lane-count-11{grid-template-rows:repeat(11,26px)}.schedule-track.lane-count-12{grid-template-rows:repeat(12,26px)}
.record-detail{margin-top:16px;padding:15px;border:1px solid #dfe7dc;border-radius:10px;background:#fafcf9}
.record-detail h3{margin:0 0 10px;color:var(--green);font-size:16px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.detail-grid div{min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff}
.detail-grid dt{color:#79867d;font-size:9px;text-transform:uppercase;letter-spacing:.5px}
.detail-grid dd{margin:3px 0 0;color:#33453a;font-size:11px;overflow-wrap:anywhere}
.detail-note{margin:10px 0 0;color:#6c796f;font-size:10px}
.workspace footer,#login-footer{text-align:center;color:#88938c;font-size:9px;letter-spacing:.5px;padding:16px}
.fictional-mode{border-color:#e4d8af;background:#fff9e8;color:#83641d}
.fictional-banner{border-color:#eadcae;background:#fff9e8;color:#6c581d}
.machine-card.demo-blocked{border-color:#e8c8c0;background:#fffaf9;filter:saturate(.75)}
.blocked-tag{border-color:#e8c8c0;background:#fff0ec;color:#963f35}
.operation-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa}
.operation-form h3{grid-column:1/-1;margin:0;color:var(--green);font-size:15px}
.operation-form label{display:grid;gap:5px;color:#68766c;font-size:10px}
.operation-form input,.operation-form select{width:100%;height:36px;padding:7px 9px}
.operation-form button{align-self:end;min-height:36px}
.subheading{margin:20px 0 10px;color:var(--green);font-size:15px}
.record-list{display:grid;gap:9px}
.operation-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.operation-card h3{margin:0;color:var(--green);font-size:14px}
.operation-card p{margin:7px 0;color:#647268;font-size:11px;overflow-wrap:anywhere}
.operation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.operation-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.operation-card button,.operation-actions button{min-height:32px;padding:0 10px;border:1px solid #d5dfd3;border-radius:6px;background:#f5f8f3;color:#345746;font-size:10px;font-weight:700;cursor:pointer}
.operation-card button:hover,.operation-actions button:hover{background:#eaf1e5}
.operation-card button.danger,.operation-actions button.danger{border-color:#e7c6bf;background:#fff4f1;color:#963f35}
.restriction{color:#963f35!important;font-weight:700}
.success-note{color:#456c42!important;font-weight:700}
.audit-panel{margin:0 22px 14px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#fafbf9;color:#5e6c62;font-size:11px}
.audit-panel summary{cursor:pointer;font-weight:700}
.audit-panel ol{padding-left:20px;font-size:10px;line-height:1.6}
.audit-panel li{overflow-wrap:anywhere}
[hidden]{display:none!important}
@media(max-width:1050px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .topbar{min-height:64px;padding:9px 13px}.mode-pill{font-size:8px;padding:5px 7px;letter-spacing:0}
  main{width:calc(100% - 16px);margin:12px auto}.workspace{border-radius:12px}.workspace-toolbar{padding:15px 12px 12px}.identity-block h1{font-size:20px}.toolbar-actions{gap:5px}.compact{min-height:33px;padding:0 9px;font-size:11px}
  .read-only-banner{align-items:flex-start;flex-direction:column;gap:3px;margin:10px 10px 6px;padding:8px 9px;font-size:10px}.data-message{margin:0 10px 6px;font-size:10px}.workspace>.message{margin:0 10px 6px}
  .view-tabs{padding:0 10px}.view-tab{min-height:38px;padding:0 9px;font-size:11px}.view-section{padding:14px 10px 18px}.section-heading,.schedule-toolbar{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:10px}.section-heading p:not(.eyebrow),.schedule-toolbar p:not(.eyebrow){font-size:10px}.count-pill{align-self:flex-start}
  .fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.machine-card{padding:9px;border-radius:9px}.machine-title h3{font-size:16px}.machine-title small{font-size:8px}.machine-badges{gap:3px}.data-tag{font-size:7px;padding:3px 4px}.rental-badge{margin:8px 0 7px;font-size:9px;padding:3px 6px}.machine-facts div{grid-template-columns:62px minmax(0,1fr);gap:4px}.machine-facts dt,.machine-facts dd{font-size:8px}.reservation-note{font-size:8px;margin-top:7px;padding-top:6px}
  .schedule-toolbar{flex-direction:column}.month-controls{width:100%;grid-template-columns:32px auto minmax(110px,1fr) 32px;gap:4px}.month-controls label{font-size:9px}.month-controls input{width:100%;height:33px;font-size:11px}.icon-button{min-width:32px;min-height:32px}.legend{gap:6px 9px;margin:8px 0;font-size:8px}.schedule-scroll{overflow-x:hidden;border-radius:7px}.schedule-head,.schedule-row{grid-template-columns:92px minmax(0,1fr)}.schedule-head-machine,.schedule-machine{width:92px;min-width:92px;padding-left:4px;padding-right:4px}.schedule-head-machine{font-size:8px}.schedule-days span{min-height:26px;font-size:7px}.schedule-row{min-height:34px}.schedule-machine strong{font-size:11px}.schedule-machine small{font-size:7px}.schedule-track{grid-auto-rows:21px;min-height:27px;padding:2px 0}.schedule-track.lane-count-1{grid-template-rows:repeat(1,21px)}.schedule-track.lane-count-2{grid-template-rows:repeat(2,21px)}.schedule-track.lane-count-3{grid-template-rows:repeat(3,21px)}.schedule-track.lane-count-4{grid-template-rows:repeat(4,21px)}.schedule-track.lane-count-5{grid-template-rows:repeat(5,21px)}.schedule-track.lane-count-6{grid-template-rows:repeat(6,21px)}.schedule-track.lane-count-7{grid-template-rows:repeat(7,21px)}.schedule-track.lane-count-8{grid-template-rows:repeat(8,21px)}.schedule-track.lane-count-9{grid-template-rows:repeat(9,21px)}.schedule-track.lane-count-10{grid-template-rows:repeat(10,21px)}.schedule-track.lane-count-11{grid-template-rows:repeat(11,21px)}.schedule-track.lane-count-12{grid-template-rows:repeat(12,21px)}.booking-bar{height:18px;margin:0;padding:1px 2px;border-radius:3px;font-size:6px;line-height:14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-detail{padding:10px;margin-top:10px}
}
@media(max-width:380px){.brand{font-size:13px;gap:7px}.brand-mark{width:32px;height:33px;font-size:24px}.mode-pill{font-size:7px}.workspace-toolbar{align-items:flex-start}.toolbar-actions{align-self:flex-end}.fleet-grid{gap:5px}.machine-card{padding:7px}.machine-title h3{font-size:15px}.machine-facts div{grid-template-columns:56px minmax(0,1fr)}.schedule-head,.schedule-row{grid-template-columns:88px minmax(0,1fr)}.schedule-head-machine,.schedule-machine{width:88px;min-width:88px}.schedule-days span{font-size:6px}.booking-bar{font-size:5px}}
@media(max-width:700px){.schedule-machine strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:700px){.operation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.operation-form label{font-size:9px}.operation-form button{grid-column:1/-1}.audit-panel{margin:0 10px 10px}.operation-card{padding:10px}.operation-actions button,.operation-card button{min-height:36px}}
.fictional-fixtures{margin:18px 0;padding:14px;border:1px dashed #c7d2b4;border-radius:11px;background:#f8faf2}
.fictional-fixtures .section-heading{margin:0 0 10px}
.fictional-fixtures .section-heading h3{margin:0;color:#526c38;font-size:15px}
.fixture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fictional-fixture-card{border-color:#c7d2b4;background:#fbfdf7}
.booking-bar.fictional-rental{border-style:dashed;box-shadow:inset 0 0 0 1px #526c38}
.schedule-mobile-hint{display:none}
@media(max-width:700px){
  .schedule-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .schedule-table{min-width:720px}
  .schedule-head,.schedule-row{grid-template-columns:112px minmax(0,1fr)}
  .schedule-head-machine,.schedule-machine{width:112px;min-width:112px;padding-left:6px;padding-right:6px}
  .schedule-days span{font-size:8px}
  .booking-bar{font-size:7px}
  .schedule-mobile-hint{display:block;margin:0 0 7px;color:var(--muted);font-size:10px}
}
.operations-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.operations-summary p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:11px}
.operation-state{display:inline-flex;padding:7px 10px;border:1px solid #dfd1a4;border-radius:999px;background:#fff8e6;color:#7b5d1b;font-size:9px;font-weight:800;white-space:nowrap}
.operation-state.enabled{border-color:#bdd1ae;background:#f1f8eb;color:#42633d}
.operation-guidance{margin:0 0 13px;padding:9px 11px;border:1px solid #dce7d5;border-radius:8px;background:#f5f9f1;color:#53634d;font-size:10px}
.operation-warning{margin:0 0 12px;padding:11px;border:1px solid #ead7a9;border-radius:9px;background:#fffaf0}
.operation-warning h3{margin:0 0 5px;font-size:12px;color:#775d24}
.operation-warning ul{margin:0;padding-left:18px;color:#665c42;font-size:10px}
.operation-warning li.overdue{color:#a54235;font-weight:800}
.operation-card{min-width:0;margin:12px 0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.operation-card h3{margin:0 0 9px;color:var(--green);font-size:14px}
.operation-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fbfcfa}
.operation-form label{display:grid;gap:5px;color:#68766c;font-size:10px;font-weight:650}
.operation-form input,.operation-form select,.operation-form textarea{width:100%;min-width:0;min-height:36px;padding:7px 9px;border:1px solid #cfd9d2;border-radius:7px;background:#fff;color:var(--ink)}
.operation-form input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--green)}
.operation-fields{display:contents}
.operation-fields>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}
.operation-confirm{grid-column:1/-1;display:flex!important;align-items:center;gap:8px!important;padding:8px;border-radius:7px;background:#f0f4ec}
.operation-form>button{grid-column:1/-1;max-width:280px;justify-self:end}
.operation-status{margin:8px 0;color:#52634f;font-size:11px;overflow-wrap:anywhere}
.record-list{display:grid;gap:7px;max-height:300px;overflow:auto}
.record-list article{min-width:0;padding:8px;border-bottom:1px solid #edf0ec}
.record-list strong{font-size:11px;color:#344b3d;overflow-wrap:anywhere}
.record-list p{margin:3px 0 0;color:#66746b;font-size:10px;overflow-wrap:anywhere}
#v16-operation-confirm{width:min(560px,calc(100vw - 24px));max-width:none;padding:18px;border:1px solid #d7ded5;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #17372a33}
#v16-operation-confirm::backdrop{background:#132b22aa}
#v16-operation-confirm form{display:grid;gap:10px}
#v16-operation-confirm h3{margin:0;color:var(--green)}
#v16-operation-confirm pre{max-height:35vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;border-radius:7px;background:#f4f7f0;font:11px/1.45 Consolas,monospace}
#v16-operation-confirm p:not(.eyebrow){margin:0;color:#59685f;font-size:11px;line-height:1.5}
.fixture-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.fixture-dialog-actions button{min-height:40px;padding:0 12px}
@media(max-width:650px){.fictional-fixtures{padding:10px}.fixture-grid{grid-template-columns:1fr}.operations-summary{flex-direction:column}.operation-state{white-space:normal}.operation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.operation-form label{font-size:9px}.operation-form>button{max-width:none}.operation-card{padding:10px}#v16-operation-confirm{padding:14px}}
