:root{--bg:#f4f7f8;--card:#fff;--ink:#14272e;--muted:#5b6f77;--line:#d6e0e4;--accent:#0b5c73;--accent-ink:#fff;--danger:#a4262c;--ok:#1e7a45;--warn:#8a5a00;--radius:10px;--tap:44px;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0;font-size:1.5rem}h2{margin:0 0 .5rem;font-size:1.15rem}a{color:var(--accent)}.muted{color:var(--muted)}.pre{white-space:pre-wrap}.shell{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.topbar{background:var(--accent);color:var(--accent-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.topbar .brand{color:inherit;font-size:1.2rem;font-weight:700;text-decoration:none}.topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.topbar .muted{color:#cfe6ee}.topbar select{min-height:36px}.nav{background:var(--card);border-bottom:1px solid var(--line);gap:.25rem;padding:.5rem 1rem;display:flex;overflow-x:auto}.nav a{min-height:var(--tap);border-radius:var(--radius);color:var(--ink);white-space:nowrap;align-items:center;padding:.6rem 1rem;text-decoration:none;display:flex}.nav a.active{background:var(--accent);color:var(--accent-ink)}.content{width:100%;min-width:0;max-width:none;margin:0;padding:1rem 1.5rem}@media (width<=700px){.content{padding:1rem}}@media (width>=1000px){.shell{grid-template-rows:auto 1fr;grid-template-columns:220px minmax(0,1fr)}.topbar{grid-column:1/-1}.nav{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;padding:1rem .5rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.stack{gap:.5rem;margin:1rem 0;display:grid}.login{place-items:center;min-height:100dvh;padding:1rem;display:grid}.login .card{width:min(420px,100%)}input,select,textarea,.btn{font:inherit;min-height:var(--tap);border-radius:8px}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #9db2ba;padding:.5rem .7rem}input[type=checkbox]{width:22px;height:22px;min-height:0}input.qty{width:5.5rem}input.search{margin-bottom:1rem}:focus-visible{outline-offset:1px;outline:3px solid #f2a900}.field{gap:.25rem;margin-bottom:.75rem;display:grid}.field-label{font-weight:600}.field-help{color:var(--muted);font-size:.9rem}.field-error{color:var(--danger);font-size:.9rem}.check{min-height:var(--tap);align-items:center;gap:.6rem;margin:.5rem 0 .75rem;display:flex}.grid2,.grid3{grid-template-columns:1fr;gap:0 1rem;display:grid}@media (width>=640px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.row .field{flex:160px;margin-bottom:0}.btn{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #9db2ba;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#eaf1f3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:#08485b}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-small{min-height:36px;padding:.25rem .75rem}.btn-big{justify-content:space-between;width:100%;min-height:56px}.btn-link{color:var(--accent);background:0 0;border:0;text-decoration:underline}.alert{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0;padding:.75rem 1rem;display:flex}.alert p{flex:100%;margin:0 0 .25rem}.alert-error{color:#6b1519;background:#fde8e9;border:1px solid #f0b4b7}.alert-info{color:#0c3c4b;background:#e6f3f8;border:1px solid #b5d8e5}.alert-ok{color:#134d2b;background:#e4f4ea;border:1px solid #a8d6b9}.badge{color:#2b4048;background:#e3eaed;border-radius:999px;padding:.1rem .55rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-new,.badge-qualified{background:#e3eaed}.badge-awaiting_payment{color:var(--warn);background:#fff0cc}.badge-deposit_received,.badge-confirmed,.badge-arrived{color:var(--ok);background:#dcf1e4}.badge-cancelled,.badge-expired{color:var(--danger);background:#f6dcdd}.tabs,.chips{gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.tabs a{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:.5rem 1rem;text-decoration:none}.tabs a.active,.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip{min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #9db2ba;border-radius:999px;padding:.25rem .9rem}.table{border-collapse:collapse;background:var(--card);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.6rem .5rem}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#f0f6f8}.facts{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0 0 .75rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.empty{padding:1rem 0}details summary{cursor:pointer;min-height:var(--tap);align-items:center;display:flex}@media (width<=700px){.table thead{position:absolute;left:-9999px}.table tr{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.6rem;padding:.25rem .5rem;display:block}.table td{border:0;justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex;text-align:right!important}.table td:before{content:attr(data-label);color:var(--muted);text-align:left}.facts{grid-template-columns:1fr}.facts dd{margin-bottom:.5rem}}.picker{margin:.5rem 0 1rem}.picker-list,.chosen{gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.picker-item{width:100%;min-height:var(--tap);text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #9db2ba;border-radius:8px;gap:0;padding:.5rem .75rem;display:grid}.picker-item:hover{background:#eaf1f3}.chosen li{border:1px solid var(--line);background:#f7fafb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.quick-create{border-radius:var(--radius);background:#f7fafb;border:1px dashed #9db2ba;margin-top:.75rem;padding:.75rem}.quick-create h3{margin:0 0 .5rem;font-size:1rem}.badge-neutral{background:#e3eaed}tr.picked{background:#e6f3f8}.segmented{border:1px solid #9db2ba;border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{min-height:var(--tap);font:inherit;cursor:pointer;background:#fff;border:0;padding:0 1rem}.segmented button.active{background:var(--accent);color:var(--accent-ink)}.plan-nav{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.plan-range{margin-left:.5rem}.day-strip{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.75rem;display:grid}.day-strip button{border:1px solid var(--line);min-height:52px;font:inherit;cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;place-items:center;padding:.15rem 0;display:grid}.day-strip button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.day-strip button.today:not(.active){border-color:var(--accent)}.agenda-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow-x:auto}.agenda{--col:minmax(0, 1fr);--tc:56px;grid-template-columns:var(--tc) repeat(var(--cols), var(--col));min-width:0;display:grid}.agenda.week{min-width:760px}.agenda>.ag-corner,.agenda>.ag-head,.agenda>.ag-time{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ag-corner,.ag-head{background:#f3f7f8}.ag-head{font:inherit;color:var(--ink);cursor:pointer;border-top:0;border-left:0;align-content:center;justify-items:center;gap:0;min-height:64px;padding:.4rem .2rem;display:grid}.ag-head span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8rem}.ag-head strong{font-size:1.3rem;line-height:1.1}.ag-head small{color:var(--muted)}.ag-head.today{background:var(--accent);color:var(--accent-ink)}.ag-head.today span,.ag-head.today small{color:#dcecf1}.ag-time{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;background:#f3f7f8;padding:.5rem .3rem;font-size:.85rem;font-weight:700}.ag-cell-wrap{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:92px;position:relative}.ag-cell-wrap.drop{outline:3px solid var(--accent);outline-offset:-3px;background:#e6f3f8}.ag-cell{width:100%;height:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-content:start;padding:.3rem;display:grid;position:absolute;inset:0}.ag-cell:hover:not(:disabled){background:#eaf1f3}.ag-cell.today{background:#f2f9fb}.ag-cell.none{background:repeating-linear-gradient(135deg,#0000 0 8px,#f1f5f6 8px 16px)}.ag-cell:disabled{cursor:default}.ag-chips{z-index:1;pointer-events:none;gap:.25rem;padding:1.1rem .3rem .3rem;display:grid;position:relative}.ag-own{position:absolute;top:.15rem;left:.35rem}.ag-plus{color:#9db2ba;opacity:0;place-self:center;font-size:1.4rem}.ag-cell:hover .ag-plus,.ag-cell:focus-visible .ag-plus{opacity:1}.ag-own{color:var(--warn);font-weight:700}.ag-quick{z-index:2;border:1px solid var(--line);width:1.35rem;height:1.35rem;color:var(--accent);line-height:1;font:inherit;cursor:pointer;opacity:.55;background:#fff;border-radius:50%;padding:0;font-weight:700;position:absolute;top:2px;right:2px}.ag-cell-wrap:hover .ag-quick,.ag-quick:focus-visible{opacity:1;border-color:var(--accent)}@media (hover:none){.ag-quick{opacity:1}}.chip-slot{--c:#8a99a0;pointer-events:auto;text-align:left;font:inherit;color:var(--ink);cursor:pointer;border:0;border-left:5px solid var(--c);background:#f1f5f6;background:color-mix(in srgb, var(--c) 14%, #fff);border-radius:6px;gap:.1rem;width:100%;min-width:0;padding:.25rem .4rem;font-size:.82rem;line-height:1.2;transition:opacity .15s;display:grid}.chip-slot.course{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 40%, #fff);border-left-width:8px}.chip-slot.dim{opacity:.22}.chip-slot.drop{outline:3px solid var(--accent)}.chip-line{justify-content:space-between;align-items:center;gap:.3rem;min-width:0;display:flex}.chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chip-count{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.chip-staff{color:var(--muted);flex-wrap:wrap;gap:.15rem .35rem;font-size:.74rem;display:flex}.who{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.who.instructor{color:#124e63;font-weight:600}.who.divemaster{color:#5b3d8f}.who.warn{color:var(--warn);font-weight:700}.who.hint{color:var(--accent);white-space:normal;font-weight:600}.chip-slot.empty{opacity:.8}.chip-slot.full{box-shadow:inset 0 0 0 2px #e0a0a4}.chip-slot.full .chip-count{color:var(--danger)}@media (width<=700px){.ag-cell{min-height:76px}.ag-time{font-size:.8rem}}.slot-dialog{border:1px solid var(--line);border-radius:var(--radius);width:min(640px,94vw);max-height:90dvh;color:var(--ink);background:var(--card);padding:1rem}.slot-dialog::backdrop{background:#0a1e2680}.slot-dialog>header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.slot-dialog h2{margin:0}.slot-detail{--c:#8a99a0;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:8px;gap:.5rem;margin-bottom:.75rem;padding:.75rem;display:grid}.slot-detail.full{box-shadow:inset 0 0 0 2px #e0a0a4}.slot-detail-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.slot-detail-head h3{margin:0;font-size:1.05rem}.slot-count{font-variant-numeric:tabular-nums;font-weight:700}.detail-bookings,.guest-lines{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.detail-bookings>li{border-top:1px solid var(--line);padding:.4rem 0}.detail-bookings .line{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.guest-lines{margin-top:.2rem;padding-left:1rem;font-size:.92rem}.slot-edit{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-top:.5rem;display:flex}.slot-edit .check{margin:0}.open-slot{border:1px dashed #9db2ba;border-radius:8px;gap:.5rem;padding:.75rem;display:grid}.open-slot h3{margin:0;font-size:1rem}.dep{font-size:.85rem;font-weight:600}.dep.ok{color:var(--ok)}.dep.due{color:var(--warn)}.trays{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:.75rem;padding:.5rem .75rem}.trays summary{cursor:pointer;align-items:center;min-height:36px;font-weight:600;display:flex}.tray{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0;display:flex}.tray>strong{min-width:8.5rem;color:var(--muted);font-size:.85rem}.drag-chip{--h:200;border:1px solid hsl(var(--h) 45% 60%);background:hsl(var(--h) 60% 94%);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .6rem;font-size:.9rem;display:inline-flex}.drag-chip small{color:var(--muted)}.drag-chip.staff{--h:200}.drag-chip.staff.divemaster{--h:270}.drag-chip:active{cursor:grabbing}.team-lines{gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.team-lines li{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.badge.staff-instructor{color:#124e63;background:#d6e9f0}.badge.staff-divemaster{color:#5b3d8f;background:#e8def6}.slot-detail h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:.4rem 0 .1rem;font-size:.9rem}.team-add .field{flex:140px}.payroll tfoot td{border-top:2px solid var(--line);font-weight:600}.payroll .badge{margin-left:.35rem;font-size:.75rem}.linklike{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.table tr.inactive{opacity:.6}.table.payroll{min-width:900px}.table.payroll td,.table.payroll th{white-space:nowrap}@media (width<=700px){.table.payroll{min-width:0}.table.payroll td,.table.payroll th{white-space:normal}}select.factor{width:5rem;min-height:36px}.invoice-sheet{max-width:820px}.inv-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.inv-head h2{margin:0}.inv-head p{margin:.25rem 0 0}.inv-meta{text-align:right;gap:.1rem;display:grid}.inv-bill{gap:.1rem;margin-bottom:.75rem;display:grid}.inv-totals{grid-template-columns:1fr auto;gap:.25rem 1.5rem;max-width:420px;margin:.75rem 0 0 auto;display:grid}.inv-totals dt,.inv-totals dd{margin:0}.inv-totals dd{text-align:right;font-variant-numeric:tabular-nums}.inv-pay{display:contents}.inv-pay dt,.inv-pay dd{color:var(--muted)}.inv-totals .due{color:var(--danger)}.inv-foot{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.5rem}@media print{.topbar,.nav,.no-print,.actions{display:none!important}body{background:#fff}.content{max-width:none;padding:0}.shell{display:block}.invoice-sheet{border:0;max-width:none;padding:0}}.ag-time{align-content:start;gap:0;display:grid}.ag-time small{font-size:.7rem;font-weight:400}.run-panel{background:#f7fafb;border:1px dashed #9db2ba;border-radius:8px;gap:.5rem;padding:.6rem;display:grid}.run-panel h4{margin:0}.run-sessions{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.run-sessions li{border-radius:6px;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;padding:.3rem .5rem;font-size:.92rem;display:flex}.run-sessions li.here{background:#e6f3f8;outline:1px solid #b5d8e5}select.factor.wide{width:9rem}.focus-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.legend{flex-wrap:wrap;gap:.35rem;display:flex}.leg{--c:#888;border:2px solid var(--c);min-height:34px;font:inherit;cursor:pointer;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:0 .65rem;font-size:.88rem;display:inline-flex}.leg i{background:var(--c);border-radius:50%;width:10px;height:10px}.leg.on{background:var(--c);color:#fff}.leg.on i{background:#fff}.leg.clear{border-style:dashed;border-color:#9db2ba}.dot{vertical-align:-1px;border-radius:50%;width:11px;height:11px;margin-right:.4rem;display:inline-block}input.swatch{vertical-align:middle;cursor:pointer;border-radius:50%;width:34px;height:30px;min-height:30px;margin-right:.5rem;padding:1px}.drag-chip.staff{border:2px solid var(--c,#888);background:#fff;background:color-mix(in srgb, var(--c,#888) 12%, #fff);border-left-width:8px}.avail{border-collapse:collapse;width:100%;min-width:640px}.avail th,.avail td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;padding:.35rem .4rem;font-weight:500}.avail thead th{background:#f3f7f8;font-size:.85rem}.avail thead th.today{background:var(--accent);color:var(--accent-ink)}.avail tbody th{text-align:left;white-space:nowrap;background:#f9fbfc;position:sticky;left:0}.avail tbody th small{color:var(--muted);font-weight:400;display:block}.avail td.today{background:#f2f9fb}.squares{gap:3px;display:inline-flex}.sq{--c:#888;background:#fff;border:1px solid #b9c8cd;border-radius:4px;width:18px;height:22px;padding:0;display:inline-block}.sq.busy{background:var(--c);border-color:var(--c);cursor:pointer;min-height:22px}.avail.wide .squares{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;display:grid}.avail.wide .sq{text-align:left;width:auto;height:auto;min-height:34px;color:var(--muted);align-items:center;padding:.25rem .5rem;font-size:.85rem;display:flex}.avail.wide .sq.busy{color:#fff}.av-off{color:var(--muted);background:repeating-linear-gradient(135deg,#eef2f3 0 6px,#e1e8ea 6px 12px);border-radius:4px;padding:.2rem .6rem;font-size:.8rem;display:inline-block}.avail-help{margin:0;padding:.5rem}.board-opts{flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin-bottom:.75rem;display:flex}.board-opts .check{min-height:36px;margin:0}.board-title{margin:0 0 .5rem;font-size:1.25rem}.board-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.board-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem;overflow-x:auto}.board-side h3{margin:.1rem .25rem .4rem;font-size:1rem}.board-table{border-collapse:collapse;width:100%;font-size:.9rem}.board-table th,.board-table td{border:1px solid var(--line);text-align:center;vertical-align:middle;padding:.25rem .35rem}.board-table th{background:#f3f7f8;font-size:.8rem}.board-table th small{color:var(--muted);font-weight:400;display:block}.board-table .l{text-align:left}.board-table tr.group-start td{border-top:2px solid #9db2ba}.board-table td.mark{min-width:2.2rem;font-size:1rem;font-weight:700}.board-table .empty-row{padding:1rem}.lead{--c:#888;border:2px solid var(--c);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;margin:.1rem;padding:.1rem .5rem;font-weight:600;display:inline-flex}.lead i{background:var(--c);border-radius:50%;width:9px;height:9px}.lead-cell{background:#fbfdfd}.tick{width:28px;height:28px;min-height:0;font:inherit;cursor:pointer;background:#fff;border:1px solid #9db2ba;border-radius:4px;padding:0;font-weight:700}.tick.on{border-color:var(--ok);color:var(--ok);background:#e4f4ea}.tick:disabled{cursor:default}.size-input{text-align:center;width:3.4rem;min-height:30px;padding:.1rem .3rem}.plus{color:var(--danger)}.course-cell{white-space:nowrap;font-size:.8rem}.board-foot{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem 1.5rem;margin-top:1rem;padding:.75rem;display:grid}.foot-block ul{gap:.25rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.foot-block li{align-items:center;gap:.5rem;display:flex}.note-input{flex:1;min-height:34px}.who-off{align-items:center;margin-right:.75rem;display:inline-flex}.sizes-box{margin:.5rem 0 .75rem}.sizes-box summary{cursor:pointer;align-items:center;min-height:40px;font-weight:600;display:flex}.print-only{display:none}@media print{@page{size:A4 landscape;margin:8mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{border-bottom:2px solid #000;justify-content:space-between;gap:1rem;margin-bottom:6px;padding-bottom:4px;font-size:12pt;display:flex!important}.page-header,.plan-nav,.trays,.focus-bar .segmented,.day-strip,.leg.clear,.board-opts,.alert{display:none!important}.focus-bar{margin:0 0 4px}.legend{gap:3px}.leg{border-width:1px;min-height:0;padding:0 5px;font-size:8pt}.leg.on{background:var(--c)!important}.agenda-scroll{border:0;overflow:visible!important}.agenda,.agenda.week{min-width:0!important}.ag-cell-wrap{min-height:0}.ag-head{min-height:0;padding:2px}.ag-head small{display:none}.chip-slot{break-inside:avoid;padding:1px 3px;font-size:7.5pt}.chip-staff{font-size:6.5pt}.ag-cell{display:none}.ag-chips{gap:2px;padding:10px 2px 2px}.avail{min-width:0}.avail th,.avail td{padding:2px 3px;font-size:8pt}.avail-help{font-size:7pt}.board-grid{grid-template-columns:1fr 1fr;gap:6mm}.board-side{border:0;padding:0;overflow:visible}.board-table{font-size:8pt}.board-table th,.board-table td{border-color:#000;padding:1px 3px}.board-table th{background:#eee!important}.size-input,.note-input{min-height:0;font:inherit;background:0 0;border:0;width:auto;padding:0}.tick{border:1px solid #000;width:14px;height:14px;font-size:8pt}.board-foot{break-inside:avoid;border:1px solid #000;margin-top:6px;padding:4px;font-size:8pt}.board-title{font-size:11pt}.slot-dialog{display:none}}[hidden]{display:none!important}.stale{min-height:0;font:inherit;color:#8a5a00;cursor:pointer;background:#fff4d6;border:1px solid #e0b24a;border-radius:4px;margin-left:6px;padding:0 6px;font-size:.75rem;font-weight:600}@media print{.stale{display:none}}.row.between{justify-content:space-between;align-items:center}.link{font:inherit;color:var(--accent,#0b6b8a);cursor:pointer;background:0 0;border:0;min-height:0;padding:0}.trip h4{margin:1rem 0 .25rem}.plan-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.plan-menu{gap:.5rem;max-height:calc(100vh - 1rem);display:grid;position:sticky;top:.5rem;overflow-y:auto}.plan-menu details{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:.4rem .6rem}.plan-menu summary{cursor:pointer;align-items:center;min-height:32px;font-weight:600;display:flex}.plan-menu details[open]{gap:.5rem;display:grid}.plan-menu .tray{flex-wrap:wrap;gap:.35rem;display:flex}.plan-menu .btn{justify-content:center;width:100%}.plan-menu .segmented{width:100%}@media (width<=900px){.plan-layout{grid-template-columns:1fr}.plan-menu{max-height:none;position:static}}.who.boat{color:#0b4f66;background:#e6f3f8}.board-table .boat-cell{white-space:nowrap;font-weight:600}.staff-grid td{vertical-align:top;text-align:left;min-width:110px}.staff-task{text-align:left;width:100%;font:inherit;border:1px solid var(--line);cursor:pointer;background:#f1f5f6;border-radius:5px;min-height:0;margin-bottom:2px;padding:.15rem .3rem;font-size:.85rem;display:block}.staff-task.done{color:var(--muted);background:#e3f4e6;text-decoration:line-through}.staff-task.not_done{background:#fde8e6}.staff-add{opacity:.6;position:static}@media print{.plan-layout{display:block}.plan-menu{display:none!important}.board-grid{display:block!important}.board-side{break-after:page;page-break-after:always}.board-side:last-child{break-after:auto;page-break-after:auto}.board-table{width:100%;font-size:10pt}.board-table th,.board-table td{padding:2px 5px}body[data-print=fun] .board-side.courses,body[data-print=courses] .board-side.fun{display:none!important}body[data-print=fun] .board-side.fun,body[data-print=courses] .board-side.courses{break-after:auto;page-break-after:auto}.staff-task{border:1px solid #000;font-size:8pt;background:#fff!important}}.flag{margin-right:3px;font-size:1.05em;line-height:1}.gtag{color:#fff;vertical-align:1px;background:#1f2d33;border-radius:4px;margin-right:4px;padding:0 5px;font-size:.72em;font-weight:700;display:inline-block}@media print{.gtag{background:#000!important}html,body,.shell,.content,#root{height:auto!important;min-height:0!important;overflow:visible!important}.content{padding:0!important}.board-side,.board-foot,.board-title{break-inside:avoid}.board-table{font-size:9pt}@page{size:A4 landscape;margin:8mm}}.who.site{color:#2d5a16;background:#eef6e8}.site-names{color:#2d5a16}.slot-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);align-content:start;gap:.75rem;max-height:calc(100vh - 1rem);padding:.75rem;display:grid;position:sticky;top:.5rem;overflow-y:auto}.slot-panel header{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.slot-panel h2{margin:0;font-size:1.05rem}.slot-panel h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .35rem;font-size:.85rem}.panel-alerts{color:#8a3b00;margin:0;padding-left:1.1rem}.panel-alerts a{color:inherit}.panel-list{gap:.3rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.panel-list li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.panel-booking{border-top:1px solid var(--line);margin-top:.4rem;padding-top:.4rem}.panel-booking p{margin:.15rem 0}.sizes{color:var(--muted)}.chip-slot.selected{outline:3px solid var(--accent)}@media (width<=1250px){.plan-layout.with-panel{grid-template-columns:210px minmax(0,1fr)}.slot-panel{grid-column:1/-1;max-height:none;position:static}.plan-layout.with-panel .plan-menu{max-height:none;position:static}}@media (width<=900px){.plan-layout.with-panel{grid-template-columns:1fr}.plan-layout .plan-menu{max-height:none;position:static}}@media print{.slot-panel{display:none!important}.plan-layout.with-panel{display:block}}.alert-band{border-radius:var(--radius);background:#fff8e1;border:1px solid #e0b24a;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.alert-chip{min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c58f12;border-radius:999px;padding:0 .75rem}.alert-chip b{color:#8a3b00;margin-left:.25rem}.nav-group{align-items:center;gap:.25rem;display:flex}.nav-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;padding:0 .35rem 0 .75rem;font-size:.72rem;font-weight:700}@media (width>=1000px){.nav-group{flex-direction:column;align-items:stretch;gap:0;padding-bottom:.75rem}.nav-title{padding:.25rem .75rem}.nav-group a{min-height:40px;padding:.45rem .75rem}}.access-matrix th:first-child{min-width:140px}.access-matrix td{text-align:center;white-space:nowrap}.access-matrix .area-row th,.user-rights .area-row th{text-align:left;background:#e9f0f2;position:static}.access-matrix td.changed,.user-rights tr.changed{background:#fff4d6}.reset{color:#8a5a00;margin-left:4px}.topbar a.who{color:inherit;text-decoration:none}.topbar a.who:hover{text-decoration:underline}.invite-card{border:2px solid var(--accent)}.invite-card input{width:100%}.centre-clock{font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff2e;border-radius:999px;padding:.1rem .5rem}.centre-clock.differs{color:#5a3b00;background:#ffe4a3;font-weight:600}.rdot{vertical-align:0;border-radius:50%;flex:none;width:10px;height:10px;margin-right:4px;display:inline-block}.rdot.green{background:#1e7a45}.rdot.red{background:#c0262c;box-shadow:0 0 0 2px #fbd9db}.readiness-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.readiness-list li{border-left:4px solid var(--line);padding-left:.5rem}.readiness-list li.red{border-color:#c0262c}.readiness-list li.green{border-color:#1e7a45}.readiness-list .why{color:var(--muted);font-size:.9rem}.dash-week{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem;margin:.6rem 0 1rem;display:grid}.dash-day{align-content:start;gap:.3rem;min-width:0;padding:.6rem;display:grid}.dash-day h3{margin:0;font-size:.95rem}.dash-day.today{outline:2px solid var(--accent)}.dash-slot{margin:0;font-size:.88rem;line-height:1.3}.dash-forms{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;display:grid}.drag-chip[role=link]{cursor:pointer}.tabbar{display:none}@media (width<=700px){:root{--tabbar:calc(58px + env(safe-area-inset-bottom,0px))}.nav{display:none}.nav.open{left:0;right:0;bottom:var(--tabbar);z-index:40;border-top:1px solid var(--line);flex-direction:column;max-height:65dvh;display:flex;position:fixed;overflow-y:auto;box-shadow:0 -8px 24px #0000002e}.nav.open .nav-group{flex-direction:column;align-items:stretch;padding-bottom:.5rem}.tabbar{z-index:50;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{min-height:58px;font:inherit;color:var(--ink);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;padding:0 .25rem;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.tabbar a.active,.tabbar button.active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.content{padding-bottom:calc(var(--tabbar) + 1rem)}.chip,.btn{min-height:48px}.chip{padding-inline:1rem}.row{gap:.6rem}.topbar{padding:.4rem .75rem}.topbar-right{flex:1;justify-content:flex-end;gap:.5rem}.topbar-right>.muted{display:none}.topbar-right .who{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.85rem;overflow:hidden}.daybar{flex-wrap:nowrap;width:100%}.daybar input{flex:1;min-width:0}.daybar .btn{min-width:48px}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.status-grid .chip{text-align:center;white-space:normal;justify-content:center;width:100%;min-width:0;padding-block:.35rem;line-height:1.15}.open-slot{min-width:0}.open-slot input:not([type=checkbox]){width:100%;min-width:0}}.boat-group{--b:#8a99a0;border:2px solid var(--b);background:color-mix(in srgb, var(--b) 6%, #fff);pointer-events:auto;border-radius:8px;gap:.25rem;min-width:0;padding:.2rem;display:grid}.boat-group.noboat{border-style:dashed}.boat-head{flex-wrap:wrap;align-items:center;gap:.2rem .3rem;min-width:0;display:flex}.boat-tag{text-overflow:ellipsis;white-space:nowrap;background:var(--b);color:#fff;border-radius:999px;flex:0 auto;max-width:100%;padding:.05rem .4rem;font-size:.68rem;font-weight:700;overflow:hidden}.boat-site{border:1px solid var(--b);min-width:0;height:1.5rem;min-height:0;color:var(--ink);text-overflow:ellipsis;background:#fff;flex:5.5rem;padding:0 .2rem;font-size:.72rem;overflow:hidden}span.boat-site{background:0 0;border:0;align-items:center;display:flex}.leg.boat{border-color:var(--c)}.leg-sep{background:var(--line);align-self:stretch;width:1px;margin:0 .2rem}@media print{.boat-site{appearance:none;background:0 0;border:0}.boat-group{break-inside:avoid}}.boat-add{pointer-events:auto;width:100%;min-height:1.6rem;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:1px dashed #9db2ba;border-radius:6px;padding:0 .3rem;font-size:.72rem;font-weight:700}.boat-add-form{pointer-events:auto;background:#fff;border:1px dashed #9db2ba;border-radius:8px;gap:.2rem;padding:.25rem;display:grid}.boat-add-form select{min-height:1.6rem;padding:0 .2rem;font-size:.75rem}@media print{.boat-add,.boat-add-form{display:none}}.agenda.day{--tc:8.5rem}.agenda.day .ag-time{text-align:left;padding-inline:.4rem}.ag-time .boat-add,.ag-time .boat-add-form{margin-top:.35rem;font-weight:700}@media (width<=700px){.agenda.day{--tc:6.2rem}}.boat-lines{gap:.3rem;margin-top:.35rem;display:grid}.boat-line{--b:#8a99a0;border-left:4px solid var(--b);background:color-mix(in srgb, var(--b) 8%, #fff);border-radius:4px;gap:.15rem;padding:.2rem;font-weight:400;display:grid}.boat-line .boat-tag{justify-self:start;max-width:100%}.boat-line select{width:100%;min-width:0;height:1.6rem;min-height:1.6rem;padding:0 .2rem;font-size:.75rem}.boat-line .boat-pick{border:1px dashed var(--b);background:#fff}@media print{.boat-lines{display:none}}.emergency-btn{letter-spacing:.06em;background:#c62828;border:2px solid #fff;border-radius:999px;align-items:center;min-height:40px;padding:.4rem .9rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 0 0 2px #c62828;color:#fff!important}.emergency-btn:hover,.emergency-btn:focus-visible{background:#b71c1c}.emergency-title{color:#c62828;letter-spacing:.08em;margin:0 0 .75rem}.emergency-calls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.emergency-call{min-height:64px;color:var(--ink);background:#fff;border:2px solid #c62828;justify-items:start;gap:.1rem;padding:.6rem .9rem;text-decoration:none;display:grid}.emergency-call span{font-size:1.2rem;font-weight:700}.emergency-call small{color:var(--muted)}.emergency-steps{gap:.6rem;padding-left:1.3rem;font-size:1.05rem;display:grid}.emergency-steps li.done strong{color:var(--muted);text-decoration:line-through}.emergency-steps p{white-space:pre-wrap;margin:.1rem 0 0 1.9rem}.emergency-log{color:#fff;background:#c62828;border-color:#c62828;font-weight:700}@media (width<=700px){.topbar .emergency-btn{order:2}.tabbar .tab-emergency{color:#fff;background:#c62828}.tabbar .tab-emergency.active{box-shadow:none}}@media print{.emergency-btn{display:none}}.menu-btn{display:none}.menu-scrim{z-index:55;background:0 0;position:fixed;inset:0}@media (width>=701px){.shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.topbar{grid-column:1}.menu-btn{min-height:40px;color:var(--accent-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:8px;align-items:center;padding:0 .9rem;font-weight:700;display:inline-flex}.menu-btn:hover,.menu-btn.active{background:#fff2}.nav{display:none}.nav.open{z-index:60;border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;border-left:0;flex-direction:column;width:290px;max-height:calc(100dvh - 58px);padding:.75rem .5rem;display:flex;position:fixed;top:58px;left:0;overflow-y:auto;box-shadow:6px 8px 24px #0003}.nav.open .nav-group{flex-direction:column;align-items:stretch;padding-bottom:.5rem}.content{padding-inline:1.5rem}}@media print{.menu-btn,.menu-scrim{display:none!important}}.topbar-left{align-items:center;gap:.75rem;display:flex}.boat-group.drop{outline:3px solid var(--b);outline-offset:1px;background:color-mix(in srgb, var(--b) 16%, #fff)}.boat-empty{text-align:center;color:var(--muted);border:1px dashed color-mix(in srgb, var(--b) 60%, #fff);border-radius:6px;margin:0;padding:.5rem .3rem;font-size:.72rem}.chip-slot[draggable=true]{cursor:grab}.boat-line-top{justify-content:space-between;align-items:center;gap:.2rem;display:flex}.boat-x{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:0;padding:0 .2rem;font-size:.8rem}.boat-x:hover{color:#c62828}.plan-title{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.plan-title h1{margin:0}.print-menu{position:relative}.print-btn{align-items:center;gap:.45rem;padding:0 .85rem;font-weight:600;display:inline-flex}.print-list{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:14rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}.print-list button{text-align:left;width:100%;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 .75rem}.print-list button:hover,.print-list button:focus-visible{background:#eaf1f3}.boat-filter{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.boat-filter .check{min-height:36px;margin:0}.field-inline{align-items:center;gap:.35rem;display:inline-flex}.field-inline select{min-height:40px}.plan-layout{grid-template-columns:210px minmax(0,1fr)}.plan-layout.with-panel{grid-template-columns:210px minmax(0,1fr) 340px}.plan-menu details{margin-bottom:.5rem}.plan-menu .btn-primary{width:100%;margin-bottom:.35rem}@media print{.boat-filter{display:none}}.legend.products{margin-top:.25rem}.leg.product{--h:200;border-color:hsl(var(--h) 45% 55%);background:hsl(var(--h) 60% 94%)}.leg.product.on{background:hsl(var(--h) 50% 38%);border-color:hsl(var(--h) 50% 38%);color:#fff}.leg.product small,.leg small{color:var(--muted);font-size:.7rem}.leg.on small{color:#e6eef1}.leg[draggable=true]{cursor:grab}.spec-wrap{display:inline-block}.legend.products{position:relative}.spec-pop{z-index:30;grid-template-rows:repeat(3,auto);grid-auto-flow:column;grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:.3rem .4rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000002e}.spec-pop .leg{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;min-width:0;padding-block:0;line-height:34px;display:block;overflow:hidden}.plan-layout.no-menu{grid-template-columns:minmax(0,1fr)}.plan-layout.no-menu.with-panel{grid-template-columns:minmax(0,1fr) 340px}.create-bar{flex-wrap:wrap;gap:.4rem;display:flex}.create-bar .btn{min-height:40px;padding:0 .9rem}.page-header .actions{align-items:center;gap:.6rem;margin-left:auto}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);z-index:40;color:#fff;pointer-events:none;white-space:normal;background:#14272e;border-radius:6px;width:max-content;max-width:18rem;padding:.3rem .6rem;font-size:.8rem;font-weight:600;line-height:1.25;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 14px #0000004d}@media print{.create-bar{display:none}}.draft-btn{border-style:dashed}.draft-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.draft-form,.draft-notes{margin-bottom:.6rem}.draft-notes li.bad{color:#b3261e;font-weight:600}.draft-notes ul{margin:0;padding-left:1.1rem}.draft-issues{border-radius:var(--radius);background:#fdf1f0;border:1px solid #e0b4b0;gap:.15rem;margin:0 0 .6rem;padding:.5rem .75rem;list-style:none;display:grid}.draft-issues li.warning{color:#8a5a00}.draft-issues li.error{color:#b3261e;font-weight:600}.draft-ok{color:#1b6e3a;margin:0 0 .6rem;font-weight:600}.draft-time h3{font-variant-numeric:tabular-nums;margin:.8rem 0 .3rem}.draft-slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:.35rem;margin-bottom:.4rem;padding:.5rem .65rem;display:grid}.draft-slot.changed{background:#fffaf0;border-color:#d9a400}.draft-slot.bad{border-color:#d6453c}.draft-slot-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.draft-staff{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.draft-person{background:#f3f7f8;border:1px solid #9db2ba;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.85rem;display:inline-flex}.draft-person.lead{border-color:var(--accent);font-weight:700}.draft-person.trainee{border-style:dashed}.draft-add{max-width:14rem;min-height:32px;font-size:.85rem}.draft-slot-issues{margin:0;padding-left:1.1rem;font-size:.8rem}.draft-slot-issues .error{color:#b3261e}.draft-slot-issues .warning{color:#8a5a00}.draft-foot{border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.75rem;padding:.6rem 0 0;display:flex;position:sticky;bottom:0}.draft-confirm{background:#fffaf0;border:1px solid #d9a400;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.25rem .5rem;display:inline-flex}.draft-abs{flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem;display:flex}@media print{.draft-btn{display:none}}.fix-menu{position:relative}.fix-btn{color:#7a4f00;background:#fff8e6;border-color:#c58f12;font-weight:700}.fix-btn.none{border-color:var(--line);background:var(--card);color:var(--muted);font-weight:600}.fix-pop{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:.5rem;width:max-content;max-width:min(28rem,92vw);padding:.75rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}.fix-kinds{flex-wrap:wrap;gap:.4rem;display:flex}.topbar-left .emergency-btn{margin-left:.25rem}@media print{.fix-menu{display:none}}.fix-pop.right{left:auto;right:0}.focus-bar .legend.products{flex:100%}.convert,.refresh-dive{border-radius:var(--radius);background:#f7fafb;border:1px dashed #9db2ba;gap:.4rem;margin:.4rem 0;padding:.5rem .6rem;display:grid}.refresh-dive h3{margin:0}.panel-list li[draggable=true],.who[draggable=true]{cursor:grab}.ag-cell-wrap.drop{outline:3px solid var(--accent)}.ag-cell-wrap.closed{background:repeating-linear-gradient(135deg,#eef2f3 0 6px,#e4eaec 6px 12px)}.ag-closed{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);place-self:center;font-size:.72rem;font-weight:600}.ag-cell-wrap.closed .ag-quick{opacity:1}.focus-bar .legend.guests-row{flex:100%;position:relative}.guest-pop{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.3rem .4rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000002e}.leg.guest{--c:#5b7f8a;min-height:40px;color:var(--ink);border-color:#9db2ba;flex-direction:column;justify-content:center;padding-block:.15rem;line-height:1.15;text-decoration:none;display:flex}.leg.guest small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.leg.guest:hover{background:#eaf1f3}.slot-dialog.wide{width:min(1400px,98vw)}.draft-pool{border-radius:var(--radius);background:#f7fafb;border:1px dashed #9db2ba;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 .6rem;padding:.4rem .5rem;display:flex}.draft-person.pool{--c:#9db2ba;cursor:grab;border:2px solid var(--c);background:color-mix(in srgb, var(--c) 10%, #fff);border-left-width:7px}.draft-person.pool.away{opacity:.45;cursor:not-allowed;text-decoration:line-through}.draft-person .dot{background:var(--c);border-radius:50%;width:8px;height:8px;display:inline-block}.draft-grid{grid-template-columns:4.2rem repeat(var(--cols), minmax(0, 1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--card);display:grid;overflow:hidden}.draft-corner,.draft-colhead{border-bottom:1px solid var(--line);background:#f3f7f8;padding:.4rem}.draft-colhead{border-left:1px solid var(--line);text-align:center}.draft-colhead .boat-tag{--b:inherit;background:var(--b,#8a99a0)}.draft-time{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);border-top:1px solid var(--line);background:#f3f7f8;grid-column:1;margin:0;padding:.5rem .3rem;font-weight:700}.draft-cell{border-left:1px solid var(--line);border-top:1px solid var(--line);background:color-mix(in srgb, var(--b,#8a99a0) 5%, #fff);align-content:start;gap:.35rem;min-width:0;min-height:4.5rem;padding:.3rem;display:grid}.draft-cell.drop{outline:3px solid var(--b);outline-offset:-3px;background:color-mix(in srgb, var(--b) 16%, #fff)}.draft-card{--c:#8a99a0;border:1px solid var(--line);border-left:6px solid var(--c);cursor:grab;background:#fff;border-radius:8px;gap:.3rem;padding:.35rem .45rem;font-size:.85rem;display:grid}.draft-card.changed{border-color:#d9a400;border-left-color:var(--c);background:#fffaf0}.draft-card.bad{box-shadow:0 0 0 2px #d6453c}.draft-card.drop{outline:3px solid var(--accent)}.draft-card-head{flex-wrap:wrap;align-items:baseline;gap:.3rem .5rem;display:flex}.draft-person{border-left:5px solid var(--c,#9db2ba);cursor:grab}.draft-add{flex:6rem;min-width:0;max-width:100%;min-height:28px;font-size:.78rem}.draft-card .row{flex-wrap:nowrap;gap:.25rem}@media (width<=900px){.draft-grid{grid-template-columns:3.2rem repeat(var(--cols), minmax(9rem, 1fr));overflow-x:auto}}.kvtable{border-collapse:collapse;background:var(--card);width:100%;margin:.75rem 0}.kvtable th,.kvtable td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .6rem}.kvtable th{width:38%;color:var(--muted);font-weight:500}.kvtable td{overflow-wrap:anywhere}.kvtable tr.kv-dan th,.kvtable tr.kv-dan td{color:#92400e;background:#fef3c7;font-weight:600}.dan-alert{color:#92400e;background:#fef3c7;border:2px solid #f59e0b}.lang-select{float:right;max-width:11rem}.dmt-plan .staff-grid td{min-width:150px}.dmt-plan .staff-grid th small{color:var(--muted);font-weight:400;display:block}.staff-task.dive-link{color:#24506f;cursor:default;background:#e7f0f8;border-color:#bcd3e6}.dmt-item{align-items:flex-start;gap:.2rem;margin-bottom:2px;display:flex}.dmt-item .staff-task{flex:auto;margin-bottom:0}.dmt-item .btn-small{flex:none;min-height:0;padding:0 .4rem}.staff-task.kind-group{border-color:#7fb18a}.staff-task.kind-training{border-color:#9fb4d6}.dmt-add{flex-direction:column;gap:.25rem;margin-top:.25rem;display:flex}.dmt-add select,.dmt-add input{width:100%;min-width:0}.dv{align-items:start;column-gap:.4rem;display:grid;overflow-x:auto}.tl-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.tl-key{border:1px solid var(--line);border-radius:4px;padding:.1rem .5rem}.tl-key.dive,.dv-block.dive{color:#24506f;background:#e7f0f8;border-color:#8fb4d4}.tl-key.training,.dv-block.training{color:#3b2f88;background:#ece9fb;border-color:#8f84d6}.tl-key.centre,.dv-block.centre{color:#3d3a30;background:#f1f1ee;border-color:#b0ab9b}.tl-key.group,.dv-block.group{color:#1d5a2a;background:#e0f3e3;border-color:#5da56b}.dv-head{background:var(--bg,#fff);flex-direction:column;gap:.2rem;padding-bottom:.4rem;display:flex;position:sticky;top:0}.dv-head small{color:var(--muted)}.dv-head .btn{align-self:flex-start}.dv-hours{color:var(--muted);font-size:.75rem;position:relative}.dv-hours span{position:absolute;transform:translateY(-.5em)}.dv-col{border:1px solid var(--line);background-color:#fff;background-image:linear-gradient(#dfe6e8 1px,#0000 1px);border-radius:6px;position:relative}.dv-col.off{background-color:#f1f4f5}.dv-block{font:inherit;text-align:left;cursor:pointer;border:1px solid;border-radius:5px;flex-direction:column;align-items:flex-start;gap:0;min-height:0;padding:.15rem .35rem;font-size:.8rem;line-height:1.2;display:flex;position:absolute;overflow:hidden}.dv-block span{white-space:normal;overflow-wrap:anywhere}.dv-block:disabled{cursor:default;opacity:1}.dv-block.group{font-weight:600}.dv-block.done{opacity:.6;text-decoration:line-through}.dv-block.not_done{border-style:dashed}.dv-block.conflict,.staff-task.conflict{outline-offset:-1px;outline:2px solid #c92a2a}.sq.busy.dmt{background:repeating-linear-gradient(135deg, var(--c) 0 4px, #fff 4px 8px)}.daybar{flex-flow:row;align-items:center;gap:.4rem;display:flex}.daybar input[type=date]{width:auto;min-width:9.5rem}.gb-filters{align-items:center}.gb-all{margin-left:auto}.chip-red.active{color:#fff;background:#c92a2a;border-color:#c92a2a}.chip-green.active{color:#fff;background:#2b8a3e;border-color:#2b8a3e}.gb-list{flex-direction:column;gap:.5rem;display:flex}.gb-row{border:1px solid var(--line);background:#fff;border-left-width:6px;border-radius:8px}.gb-row.to_validate{border-left-color:#e8890c}.gb-row.attention,.gb-row.to_settle{border-left-color:#c92a2a}.gb-row.plain{border-left-color:#b8c4c9}.gb-end{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.gb-main{grid-template-columns:9.5rem minmax(10rem,2fr) minmax(8rem,1.2fr) minmax(8rem,1fr) auto;align-items:center;gap:.5rem .9rem;padding:.6rem .75rem;display:grid}.gb-who,.gb-when,.gb-money{flex-direction:column;gap:.1rem;min-width:0;display:flex}.gb-who strong{overflow-wrap:anywhere}.gb-status{min-height:40px;font:inherit;color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 .9rem;font-weight:700}.gb-status.todo{background:#e8890c}.gb-status.ok{background:#2b8a3e}.gb-main .gb-status.gb-ok-link,.gb-main .gb-status.gb-ok-link:visited,.gb-main .gb-status.gb-ok-link:hover{color:#fff!important}.gb-ok-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn.gb-paid{color:#fff;background:#2b8a3e;border-color:#2b8a3e}.gb-status.attention,.gb-status.settle{background:#c92a2a}.gb-status[aria-expanded=true]{box-shadow:0 0 0 3px #0000002e}.gb-none{font-size:.85rem}.gb-panel{border-top:1px solid var(--line);background:#f8fafb;padding:.75rem}.gb-reason{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.25rem 0;display:flex}.gb-ok{color:#2b8a3e;font-weight:600}.badge-inv-draft{color:#495057;background:#e9ecef}.badge-inv-issued{color:#a04a00;background:#ffe8cc}.badge-inv-paid{color:#1d5a2a;background:#d3f0da}@media (width<=760px){.gb-main{grid-template-columns:1fr auto}.gb-main .gb-status,.gb-main .gb-none{grid-column:1;justify-self:start}.gb-main .gb-end{grid-area:1/2}.gb-main .gb-who,.gb-main .gb-when,.gb-main .gb-money{grid-column:1/-1}}.ma-untimed{flex-direction:column;gap:2px;max-width:32rem;margin-bottom:.75rem;display:flex}.ma-untimed h3{margin:0 0 .25rem;font-size:.95rem}.ma-grid{margin-top:.5rem}.dv-block.boat{color:#135b52;background:#e0f4f1;border-color:#6fb8ad}.dv-block small{opacity:.85}.gb-day{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .4rem;font-size:1rem}.gb-status.settled{background:#2b8a3e}.gb-row.settled{opacity:.85;border-left-color:#2b8a3e}.chip-grey.active{color:#fff;background:#868e96;border-color:#868e96}.ma-grid{padding-top:.6rem}.gb-status.onsite{color:#14361d;background:#8fd19e}.gb-row.on_site{border-left-color:#8fd19e}.chip-to_validate.active{color:#fff;background:#e8890c;border-color:#e8890c}.chip-attention.active,.chip-to_settle.active{color:#fff;background:#c92a2a;border-color:#c92a2a}.chip-on_site.active{color:#14361d;background:#8fd19e;border-color:#8fd19e}.gb-pay{align-self:flex-start;margin-top:.2rem}.marine-group{margin-block:1rem}.marine-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.marine-head h2{margin:0}.copy-cell{font:inherit;color:inherit;cursor:copy;text-align:left;background:0 0;border:1px dashed #9db2ba;border-radius:6px;min-height:32px;padding:.15rem .5rem}.copy-cell:hover,.copy-cell:focus-visible{background:#eaf4f7;border-style:solid}.warn{color:#a3470a;font-size:.85rem}.pill.marine-to_send{color:#8a2a12;background:#fde6df}.pill.marine-none{color:#455459;background:#e9edef}.pill.marine-entered{color:#6b4e00;background:#fff1c7}.pill.marine-sent{color:#1d5b2c;background:#dff3e4}.marine-quick{margin-block:1rem}.marine-paste{width:100%;font:inherit;box-sizing:border-box;border:1px solid #9db2ba;border-radius:8px;margin:.5rem 0;padding:.6rem}.warn.blocking{color:#a31212;font-weight:600}.ok{color:#1d5b2c}.file-btn{cursor:pointer;display:inline-block}.marine-group td .btn,.marine-group td .file-btn{margin:.15rem .35rem .15rem 0}.alert-warn{color:#5a3d00;background:#fff4dc;border:1px solid #ecd08a}.plan-alerts{margin:.5rem 0;padding:.5rem 1rem;display:block}.plan-alerts summary{cursor:pointer;font-weight:600}.plan-alerts ul{gap:.35rem;margin:.5rem 0 .25rem;padding-left:1.2rem;display:grid}.filters-toggle{min-height:40px}.filters-count{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 .45rem;font-size:.8rem}.active-chips{flex-wrap:wrap;gap:.35rem;display:flex}.plan-filters{flex-wrap:wrap;flex:100%;align-items:center;gap:.5rem 1rem;display:flex}.plan-filters.collapsed{display:none}@media print{.plan-filters.collapsed{display:flex}.filters-toggle,.active-chips,.alert-warn{display:none!important}}.pill.marine-exempt{color:#455459;background:#e9edef}.marine-card h2{margin-top:0}.profile-link{font-weight:600;text-decoration:none}.mf-summary{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem 1rem;display:grid}.mf-summary>div{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.mf-summary strong{font-size:1.25rem}.desk .card{box-shadow:none}.desk-steps{gap:.25rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.desk-steps .todo{color:var(--muted,#6b7280)}.inv-marine{border:1px dashed var(--border,#c9d1d4);border-radius:.5rem;margin:.75rem 0 0;padding:.6rem .8rem}.mf-stats{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1rem 0;display:grid}.mf-stats>div{border:1px solid var(--border,#d9dfe2);background:#fff;border-radius:.75rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.1rem;display:flex}.mf-stats strong{font-size:1.5rem;line-height:1.1}.mf-stats span,.mf-stats small{color:var(--muted,#5b6a70)}.mf-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.mf-bar .search{flex:14rem;margin:0}.seg{background:#e9edef;border-radius:.6rem;gap:.15rem;padding:.2rem;display:inline-flex}.seg button{font:inherit;cursor:pointer;color:#34454b;background:0 0;border:0;border-radius:.45rem;padding:.4rem .8rem}.seg button.active{background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001f}.seg .count{color:var(--muted,#5b6a70);margin-left:.4rem;font-weight:400}.mf-list{gap:.5rem;display:grid}.mf-row{border:1px solid var(--border,#d9dfe2);background:#fff;border-radius:.75rem;grid-template-columns:minmax(10rem,2fr) minmax(8rem,1.2fr) minmax(9rem,1.2fr) minmax(8rem,1fr);align-items:center;gap:.5rem 1rem;padding:.7rem 1rem;display:grid}.mf-who,.mf-state,.mf-amount{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.mf-amount .chip{padding:.15rem .7rem}.linklike{font:inherit;color:#1d5b78;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}@media (width<=700px){.mf-row{grid-template-columns:1fr 1fr}.mf-who{grid-column:1/-1}}.tide-banner{color:#124e63;background:#eaf4f8;border:1px solid #cfe3ec;border-radius:.6rem;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin:.5rem 0;padding:.5rem .9rem;font-size:.92rem;display:flex}.tide-banner svg{color:#1c7ed6}.tide-banner .tide-more{margin-left:auto}.tide-chart-nav{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.tide-chart-nav .btn{min-width:2.75rem;min-height:2.75rem;font-size:1.4rem}.tide-chart-svg{color:#1c7ed6;max-width:100%;display:block}.tide-chart .tide-grid{stroke:#cfe3ec;stroke-dasharray:3 4}.tide-chart .tide-axis{fill:#5a6b73;font-size:13px}.tide-chart .tide-line{stroke:#1c7ed6;stroke-width:3px;stroke-linejoin:round}.tide-chart .tide-fill{fill:#1c7ed6;opacity:.12}.tide-chart .tide-dot{fill:#fff;stroke:#1c7ed6;stroke-width:2.5px}.tide-chart .tide-label{fill:#124e63;font-size:14px;font-weight:600}.tide-chart .tide-now{stroke:#e8590c;stroke-width:1.5px;stroke-dasharray:4 3}.tide-chart .tide-now-dot{fill:#e8590c;stroke:#fff;stroke-width:2px}@media (width<=600px){.tide-chart .tide-axis{font-size:14px}.tide-chart .tide-label{font-size:15px}}.alert-link{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;min-height:2.25rem;padding:.25rem 0;text-decoration:underline}.dep-flash{animation:2.5s ease-out dep-flash}@keyframes dep-flash{0%,40%{background:#ffe8a3;box-shadow:0 0 0 3px #f0b429}to{box-shadow:none;background:0 0}}
