:root{--ink: #0b2545;--muted: #5b6875;--line: #d6dde3;--paper: #ffffff;--ground: #f1f4f6;--navy: #001f3f;--navy-ink: #ffffff;--accent: #ff8c00;--accent-soft: #ffeac0;--open: #e9f2ec;--open-line: #a9c9b5;--reserved: #fbeecb;--reserved-line: #d9b44f;--reserved-ink: #6e5200;--closed: #f7d9d6;--closed-line: #c9554a;--closed-ink: #8c1d13;--mixed: #f3e3d4;--ok: #1d6b3f;--radius: 6px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(#fff3,#fff3),url(/assets/cont_bg1.jpg) center/cover no-repeat fixed var(--ground)}h1,h2,h3,p{margin:0}h2{font-size:1.15rem}h3{font-size:.95rem}button,input,select{font:inherit;color:inherit}input,select{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}input[type=checkbox]{width:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}button.primary:hover:not(:disabled){background:#000;border-color:#000;color:var(--accent)}button.danger{background:var(--closed-ink);border-color:var(--closed-ink);color:#fff}button.danger-quiet{color:var(--closed-ink)}button.ghost{border:0;background:none}button.logout{flex:none;width:76px;height:30px;padding:0;background:#fff;border-color:#fff;color:#000;font-weight:700}button.logout:hover:not(:disabled){background:#000;border-color:#d01010;color:var(--accent)}button.link{border:0;background:none;padding:0;color:var(--navy);font-weight:600;text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.muted{color:var(--muted);font-weight:400}.code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.empty{padding:28px;text-align:center;color:var(--muted);background:var(--paper);border-radius:var(--radius)}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:56px;padding:0 20px;background:var(--navy);color:var(--navy-ink)}.brand{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:700;white-space:nowrap}.brand img{height:40px;width:auto;display:block}.topbar-centre{display:flex;gap:12px;align-items:center;justify-content:center;min-width:0}.topbar-centre h1{font-size:22px;line-height:1;white-space:nowrap}.topbar-detail{color:var(--accent);font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-flag{padding:1px 8px;border-radius:999px;background:var(--reserved);color:var(--reserved-ink);font-size:.8rem;font-weight:600}.user{display:flex;justify-content:flex-end;align-items:center;gap:14px;min-width:0}.user-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yard-map-image{display:block;width:100%;height:auto;border-radius:var(--radius)}.page{padding:14px 20px 32px;max-width:1500px;margin:0 auto}.centre{max-width:520px;margin:80px auto;padding:28px 24px;text-align:center;display:grid;gap:10px;background:var(--paper);border-radius:8px}.versionbar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:10px 14px;background:var(--navy);border:1px solid var(--navy);border-radius:8px}.versionbar .muted{color:#ffffffb8}.version-pick{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.version-pick select{width:auto;max-width:340px}.version-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.totals{display:flex;gap:20px;margin:0}.totals dt{font-size:.75rem;color:var(--accent);font-weight:600}.totals dd{margin:0;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--ground);white-space:nowrap}.chip-draft{background:var(--reserved);color:var(--reserved-ink)}.chip-published{background:var(--open);color:var(--ok)}.chip-state-in_effect{background:var(--closed);color:var(--closed-ink)}.chip-state-scheduled{background:var(--reserved);color:var(--reserved-ink)}.chip-change-added{background:var(--open);color:var(--ok)}.chip-change-removed{background:var(--closed);color:var(--closed-ink)}.chip-change-changed{background:var(--reserved);color:var(--reserved-ink)}.tabs{display:inline-flex;gap:4px;margin:12px 0 10px;padding:4px;background:var(--paper);border-radius:8px}.tabs button{border-color:transparent;background:none;color:var(--muted)}.tabs button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,620px);gap:14px;align-items:start}.map,.panel,.sheet{background:#fffffff5;border:1px solid var(--line);border-radius:8px;padding:14px}.map{display:grid;gap:16px}.panel{display:grid;gap:12px;position:sticky;top:66px;max-height:calc(100vh - 76px);overflow-y:auto}.panel-empty{color:var(--muted);text-align:center;padding:48px 14px}.panel-head,.area-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.area-actions{display:flex;gap:8px;align-items:center}.area{display:grid;gap:8px}.blocks{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.legend{color:var(--muted);font-size:.82rem}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:6px 8px;text-align:left;font-size:.8rem;line-height:1.25;background:var(--open);border:1px solid var(--open-line);border-left-width:4px;position:relative;overflow:hidden}.tile strong{font-size:.95rem}.tile-size{color:var(--muted);font-variant-numeric:tabular-nums}.tile[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.tile-reefer{border-left-color:#2a7fb8}.tile-dg{border-left-color:#b8562a}.tile-empty{border-left-color:#7d8a96}.tile-inspection,.tile-damaged{border-left-color:#8a5fb0}.tile-state-reserved{background:var(--reserved);border-color:var(--reserved-line)}.tile-state-closed{background:var(--closed);border-color:var(--closed-line)}.tile-state-partly-closed{background:var(--mixed);border-color:var(--closed-line)}.tile-flag{font-weight:600;color:var(--closed-ink)}.tile-flag-reserved{color:var(--reserved-ink)}.attributes{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px;margin:0}.attributes dt{font-size:.75rem;color:var(--muted)}.attributes dd{margin:0}.grid-area{display:grid;gap:8px}.grid-tools{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tier-pick{display:flex;gap:4px;align-items:center}.grid-tools button{padding:3px 9px;font-size:.85rem}.grid-tools button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);font-weight:600}.grid-scroll{overflow-x:auto}.slot-grid{border-collapse:separate;border-spacing:2px}.slot-grid th{padding:0;font-weight:400}.slot-grid th button{width:26px;height:22px;padding:0;border:0;background:none;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.slot-grid th button:hover{color:var(--ink);font-weight:700}.slot-grid th button[aria-pressed=true]{color:#000;font-weight:700;background:var(--accent);border-radius:3px}.slot-grid td{padding:0}.cell{display:flex;align-items:center;justify-content:center;position:relative;width:26px;height:26px;padding:0;font-size:.75rem;font-weight:700;font-style:normal;border:1px solid var(--open-line);border-radius:3px;background:var(--open)}button.cell[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.cell-reserved{background:var(--reserved);border-color:var(--reserved-line);color:var(--reserved-ink)}.cell-closed{background:var(--closed);border-color:var(--closed-line);color:var(--closed-ink)}.cell-mixed{background:var(--mixed);border-color:var(--closed-line);color:var(--closed-ink)}.mark-boxes{font-weight:700;color:var(--navy)}.mark-plug{position:absolute;left:2px;bottom:2px;width:6px;height:6px;border-radius:50%;background:#2a7fb8}.mark-dg{position:absolute;right:2px;top:2px;width:0;height:0;border-left:7px solid transparent;border-top:7px solid #b8562a}.key{display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;margin:0;padding:0;color:var(--muted);font-size:.8rem}.key li{display:flex;gap:5px;align-items:center}.key .cell{width:16px;height:16px;font-size:.62rem}.picked{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 12px}.field{display:grid;gap:3px;align-content:start}.field-label{font-size:.82rem;font-weight:600}.field-hint{font-size:.76rem;color:var(--muted)}.check{display:inline-flex;gap:6px;align-items:center}.checks{border:0;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:4px 14px}.checks legend{font-size:.82rem;font-weight:600;padding:0 0 3px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.note{padding:8px 10px;border-radius:var(--radius);border:1px solid;margin:8px 0}.note ul{margin:0;padding-left:18px}.note-error{background:#fdeeec;border-color:var(--closed-line);color:var(--closed-ink)}.note-warn{background:#fef6e0;border-color:var(--reserved-line);color:var(--reserved-ink)}.note-ok{background:var(--open);border-color:var(--open-line);color:var(--ok)}.closure-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.closure-list li{display:flex;justify-content:space-between;gap:10px;align-items:center}.sheet{display:grid;gap:10px}.sheet-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.table thead th{font-size:.78rem;color:var(--accent);background:var(--navy);font-weight:600}.compare{margin:10px 0;font-variant-numeric:tabular-nums}.compare tbody th{font-weight:400}.plain{margin:0;padding-left:16px}.dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.dialog-wide{width:min(780px,calc(100vw - 32px))}.dialog::backdrop{background:#000000b3}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--navy);color:#fff}.dialog-head .ghost{color:var(--accent)}.dialog-body{padding:14px 16px;display:grid;gap:8px}.dialog-body form{display:grid;gap:8px}@media (max-width: 1050px){.workspace{grid-template-columns:minmax(0,1fr)}.panel{position:static;max-height:none}.version-actions{margin-left:0}.topbar-detail,.demo-flag,.user-name{display:none}}
