/* 2.6.0 request checklist preview: section cards, switches with depth, dock slot picker, permits, building settings. */
.ckbanner{margin:18px 0 0;padding:8px 12px;border-radius:8px;background:#eef4fa;border:1px solid #c9dbec;color:#20455f;font-size:13px}
.ck3 .ckwho .grid3{margin-top:14px}.cknote{margin:8px 0 0;font-size:13px;color:#5d6b78}
/* section cards */
.ckcards{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0}
.ckcard{background:#fff;border:1px solid #d3dce5;border-radius:12px;box-shadow:0 1px 0 #d3dce5,0 2px 8px rgba(8,51,70,.06);transition:background .15s,border-color .15s}
.ckcard>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;border-radius:12px}
.ckcard>summary::-webkit-details-marker{display:none}
.ckcard>summary:hover{background:rgba(8,51,70,.03)}
.ckcard>summary:focus-visible{outline:3px solid #5993C5;outline-offset:2px}
.ckc-t{flex:1;min-width:0}.ckc-t b{display:block;font-size:18px;color:#083346}.ckc-t small{display:block;color:#5d6b78;font-size:13px;margin-top:2px}
.ckc-n{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:#1f7a3f;color:#fff;font:700 12px var(--sans)}
.ckc-chev{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid #c9d2dc;background:linear-gradient(180deg,#fff,#eef2f6);box-shadow:0 1px 0 #b9c4cf;position:relative}
.ckc-chev::after{content:"";position:absolute;left:10px;top:9px;width:8px;height:8px;border-right:2px solid #083346;border-bottom:2px solid #083346;transform:rotate(45deg);transition:transform .15s}
.ckcard[open] .ckc-chev::after{transform:rotate(-135deg);top:13px}
.ckcard.on,.ckcard:has(.cktg:checked){background:#eef8f0;border-color:#9fd3ab;box-shadow:0 1px 0 #9fd3ab,0 2px 8px rgba(31,122,63,.08)}
.ckc-body{padding:2px 18px 16px;border-top:1px solid #e3e9ef}
.ckgroup{margin:14px 0 2px;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5d6b78}
/* option rows: a switch that looks like a real button */
.ckopt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 0;border-bottom:1px solid #edf1f4}
.ckopt:last-child{border-bottom:0}.ckopt.grouped{padding-left:14px}
.cktg{position:absolute;opacity:0;width:1px;height:1px}
.ckswitch{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:12px;min-height:46px;margin:0;padding:8px 14px;border:1px solid #b9c4cf;border-radius:10px;cursor:pointer;
 background:linear-gradient(180deg,#fff 0%,#f2f5f8 100%);box-shadow:0 2px 0 #b9c4cf,0 3px 6px rgba(8,51,70,.08),inset 0 1px 0 #fff;
 font:600 15px var(--sans);letter-spacing:0;text-transform:none;color:#1d2730;transition:background .12s,border-color .12s,box-shadow .12s,transform .06s;user-select:none}
.ckswitch:hover{border-color:#8a9aab;background:linear-gradient(180deg,#fff 0%,#e9eef3 100%)}
.ckswitch:active{transform:translateY(1px);box-shadow:0 1px 0 #b9c4cf,inset 0 2px 4px rgba(0,0,0,.08)}
.cktg:focus-visible+.ckswitch{outline:3px solid #5993C5;outline-offset:2px}
.ckswitch .sw{flex:0 0 auto;position:relative;width:42px;height:24px;border-radius:999px;background:#c7d0d9;box-shadow:inset 0 1px 3px rgba(0,0,0,.25);transition:background .15s}
.ckswitch .sw::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:left .15s}
.cktg:checked+.ckswitch{border-color:#1f7a3f;background:linear-gradient(180deg,#f4fbf5 0%,#e3f3e7 100%);box-shadow:0 2px 0 #1f7a3f,0 3px 6px rgba(31,122,63,.15),inset 0 1px 0 #fff}
.cktg:checked+.ckswitch .sw{background:#1f7a3f}.cktg:checked+.ckswitch .sw::after{left:21px}
.ckswitch .lbl{flex:1}
.cktype{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:#e8eef4;color:#33506a;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase}
/* info icon: hover, focus or tap */
.ckinfo{position:relative;flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1px solid #a8b6c4;background:linear-gradient(180deg,#fff,#eef2f6);box-shadow:0 1px 0 #a8b6c4;
 color:#2f6fa8;font:italic 700 15px Georgia,serif;cursor:help;padding:0}
.ckinfo:hover,.ckinfo:focus-visible,.ckinfo.show{background:#083346;color:#fff;border-color:#083346;outline:none}
.ckinfo::after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:min(300px,80vw);padding:10px 12px;border-radius:8px;background:#083346;color:#fff;
 font:400 13px/1.4 var(--sans);text-align:left;box-shadow:0 8px 20px rgba(8,51,70,.3);opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none;white-space:normal}
.ckinfo:hover::after,.ckinfo:focus-visible::after,.ckinfo.show::after{opacity:1;visibility:visible}
/* follow-ups appear when the switch is on */
.ckfollow{display:none;flex:1 1 100%;padding:4px 0 2px 54px}
.cktg:checked~.ckfollow{display:block}
.ckfollow textarea{min-height:0}
.ckhint{margin:4px 0 8px;font-size:13px;color:#5d6b78}.ckfixed{margin:4px 0;font-size:14px;color:#1f5b33}
@media(max-width:600px){.ckfollow{padding-left:0}.ckopt.grouped{padding-left:0}}
/* yes/no + segmented */
.ckyn,.ckseg{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.ckyn .ckq{flex:1 1 100%;margin:0 0 6px;font-size:14px;font-weight:600}
.ckyn input,.ckseg input{position:absolute;opacity:0;width:1px;height:1px}
.ckyn>label,.ckseg>label{margin:0;min-width:76px;padding:9px 16px;text-align:center;border:1px solid #b9c4cf;background:linear-gradient(180deg,#fff,#f2f5f8);color:#33445a;cursor:pointer;
 font:600 14px var(--sans);letter-spacing:0;text-transform:none;box-shadow:0 2px 0 #b9c4cf}
.ckyn>label+input+label,.ckseg>label+input+label{border-left:0}
.ckyn>label:first-of-type,.ckseg>label:first-of-type{border-radius:8px 0 0 8px}
.ckyn>label:nth-of-type(2),.ckseg>label:last-of-type{border-radius:0 8px 8px 0}
.ckyn input:checked+label,.ckseg input:checked+label{background:#083346;border-color:#083346;color:#fff;box-shadow:0 2px 0 #041c28,inset 0 1px 0 rgba(255,255,255,.18)}
.ckyn input:focus-visible+label,.ckseg input:focus-visible+label{outline:3px solid #5993C5;outline-offset:2px}
.ckyn .ifno{display:none;flex:1 1 100%;margin-top:10px}.ckyn input[value=no]:checked~.ifno{display:block}
.ckseg.sm>label{min-width:42px;padding:5px 10px;font-size:13px}.ckseg.sm input:checked+label.no{background:#a12d2d;border-color:#7e2222}
/* dock slot picker */
.ckslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:6px 0 10px}
.ckslots .slt{position:absolute;opacity:0;width:1px;height:1px}
.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;margin:0;padding:6px;border:1px solid #b9c4cf;border-radius:10px;cursor:pointer;
 background:linear-gradient(180deg,#fff,#f2f5f8);box-shadow:0 2px 0 #b9c4cf;letter-spacing:0;text-transform:none;color:#1d2730;transition:background .1s,transform .06s}
.slot b{font-size:15px}.slot small{font-size:11px;color:#5d6b78}
.slot:hover{border-color:#5993C5}.slot:active{transform:translateY(1px)}
.slt:checked+.slot{background:linear-gradient(180deg,#0a4058,#083346);border-color:#041c28;color:#fff;box-shadow:0 2px 0 #041c28,inset 0 1px 0 rgba(255,255,255,.2)}
.slt:checked+.slot small{color:#cfe3f3}
.slt:focus-visible+.slot{outline:3px solid #5993C5;outline-offset:2px}
.slot.full{background:repeating-linear-gradient(135deg,#f1f3f5 0 6px,#e6eaee 6px 12px);color:#8a96a3;box-shadow:none;border-style:dashed}
.slt:disabled+.slot{cursor:not-allowed}.slt:disabled+.slot b{text-decoration:line-through}
.slot.mine{background:#e3f3e7;border-color:#1f7a3f;color:#1f5b33}
.slotchip{display:inline-block;margin:4px 6px 0 0;padding:2px 9px;border-radius:999px;background:#e8eef4;font-size:13px}.slotchip.ovr{background:#fff3cd}
.ckprefill{margin-top:4px;border:1px dashed #b9c4cf;border-radius:10px;padding:8px 12px;background:#fafcfd}
.ckprefill>summary{cursor:pointer;font-weight:600;color:#083346}.ckprefill[open]>summary{margin-bottom:10px}
.cksubmit{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:6px 0 30px}
.btn.ckgo{min-height:48px;border-radius:8px;padding:12px 26px;font-weight:700;box-shadow:0 2px 0 #041c28,0 3px 8px rgba(8,51,70,.22),inset 0 1px 0 rgba(255,255,255,.22)}
.btn.ckgo:active{transform:translateY(1px)}
/* summary */
.cksum{margin:10px 0}.cksum-h{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5d6b78;margin-bottom:4px}
.cksum-i{padding:3px 0;font-size:14px}.ckrev-sum{margin-top:14px;border-top:1px solid #e3e9ef;padding-top:6px}
.ckacts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ckpermit-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ckpermit-row .ckacts{margin:0 0 0 auto}
.cklink{font-weight:600;text-decoration:none}
.pill.ckconf{background:#a12d2d;border-color:#a12d2d;color:#fff}.pill.cksugg{background:#fff3cd;border-color:#f0b429;color:#7a4b00}
/* review */
.ckconflict{border:2px solid #c62828;background:#fdf1f1}.ckconflict h3{margin:0 0 6px;color:#a12d2d}.ckconflict.resolved{border-color:#9fd3ab;background:#f2faf4}.ckconflict.resolved h3{color:#1f5b33}
.cksuggs h3,.ckengf h3{margin:0 0 4px}.cksugg-i{border-top:1px solid #e3e9ef;padding:12px 0}.cksugg-i.confirmed{background:linear-gradient(90deg,#eef8f0,transparent)}
.ckok{color:#1f5b33;margin-top:6px}
.ckbtnrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}
.ckbtn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:8px;font:700 13px var(--sans);letter-spacing:.03em;cursor:pointer;text-decoration:none;
 border:1px solid #a8b6c4;background:linear-gradient(180deg,#fff,#f0f4f7);color:#083346;box-shadow:0 2px 0 #9aabbb,0 3px 6px rgba(8,51,70,.1),inset 0 1px 0 #fff}
.ckbtn:hover{background:linear-gradient(180deg,#f7fafc,#e5ecf2)}.ckbtn:active{transform:translateY(1px);box-shadow:0 1px 0 #9aabbb,inset 0 2px 4px rgba(0,0,0,.12)}
.ckbtn:focus-visible{outline:3px solid #5993C5;outline-offset:2px}
.ckbtn.confirm,.ckbtn.save{background:linear-gradient(180deg,#4a8ccc,#2f6fb0 55%,#225689);border-color:#225689;color:#fff;box-shadow:0 2px 0 #1d4b78,0 3px 8px rgba(47,111,176,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.ckbtn.fw{background:linear-gradient(180deg,#e0782f,#c8601a 55%,#a24c12);border-color:#8a3f0e;color:#fff;box-shadow:0 2px 0 #8a3f0e,inset 0 1px 0 rgba(255,255,255,.25)}
.ckbtn.closep,.ckbtn.closeany{background:linear-gradient(180deg,#27964d,#1f7a3f 55%,#165f30);border-color:#165f30;color:#fff;box-shadow:0 2px 0 #145028,inset 0 1px 0 rgba(255,255,255,.25)}
.ckpress{display:block;width:100%;min-height:46px;margin-top:8px;border-radius:8px;border:2px solid #c9d2dc;background:#fff;color:#33445a;font:600 14px var(--sans);cursor:pointer;box-shadow:0 2px 0 #c9d2dc}
.ckpress.on{background:linear-gradient(180deg,#e0782f,#c8601a);border-color:#a24c12;color:#fff;box-shadow:0 2px 0 #8a3f0e}
.ckpending{background:#fff3cd;border:1px solid #f0b429;border-radius:8px;padding:8px 12px;margin:0 0 10px;font-size:14px}.ckpending ul{margin:4px 0 0;padding-left:18px}
.ckdecide .ckapprove{display:block;width:100%;margin-top:12px}
.ckdecide .ckapprove[aria-disabled=true]{filter:grayscale(.6);opacity:.65}
.ckor{display:flex;align-items:center;gap:10px;margin:22px 0 14px;color:#8a96a3;font-size:12px;text-transform:uppercase;letter-spacing:.14em}
.ckor::before,.ckor::after{content:"";flex:1;border-top:1px solid #d9e1e8}
.ckdecide .ckreject{display:block;width:60%;margin-left:auto}
/* permit */
.ckpermit-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0}
.btn.ckprint{border-radius:8px;box-shadow:0 2px 0 #041c28,inset 0 1px 0 rgba(255,255,255,.2)}
.fwpill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font:600 14px var(--sans);border:1px solid #c8601a;color:#a24c12;background:#fff4ec}
.fwpill.on{background:linear-gradient(180deg,#e0782f,#c8601a);color:#fff;border-color:#a24c12;box-shadow:0 2px 0 #8a3f0e}
.fwpill.done{border-color:#1f7a3f;color:#1f5b33;background:#eef8f0}
.cklm{font-size:14px;color:#33445a}
.ckpermit fieldset{border:0;padding:0;margin:0;min-width:0}.ckpermit h3{margin-top:0}
.ckpermit.ro input,.ckpermit.ro textarea{background:#f6f8fa}
.ckrules{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.ckrules span{padding:3px 9px;border-radius:999px;background:#fdf1f1;color:#8b2e2e;font-size:12px}
.ckchk{margin:8px 0 14px}.ckchk-h{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#5d6b78;margin:6px 0}
.ckyn-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #edf1f4;font-size:14px}
.ckbox{padding:8px 0;border-bottom:1px solid #edf1f4;font-size:14px}.ckbox input{width:20px;height:20px}
.ckpermit-acts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}.ckpermit-acts .closep{margin-left:auto}
.ckremind{border:2px solid #f0b429;background:#fffaf0}.ckremind h3{margin:0 0 6px}
/* settings */
.ckset .cksetsec h3{margin:0 0 8px;font-size:18px}.ckset .cksetsec h3 small{font-weight:400;font-size:13px}
.cksetopt{border-top:1px solid #edf1f4}.cksetopt>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 2px;cursor:pointer}
.cksetopt>summary .lbl{flex:1;font-weight:600}.cksetopt.hid>summary .lbl{color:#8a96a3;text-decoration:line-through}
.cksetf{padding:4px 2px 14px}.cksetf label{margin-top:8px}
.ckbadge{padding:2px 8px;border-radius:999px;font:600 11px var(--sans)}.ckbadge.inh{background:#eef2f5;color:#5d6b78}.ckbadge.cust{background:#e1ecf7;color:#225689}
.ckbadge.bld{background:#e3f3e7;color:#1f5b33}.ckbadge.hid{background:#f6e7e7;color:#8b2e2e}
.cksw-row{display:flex;flex-wrap:wrap;margin:12px 0}.cksw-row .ckfollow{padding-left:0;margin-top:10px}
.ckbrules h2{margin-top:0}.ckbrules h3{margin:18px 0 4px}.ckprinttest{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.ckset.cols,.cols{grid-template-columns:1fr}.ckdecide .ckreject{width:100%}.ckpermit-acts .closep{margin-left:0}}
/* 2.6.0: dock capacity + bypass/hold choice */
.slot{min-height:62px}
.slot .spots{font-weight:600;color:#1f6b3a}.slot .spots.low{color:#8a5a00}.slot.full .spots{color:#8a96a3}
.slt:checked+.slot .spots{color:#e3f3e7}
.ckmode{border:0;padding:0;margin:8px 0;display:flex;gap:8px;flex-wrap:wrap}.ckmode legend{font-size:13px;font-weight:600;margin-bottom:4px;padding:0}
.ckmode input{position:absolute;opacity:0;width:1px;height:1px}
.ckmode label{flex:1 1 120px;text-align:center;padding:10px 12px;min-height:44px;border:1px solid #a8b6c4;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,#fff,#f3f6f9);box-shadow:0 2px 0 #9aabbb;color:#083346;font-weight:600}
.ckmode input:checked+label{background:#083346;color:#fff;border-color:#083346;box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.ckmode input:focus-visible+label{outline:3px solid #5993C5;outline-offset:2px}
