:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--text:#1c2430;--muted:#5f6b7a;--border:#dde2e8;--accent:#2459d6;--accent-text:#fff;--accent-soft:#e8eefc;--ok:#17794a;--error:#b42318;--warn-bg:#fff6e0;--warn-border:#f0c96a;--changed:#fff8d6;--radius:8px;--shadow:0 1px 2px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12161c;--surface:#1a2028;--surface-2:#222a34;--text:#e6eaf0;--muted:#9aa5b4;--border:#2e3844;--accent:#6d9bff;--accent-text:#0d1320;--accent-soft:#1e2b47;--ok:#4cc38a;--error:#ff7b72;--warn-bg:#2f2814;--warn-border:#6b5520;--changed:#2e2a14;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.5rem;display:flex}h2{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;display:flex}code{background:var(--surface-2);border-radius:4px;padding:0 .3em}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}.error{color:var(--error)}.ok{color:var(--ok)}.empty{color:var(--muted);padding:2rem 0}.loading{text-align:center;color:var(--muted);padding:3rem}.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.row.gap{justify-content:flex-start;gap:.5rem}button,.button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);padding:.5rem .9rem;display:inline-block}button:hover,.button:hover{filter:brightness(1.05);text-decoration:none}button:disabled{opacity:.45;cursor:default;filter:none}button.secondary,.button.secondary{color:var(--accent);background:0 0}button.link{color:var(--accent);background:0 0;border:none;padding:0}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;padding:.45rem .6rem}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:700}.topbar nav{flex:1;gap:.25rem;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:.35rem .7rem}.topbar nav a.active{color:var(--text);background:var(--surface-2)}.topbar nav a:hover{color:var(--text);text-decoration:none}.who{align-items:center;gap:.6rem;font-size:.9rem;display:flex}main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.pagehead{margin-bottom:1.25rem}.crumbs{color:var(--muted);margin:0 0 .25rem;font-size:.9rem}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.badge.training{margin-left:.5rem}.status-customer{color:#17613c;background:#e3f4ea;border-color:#b9e2c9}.status-prospect{background:var(--accent-soft);color:var(--accent);border-color:#0000}.status-lost{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.status-closed,.status-do_not_contact{background:var(--surface-2);color:var(--muted)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .status-customer{color:#7ddcaa;background:#183627;border-color:#24533a}:root:not([data-theme=light]) .status-lost{color:#ff9d95;background:#3a1d1b;border-color:#5c2a27}}.toolbar{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.search{max-width:520px;padding:.6rem .8rem;font-size:1rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.chip.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table.list{border-collapse:collapse;width:100%}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .8rem}table.list th{color:var(--muted);background:var(--surface-2);font-size:.8rem;font-weight:600}table.list tr:last-child td{border-bottom:none}table.list.compact th,table.list.compact td{padding:.4rem .5rem}.tablewrap .small{margin:0;padding:.5rem .8rem}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 1rem;padding:1rem 1.1rem}.grid .panel{margin:0}dl{grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin:0;display:grid}dl .wide{grid-column:1/-1}dt{color:var(--muted);font-size:.8rem}dd{margin:0}dd.pre{white-space:pre-wrap}.alert{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);white-space:pre-wrap;margin-bottom:1rem;padding:.7rem 1rem}.editlayout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1rem;display:grid}.editform fieldset{border:1px solid var(--border)}.editform legend{padding:0 .35rem;font-weight:600}.fields{grid-template-columns:1fr 1fr;gap:.8rem 1rem;display:grid}.field{border-radius:6px;flex-direction:column;gap:.25rem;padding:.25rem;display:flex}.field.wide{grid-column:1/-1}.field label{color:var(--muted);font-size:.85rem}.field.changed{background:var(--changed)}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--error)}.field .readonly{padding:.45rem 0}.check{align-items:center;gap:.5rem;padding:.45rem 0;color:var(--text)!important;font-size:1rem!important;display:flex!important}.check input{width:auto}.help,.fielderror{color:var(--muted);margin:0;font-size:.8rem}.fielderror{color:var(--error)}.savebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 8px #0000000f}.savebar .ok,.savebar .error{margin-right:auto}.restricted{border-color:var(--warn-border)}.restricted .field{padding:.25rem 0}.history{flex-direction:column;gap:.8rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.history .when{color:var(--muted);font-size:.8rem}.history ul{margin:.2rem 0 0;padding-left:1rem}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.cardlink{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);padding:1.1rem;display:block}.cardlink:hover{border-color:var(--accent);text-decoration:none}.cardlink p{color:var(--muted);margin:0}.signin{place-items:center;min-height:100vh;padding:1rem;display:grid}.signin .card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:12px;padding:1.75rem}.userlist{flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.userlist button{background:var(--surface);width:100%;color:var(--text);border-color:var(--border);justify-content:space-between;display:flex}.userlist button:hover{border-color:var(--accent)}.role{color:var(--muted);font-size:.85rem}@media (width<=860px){.editlayout{grid-template-columns:1fr}}@media (width<=640px){main{padding:1rem 16px 4rem}.topbar{flex-wrap:wrap;gap:.75rem;padding:.6rem 16px}.who span:first-child,.hide-sm{display:none}.fields,dl,.grid{grid-template-columns:1fr}}.diary-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.diary-controls select{width:auto;min-width:200px}.monthnav{align-items:center;gap:.4rem;display:flex}.monthnav strong{text-align:center;min-width:9.5rem}.monthnav button{padding:.35rem .7rem}.month{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.6fr));gap:1px;display:grid;overflow:hidden}.dow{background:var(--surface-2);color:var(--muted);padding:.35rem .5rem;font-size:.8rem;font-weight:600}.day{background:var(--surface);flex-direction:column;gap:.25rem;min-width:0;min-height:110px;padding:.3rem;display:flex}.day.other{background:var(--surface-2)}.day.other .daynum{opacity:.5}.day.weekend,.dow.weekend{background:var(--surface-2)}.day.today{box-shadow:inset 0 0 0 2px var(--accent)}.daynum{color:var(--muted);font-size:.8rem;font-weight:600}.day.today .daynum{color:var(--accent)}.jobchip{text-align:left;background:var(--accent-soft);width:100%;color:var(--text);border:none;border-left:3px solid var(--accent);border-radius:4px;flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:.25rem .4rem;font-size:.78rem;line-height:1.25;display:flex}.jobchip:hover{filter:brightness(.97)}.jc-school{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.jc-meta,.jc-stage{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.jc-stage{font-size:.72rem}.jobchip.status-reserve_unconfirmed,.mini-job.status-reserve_unconfirmed{opacity:.85;border-left-style:dashed}.jobchip.status-awaiting_booking_form{border-left-color:#c98a00}.jobchip.status-cancelled,.mini-job.status-cancelled{opacity:.55;text-decoration:line-through}.away{color:var(--muted);border:1px dashed var(--border);background:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 4px, transparent 4px, transparent 8px);border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.away.reason-sick{color:var(--error)}.away.reason-holiday{color:var(--ok)}.boardwrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table.board{border-collapse:collapse;font-size:.75rem}table.board th,table.board td{border:1px solid var(--border);vertical-align:top;min-width:64px;max-width:64px;height:36px;padding:2px}table.board thead th{text-align:center;background:var(--surface-2);font-weight:600;position:sticky;top:0}table.board .who{background:var(--surface);text-align:left;white-space:nowrap;z-index:1;min-width:150px;max-width:150px;padding:4px 8px;font-weight:600;position:sticky;left:0}table.board thead .who{z-index:2;background:var(--surface-2)}table.board .weekend{background:var(--surface-2);min-width:26px;max-width:26px}table.board .today{box-shadow:inset 0 0 0 2px var(--accent)}table.board td.double{background:#fdeceb}.mini-job{border:none;border-left:3px solid var(--accent);background:var(--accent-soft);width:100%;color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;margin-bottom:1px;padding:1px 3px;font-size:.7rem;display:block;overflow:hidden}.mini-job.assisting{opacity:.6}.away.mini{text-align:center;padding:0 3px;font-weight:700}.legend{margin:0;padding:.5rem .8rem}.dot{background:var(--muted);vertical-align:middle;border-radius:50%;width:.65rem;height:.65rem;margin-right:.4rem;display:inline-block}.queues{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:1rem;display:grid}.queues.two{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.queue{margin:0}.queue h2{justify-content:space-between}.count{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:0 .55rem;font-size:.8rem}.qhint{margin:-.5rem 0 .5rem}.qlist{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.qrow{align-items:stretch;gap:.5rem;display:flex}.qmain{text-align:left;background:var(--surface);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:6px;flex-direction:column;flex:1;gap:.1rem;padding:.4rem .6rem;display:flex}.qmain:hover:not(.static){border-color:var(--accent);filter:none}.qschool{font-weight:600}.qmeta{color:var(--muted);font-size:.82rem}.qflags{flex-wrap:wrap;gap:.3rem;display:flex}.qflags:empty{display:none}.qaction{white-space:nowrap;padding:.3rem .7rem;font-size:.85rem}.qaction:disabled{color:var(--muted);border-color:var(--border);opacity:1;background:0 0;font-size:.78rem}.qgroup{list-style:none}.qday{color:var(--muted);margin:.4rem 0 .25rem;font-size:.8rem;font-weight:600}.badge.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--text)}.badge.late{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.badge.stage{background:var(--accent-soft);color:var(--accent);border-color:#0000}.toast{z-index:30;background:var(--text);color:var(--bg);border-radius:999px;align-items:center;gap:1rem;padding:.55rem 1.1rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.toast .link{color:var(--bg);text-decoration:underline}.drawer-backdrop{z-index:20;background:#00000040;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(420px,100%);height:100%;padding:1.25rem 1.25rem 2rem;position:relative;overflow-y:auto;box-shadow:-4px 0 20px #00000026}.drawer-close{color:var(--muted);background:0 0;border:none;padding:.2rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:.6rem;right:.6rem}.drawer-title{margin:0 2rem .2rem 0;font-size:1.2rem}.drawer h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.85rem}.chips.static{margin:.6rem 0}.alert.small{margin:.5rem 0;padding:.5rem .7rem;font-size:.85rem}.stafflist{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}dl.tight{grid-template-columns:auto 1fr;gap:.3rem .8rem}.stages{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.stages li{align-items:flex-start;gap:.6rem;display:flex}.stages li.done>div>div:first-child{font-weight:600}.tick{background:var(--surface);width:1.6rem;height:1.6rem;color:var(--ok);border:2px solid var(--border);border-radius:6px;flex:none;padding:0;font-weight:700}.stages li.done .tick{background:var(--ok);color:#fff;border-color:var(--ok)}.tick:disabled{opacity:.4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) table.board td.double{background:#3a1d1b}:root:not([data-theme=light]) .badge.late{color:#ff9d95;background:#3a1d1b;border-color:#5c2a27}}@media (width<=760px){.month{background:0 0;border:none;grid-template-columns:1fr;gap:.4rem}.dow{display:none}.day{border:1px solid var(--border);border-radius:6px;min-height:0}.day.other{display:none}.queues,.queues.two{grid-template-columns:1fr}}.sitebanner{color:#fff;text-align:center;background:#7a3fd1;padding:.3rem 16px;font-size:.85rem;font-weight:600}.banner-inline{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.signin .field{padding:.35rem 0}section.narrow{max-width:460px}section.narrow .card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}button.small{padding:.25rem .6rem;font-size:.8rem}a.plain{color:inherit}.button.small{padding:.3rem .7rem;font-size:.8rem}.topbar nav a.newbtn{color:var(--accent);margin-left:auto;font-weight:600}.topbar nav a.newbtn.active{background:var(--accent-soft)}.sheet-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.sheet-top .panel{margin:0}.tight-lines{margin:0 0 .6rem;line-height:1.5}.sheet-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.sheet-sections>.panel{border:1px solid var(--border);margin:0}.sheet-sections legend{padding:0 .35rem;font-size:1rem;font-weight:700}.sheet-sections .savebar{grid-column:1/-1}.sec-booking{border-top:4px solid #2459d6!important}.sec-requirements{border-top:4px solid #0f8b8d!important}.sec-info{border-top:4px solid #7a3fd1!important}.sec-database{border-top:4px solid #c2408f!important}.sec-confirmation{border-top:4px solid #17794a!important}.sec-additional{border-top:4px solid #c98a00!important}.sec-notes,.sec-editing,.sec-later{border-top:4px solid var(--muted)!important}.sec-notes{grid-column:1/-1}.sheet-bottom{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;margin-top:1rem;display:grid}.sheet-bottom .panel{margin:0}.readonly.pre{white-space:pre-wrap}.mini-select{width:auto;margin-left:auto;padding:.15rem .35rem;font-size:.8rem}.stafflist li{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge.bstatus-confirmed{color:#17613c;background:#e3f4ea;border-color:#b9e2c9}.badge.bstatus-awaiting_booking_form{background:var(--warn-bg);color:var(--text);border-color:var(--warn-border)}.badge.bstatus-cancelled{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.conflictbox ul{margin:0 0 .75rem;padding-left:1.2rem}.picklist{border:1px solid var(--border);border-radius:6px;max-height:260px;margin:.3rem 0 0;padding:0;list-style:none;overflow-y:auto}.picklist button{text-align:left;background:var(--surface);width:100%;color:var(--text);border:none;border-bottom:1px solid var(--border);border-radius:0;display:block}.picklist button:hover{background:var(--accent-soft)}.newbooking .panel{max-width:900px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.bstatus-confirmed{color:#7ddcaa;background:#183627;border-color:#24533a}:root:not([data-theme=light]) .badge.bstatus-cancelled{color:#ff9d95;background:#3a1d1b;border-color:#5c2a27}}@media (width<=900px){.sheet-top,.sheet-sections,.sheet-bottom{grid-template-columns:1fr}}@media print{.topbar,.sitebanner,.noprint,.savebar,.drawer-backdrop,.toast{display:none!important}body{color:#000;background:#fff;font-size:11px}main{max-width:none;padding:0}.panel{box-shadow:none;break-inside:avoid;padding:.5rem .7rem}.sheet-top{grid-template-columns:repeat(3,1fr)}.sheet-sections{grid-template-columns:repeat(2,1fr);gap:.5rem}input,select,textarea{appearance:none;background:0 0;border:none;padding:0;font-size:11px}.help,.qhint,.sheet-bottom,.sec-later{display:none}.field.changed{background:0 0}}.fcards{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.fcard{text-align:left;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr auto;grid-template-areas:"top votes""title votes""meta votes";gap:.2rem .75rem;padding:.7rem .9rem;display:grid}.fcard:hover{border-color:var(--accent);filter:none}.fcard-top{flex-wrap:wrap;grid-area:top;align-items:center;gap:.4rem;display:flex}.fcard-title{grid-area:title;font-size:1rem;font-weight:600}.fcard>.muted{grid-area:meta}.fcard-votes{background:var(--surface-2);border-radius:999px;grid-area:votes;align-self:center;padding:.25rem .7rem;font-weight:700}.ftype-bug{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.ftype-idea{color:#7a5600;background:#fff6e0;border-color:#f0c96a}.ftype-question{background:var(--accent-soft);color:var(--accent);border-color:#0000}.fstatus-new{color:#b54708}.fstatus-under_review{color:#7a3fd1}.fstatus-planned{color:#17794a}.fstatus-need_info{color:#c2408f}.fstatus-not_doing{color:var(--muted)}.fstatus-done{color:#2459d6}.wide-drawer{width:min(520px,100%)}.pre{white-space:pre-wrap}.shot{border:1px solid var(--border);background:var(--surface-2);cursor:zoom-in;border-radius:6px;margin:.5rem 0;padding:0;display:block;overflow:hidden}.shot img{object-fit:contain;max-width:100%;max-height:260px;display:block}.zoom{z-index:40;cursor:zoom-out;background:#000c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.zoom img{max-width:100%;max-height:100%}.modal-backdrop{z-index:25;background:#0000004d;place-items:start center;padding:5vh 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;width:min(560px,100%);padding:1.25rem 1.4rem;position:relative;box-shadow:0 10px 40px #00000040}.modal h2{margin-bottom:1rem;font-size:1.2rem}.modal .field{padding:.35rem 0}.similar{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;margin:.25rem 0 .5rem;padding:.6rem .8rem}.similar ul{flex-direction:column;gap:.35rem;margin:.4rem 0;padding:0;list-style:none;display:flex}.similar li{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dropzone{border:2px dashed var(--border);text-align:center;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;min-height:80px;padding:1rem;font-size:.9rem;display:grid}.dropzone.over,.dropzone:hover{border-color:var(--accent);color:var(--accent)}.dropzone img{border-radius:4px;max-width:100%;max-height:180px}.sent{text-align:center;padding:1rem 0}.sent .row{justify-content:center}.tabs{background:var(--surface-2);border-radius:8px;gap:.25rem;padding:.2rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:.35rem .9rem}.tab.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.split{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.split.open{grid-template-columns:minmax(0,1fr) minmax(360px,440px)}.split-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 5rem);box-shadow:var(--shadow);padding:1rem 1.1rem 1.5rem;position:sticky;top:4rem;overflow-y:auto}.split-panel .drawer-close{float:right;position:sticky;top:0}.split-panel h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1.1rem 0 .4rem;font-size:.8rem}.sfilters{flex-direction:column;gap:.5rem;margin-bottom:.6rem;display:flex}.sfilters .search{max-width:none}.selects{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.selects select{width:auto;max-width:13rem;padding:.3rem .45rem;font-size:.85rem}.slist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.srow{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:minmax(0,1fr) 8rem 11rem 7.5rem 5.5rem;align-items:center;gap:.6rem;padding:.5rem .75rem;display:grid}.srow.trow{grid-template-columns:minmax(0,1fr) 8rem 8rem}.srow:hover{background:var(--surface-2)}.srow.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.s-name{flex-wrap:wrap;align-items:center;gap:.35rem;font-weight:600;display:flex}.s-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.s-last{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.s-rb{color:var(--muted);white-space:nowrap;font-size:.8rem}.s-rb.due{color:var(--error);font-weight:600}.s-act{text-align:right}.loadmore{margin:.6rem auto;display:block}.warm{color:#c98a00}.sstage-not_contacted{background:var(--surface-2);color:var(--muted)}.sstage-visited{color:#1d6f67;background:#e8f3f2;border-color:#0000}.sstage-following_up{background:var(--accent-soft);color:var(--accent);border-color:#0000}.sstage-not_now{background:var(--warn-bg);color:var(--text);border-color:var(--warn-border)}.sstage-not_interested{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.sstage-won,.astatus-active{color:#17613c;background:#e3f4ea;border-color:#b9e2c9}.astatus-done{background:var(--surface-2);color:var(--muted)}.panel-actions{flex-wrap:wrap;gap:.5rem;margin:.6rem 0;display:flex}.sgrid{grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin:.5rem 0;display:grid}.sgrid label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.sgrid select{padding:.3rem .45rem}.rbcard{color:#7d1a50;background:#fde7f3;border:1px solid #f3b6d6;border-radius:8px;margin:.5rem 0;padding:.55rem .75rem}.rbcard.due{color:#a1281f;background:#fdeceb;border-color:#f4c4c0}.logform{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:.45rem;margin:.5rem 0;padding:.65rem .75rem;display:flex}.logform .lf-row{gap:.4rem;display:flex}.logform .lf-row>*{flex:1;min-width:0}.logform .lf-row.rb{align-items:center}.logform .lf-row.rb>span{flex:none}.logform .chips.small .chip{padding:.15rem .55rem;font-size:.75rem}.timeline{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.timeline li{border-left:2px solid var(--border);padding-left:.65rem}.tl-head{flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.9rem;display:flex}.bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.bar span{background:var(--accent);height:100%;display:block}.statcard{background:var(--surface-2);border-radius:8px;padding:.7rem .9rem}.statcard .big{font-size:1.8rem;font-weight:700;line-height:1.1}table.numeric td:not(:first-child),table.numeric th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}tr.totals td{border-top:2px solid var(--border);font-weight:700}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rbcard{color:#f5b3d6;background:#3a1d2e;border-color:#6b2f52}:root:not([data-theme=light]) .sstage-visited{color:#7fd1c6;background:#15302d}:root:not([data-theme=light]) .sstage-won,:root:not([data-theme=light]) .astatus-active{color:#7ddcaa;background:#183627;border-color:#24533a}}@media (width<=1100px){.srow{grid-template-columns:minmax(0,1fr) 7.5rem 7rem}.s-last,.s-act{display:none}}@media (width<=900px){.split.open{grid-template-columns:1fr}.split.open .split-list{display:none}.split-panel{max-height:none;position:static}}table.lines td{padding:.3rem .4rem}table.lines input{padding:.35rem .45rem}table.lines td.qty{width:5.5rem}table.lines tr.invalid-row input{border-color:var(--error)}.fab{z-index:15;border-radius:999px;padding:.55rem 1rem;font-weight:600;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 14px #0003}.trustpicker{align-items:center;gap:.25rem;display:inline-flex}.trustpicker input{width:16rem;max-width:100%;padding:.3rem .5rem;font-size:.85rem}.toolbar .trustpicker input{width:22rem;padding:.45rem .6rem;font-size:.95rem}.panel.staff-changed{border-color:var(--warn-border);background:var(--changed)}.print-only{display:none}@media print{.print-only{display:block}}.diary-controls .tabs{padding:.15rem}.diary-controls .tab{padding:.3rem .8rem}.weekgrid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.7fr));gap:1px;display:grid;overflow:hidden}.wday{background:var(--surface);flex-direction:column;gap:.4rem;min-width:0;min-height:420px;padding:.5rem;display:flex}.wday.weekend{background:var(--surface-2)}.wday.today{box-shadow:inset 0 0 0 2px var(--accent)}.wday-head{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:.1rem;padding-bottom:.3rem;display:flex}.wday.today .wday-head strong{color:var(--accent)}.wempty{padding:.3rem 0}.wjob{text-align:left;background:var(--accent-soft);width:100%;color:var(--text);border:none;border-left:4px solid var(--accent);border-radius:6px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .55rem;font-size:.85rem;line-height:1.3;display:flex}.wjob:hover{filter:brightness(.97)}.wjob.status-reserve_unconfirmed{border-left-style:dashed}.wjob.status-awaiting_booking_form{border-left-color:#c98a00}.wjob.status-cancelled{opacity:.55;text-decoration:line-through}.wj-time{font-variant-numeric:tabular-nums;font-weight:600}.wj-school{font-weight:600}.wj-line{font-size:.8rem}.wj-tags{flex-wrap:wrap;gap:.25rem;margin-top:.2rem;display:flex}.wj-tags .badge{font-size:.68rem}table.board.week th,table.board.week td{min-width:150px;max-width:190px;height:64px}table.board.week .weekend{min-width:110px;max-width:130px}table.board.week .mini-job{white-space:normal;flex-direction:column;margin-bottom:3px;padding:3px 5px;font-size:.75rem;line-height:1.25;display:flex}.mj-time{font-variant-numeric:tabular-nums;font-weight:600}.mj-school{font-weight:600}.mj-town{color:var(--muted)}table.board.week .away.mini{text-align:left;font-weight:600}@media (width<=760px){.weekgrid{background:0 0;border:none;grid-template-columns:1fr;gap:.4rem}.wday{border:1px solid var(--border);border-radius:6px;min-height:0}}.freecell{color:#17613c;background:#e3f4ea;border:1px solid #b9e2c9;border-radius:4px;margin-bottom:3px;padding:2px 6px;font-size:.75rem;font-weight:600}.freecell.part{background:#f2faf5;border-style:dashed}.freecount{color:#17613c;font-size:.72rem;font-weight:700}.freecount.none{color:var(--error)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .freecell{color:#7ddcaa;background:#183627;border-color:#24533a}:root:not([data-theme=light]) .freecell.part{background:#12271d}:root:not([data-theme=light]) .freecount{color:#7ddcaa}}.attachments{flex-direction:column;gap:.5rem;display:flex}.filelist{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.filelist li{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.4rem .55rem;display:flex}.filelist li>:first-child{overflow-wrap:anywhere;flex:14rem;min-width:0;font-weight:600}.dropzone.files{flex-direction:column;gap:.15rem;min-height:64px;display:flex}.warnsize{color:#b54708}section.narrow-wide{max-width:760px}button.away{text-align:left;width:100%;font:inherit;cursor:pointer;font-size:.75rem;display:block}button.away:hover{border-color:var(--accent);color:var(--text)}table.board button.away.mini{text-align:center}.day,.wday,table.board td{cursor:default}.proofline{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0;display:flex}
