*{box-sizing:border-box}
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20211f;background:#f3f3f1}
body{margin:0;min-height:100vh;background:#f3f3f1}
.shell{width:min(1040px,calc(100% - 32px));margin:36px auto}
.card{background:#fff;border:1px solid #deded9;border-radius:16px;padding:28px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#686a65}
h1{margin:8px 0;font-size:30px;line-height:1.1}
h2{margin:5px 0 0;font-size:22px}
.intro{margin:0 0 26px;color:#60625d;line-height:1.5;max-width:780px}
form{display:grid;gap:16px}
.field{display:grid;gap:7px}
label{font-weight:700;font-size:14px}
input{width:100%;min-height:44px;border:1px solid #cfcfca;border-radius:10px;padding:10px 12px;font:inherit;background:#fff}
input:focus{outline:2px solid #555;outline-offset:1px}
.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.date-grid{display:grid;grid-template-columns:1fr 1fr 140px;gap:12px}
button{border:0;border-radius:10px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;background:#22231f;color:#fff}
button:disabled{cursor:wait;opacity:.6}
button.secondary{background:#ecece8;color:#33342f}
button.compact{padding-inline:15px}
.button-row{display:flex;gap:10px;justify-content:flex-end}
.button-row button{min-width:160px}
.test-location{padding:12px 14px;background:#f6f6f3;border-radius:10px}
.test-location div{display:grid;gap:3px}
.test-location strong{font-size:14px}
.test-location span{font-size:13px;color:#696b65;overflow-wrap:anywhere}
.status-box{margin-top:22px;border-radius:12px;padding:16px;border:1px solid transparent}
.status-box.hidden,.results.hidden{display:none}
.status-box.working{background:#f4f4f1;border-color:#dddeda}
.status-box.success{background:#e9f5ea;border-color:#c7dfc9}
.status-box.error{background:#fae9e7;border-color:#edc7c2}
.status-title{font-weight:800}
.status-detail{margin-top:5px;line-height:1.45;color:#555750}
.results{margin-top:28px;padding-top:26px;border-top:1px solid #e8e8e3}
.results-header{display:flex;justify-content:space-between;gap:18px;align-items:center}
.count-pill{padding:7px 10px;border-radius:999px;background:#eeeeea;font-weight:700;font-size:13px}
.legend{margin-top:14px;padding:12px 14px;background:#f6f6f3;border-radius:10px;color:#5d5f59;font-size:14px;line-height:1.45}
.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}
.summary-strip>div{padding:11px;background:#f8f8f6;border:1px solid #e7e7e2;border-radius:9px;display:grid;gap:4px}
.summary-strip span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#74766f}
.summary-strip strong{font-size:13px;overflow-wrap:anywhere}
.site-list{display:grid;gap:10px}
.site-row{padding:14px;border:1px solid #e1e1dc;border-radius:12px;background:#fff}
.site-main{margin-bottom:11px}
.site-name{font-weight:800}
.site-meta{font-size:12px;color:#74766f;margin-top:3px}
.night-grid{display:grid;grid-template-columns:repeat(14,minmax(42px,1fr));gap:4px;overflow-x:auto}
.night-code{min-width:42px;padding:6px 4px;border-radius:7px;background:#f4f4f1;text-align:center}
.night-code span{display:block;font-size:9px;color:#777971;white-space:nowrap}
.night-code strong{display:block;font-size:14px;margin-top:2px}
.note{margin-top:22px;padding:14px 16px;border-radius:10px;background:#f6f6f3;color:#5e605a;font-size:14px;line-height:1.5}
@media(max-width:760px){
  .shell{width:min(100% - 20px,1040px);margin:20px auto}
  .card{padding:20px;border-radius:12px}
  h1{font-size:26px}
  .date-grid{grid-template-columns:1fr 1fr}
  .people-field{grid-column:1/-1}
  .button-row{display:grid;grid-template-columns:1fr 1fr}
  .button-row button{min-width:0}
  .summary-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .date-grid,.button-row{grid-template-columns:1fr}
  .summary-strip{grid-template-columns:1fr}
}

.inspector{margin-top:28px;padding-top:26px;border-top:1px solid #e8e8e3}
.inspector-copy{color:#60625d;line-height:1.5;margin:10px 0 16px}
.inspector-controls{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.inspector-controls button{min-height:44px}
.inspect-results{margin-top:16px}
.inspect-results.hidden{display:none}
.inspector-warning{padding:10px 12px;background:#fff4dd;border:1px solid #ead9aa;border-radius:9px;margin-bottom:12px}
.compare-wrap{overflow-x:auto;border:1px solid #e1e1dc;border-radius:12px}
.compare-table{border-collapse:collapse;width:100%;min-width:760px;background:#fff}
.compare-table th,.compare-table td{padding:10px 12px;border-bottom:1px solid #ecece8;border-right:1px solid #ecece8;vertical-align:top;text-align:left}
.compare-table thead th{background:#f6f6f3;font-size:13px}
.compare-table tbody th{background:#fafaf8;font-size:12px;white-space:nowrap}
.compare-table td code{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-stack{display:grid;gap:10px;margin-top:12px}
.resource-detail{border:1px solid #e1e1dc;border-radius:10px;padding:10px 12px;background:#fff}
.resource-detail summary{cursor:pointer;font-weight:750}
.resource-detail h4{margin:14px 0 6px}
.resource-detail pre{margin:0;padding:10px;background:#f6f6f3;border-radius:8px;overflow:auto;font-size:11px;max-height:320px}
@media(max-width:760px){.inspector-controls{grid-template-columns:1fr}}

.availability-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.availability-card{border:1px solid #e1e1dc;border-radius:12px;padding:12px;background:#fff;min-width:0}
.availability-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.availability-card-head>div{display:grid;gap:2px}
.availability-card-head strong{font-size:18px}
.availability-card-head span{font-size:11px;color:#777971}
.signal{display:inline-block;padding:5px 7px;border-radius:999px;font-size:10px!important;font-weight:750;white-space:nowrap}
.signal.yes{background:#e4f3e6;color:#22652c}
.signal.no{background:#f3e5e3;color:#84332c}
.availability-stats{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0;font-size:11px;color:#62645e}
.inspect-night-row{display:flex;gap:3px;flex-wrap:wrap}
.inspect-night{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;font-size:11px;font-weight:800}
.inspect-night.available{background:#dff1e2;color:#24632d}
.inspect-night.unavailable{background:#f4dddd;color:#8a302c}
.inspect-night.special{background:#eee6ce;color:#735b18}
.inspect-night.unknown{background:#ecece8;color:#555750}
.diff-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}
.diff-heading>div{display:grid;gap:2px}
.diff-heading span{font-size:12px;color:#74766f}
.diff-table tbody th{max-width:330px;white-space:normal;overflow-wrap:anywhere}
.diff-table td{min-width:190px}
.no-differences{padding:14px;border:1px solid #d9dfd6;background:#f6f8f4;border-radius:10px;color:#52584e}
.code-note{margin-top:12px;padding:12px 14px;background:#f6f6f3;border-radius:10px;font-size:13px;line-height:1.45;color:#5d5f59}
@media(max-width:900px){.availability-compare{grid-template-columns:1fr}}

.cart-test-panel{margin-top:20px;padding:18px;border:1px solid #e1e1dc;border-radius:12px;background:#fafaf8}
.cart-test-panel h2{margin:5px 0 4px}
.cart-test-panel p{margin:0 0 14px;color:#60625d;line-height:1.45;font-size:14px}
.cart-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}
.cart-meta>div{display:grid;gap:2px}
.cart-meta span{font-size:11px;color:#6b6d66;text-transform:uppercase;letter-spacing:.03em}
.cart-meta strong{font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.cart-meta{grid-template-columns:1fr}}

.hold-test-panel{margin-top:20px;padding:18px;border:1px solid #dfc8c3;border-radius:12px;background:#fffafa}
.hold-test-panel h2{margin:5px 0 6px}
.hold-warning{margin:0 0 16px;color:#70534e;line-height:1.45;font-size:14px}
.hold-grid{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:14px;align-items:end}
.hold-copy{padding-bottom:11px;color:#666862;font-size:13px;line-height:1.4}
.confirm-row{display:flex;align-items:flex-start;gap:9px;margin:16px 0 12px;font-weight:600;line-height:1.4}
.confirm-row input{width:18px;min-height:18px;margin-top:1px;flex:0 0 18px}
.danger-action{background:#7a2d27}
.danger-action:disabled{background:#b9aaa7}
@media(max-width:650px){.hold-grid{grid-template-columns:1fr}.hold-copy{padding-bottom:0}}


/* Streamlined availability + hold workflow */
.availability-note{
    margin:0 0 14px;
    padding:11px 13px;
    border-radius:9px;
    background:#f5f6f3;
    color:#5d605a;
    font-size:13px;
    line-height:1.45;
}
.available-site-list{
    display:grid;
    gap:10px;
}
.available-site-card{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:14px;
    border:1px solid #dedfd9;
    border-radius:11px;
    background:#fff;
}
.available-site-rank{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#f1f2ef;
    color:#666a62;
    font-weight:700;
    font-size:13px;
}
.available-site-name{
    font-size:17px;
    font-weight:750;
}
.available-site-meta{
    margin-top:3px;
    color:#696c66;
    font-size:12px;
}
.hold-site-button{
    white-space:nowrap;
}
.hold-site-button.failed{
    background:#999;
}
.hold-site-button.held{
    background:#3d684b;
}
.empty-availability{
    padding:18px;
    border:1px dashed #cfd1ca;
    border-radius:10px;
    color:#686b65;
    text-align:center;
}
.hold-result{
    margin-top:18px;
    padding:16px;
    border-radius:11px;
    border:1px solid transparent;
}
.hold-result.working{
    display:block;
    background:#f6f4ec;
    border-color:#ddd5b8;
}
.hold-result.success{
    display:block;
    background:#eef6f0;
    border-color:#bcd4c2;
}
.hold-result.error{
    display:block;
    background:#fff2f1;
    border-color:#e0beb9;
}
.hold-success-kicker{
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    color:#41664a;
}
.hold-success-site{
    margin:2px 0 5px;
    font-size:25px;
    font-weight:800;
}
.hold-failures{
    margin-top:10px;
    font-size:12px;
    line-height:1.5;
    color:#764a45;
}
.hold-next{
    margin-top:10px;
    font-weight:700;
}
@media(max-width:650px){
    .available-site-card{
        grid-template-columns:34px minmax(0,1fr);
    }
    .hold-site-button{
        grid-column:1 / -1;
        width:100%;
    }
}

.hold-action-row{
    margin-top:14px;
}
.resume-result{
    margin-top:12px;
    padding:13px;
    border-radius:9px;
    border:1px solid transparent;
}
.resume-result.working{
    display:block;
    background:#f6f4ec;
    border-color:#ddd5b8;
}
.resume-result.success{
    display:block;
    background:#f5fbf6;
    border-color:#c7dcca;
}
.resume-result.error{
    display:block;
    background:#fff3f2;
    border-color:#dfbfbb;
}
.resume-meta{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
    margin-top:12px;
}
.resume-meta div{
    display:grid;
    gap:2px;
}
.resume-meta span{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#696c65;
}
.resume-meta strong{
    font-size:14px;
}
@media(max-width:700px){
    .resume-meta{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.checkout-discovery-actions{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(0,0,0,.08);
}
.checkout-discovery-result{
    margin-top:12px;
    padding:13px;
    border-radius:9px;
    border:1px solid transparent;
}
.checkout-discovery-result.working{
    display:block;
    background:#f6f4ec;
    border-color:#ddd5b8;
}
.checkout-discovery-result.success{
    display:block;
    background:#f8faf8;
    border-color:#ccd8ce;
}
.checkout-discovery-result.error{
    display:block;
    background:#fff3f2;
    border-color:#dfbfbb;
}
.route-group{
    margin-top:13px;
}
.route-group-title{
    margin-bottom:5px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#5f635d;
}
.route-group pre{
    max-height:220px;
    overflow:auto;
    margin:0;
    padding:10px;
    border-radius:7px;
    background:#f0f1ee;
    font-size:11px;
    line-height:1.5;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.route-empty{
    color:#747770;
    font-size:12px;
}

.scan-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
}
.scan-stats>div{
    display:grid;
    gap:2px;
    padding:8px 9px;
    border-radius:7px;
    background:#f0f1ee;
}
.scan-stats span{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#6d7069;
}
.scan-stats strong{
    font-size:15px;
}
.code-context{
    margin-top:7px;
    border:1px solid #dfe1dc;
    border-radius:7px;
    background:#fff;
}
.code-context summary{
    cursor:pointer;
    padding:8px 10px;
    font-size:12px;
    font-weight:700;
}
.code-context pre{
    max-height:180px;
    margin:0;
    border-radius:0 0 7px 7px;
}
@media(max-width:700px){
    .scan-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.active-holds-panel{
    margin-top:22px;
    padding:18px;
    border:1px solid #dedfd9;
    border-radius:12px;
    background:#fafaf8;
}
.active-holds-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.active-holds-panel h2{
    margin:4px 0 0;
}
.active-holds-panel>p{
    margin:8px 0 14px;
    color:#666962;
    font-size:13px;
    line-height:1.45;
}
.active-holds-list{
    display:grid;
    gap:9px;
    margin-top:12px;
}
.active-hold-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px;
    border:1px solid #dfe0dc;
    border-radius:9px;
    background:#fff;
}
.active-hold-site{
    font-size:16px;
    font-weight:800;
}
.active-hold-meta{
    margin-top:3px;
    color:#6c6f68;
    font-size:12px;
}
.release-hold-button{
    background:#8a342d;
}
.release-hold-button.released{
    background:#6f756e;
}
.hold-action-row{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}
@media(max-width:650px){
    .active-holds-header,
    .active-hold-card{
        align-items:stretch;
        flex-direction:column;
    }
    .active-hold-card .release-hold-button{
        width:100%;
    }
}

.active-hold-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.release-api-results{
    margin-top:12px;
    padding:13px;
    border:1px solid #d8dbd5;
    border-radius:9px;
    background:#fff;
}
.release-api-title{
    margin-bottom:8px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#5f635d;
}
.release-api-results .code-context pre{
    max-height:280px;
}
@media(max-width:650px){
    .active-hold-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
    .active-hold-actions button{
        width:100%;
    }
}

.release-candidate{
    margin-top:10px;
    padding:11px;
    border:1px solid #d9dcd6;
    border-radius:8px;
    background:#fafbf9;
}
.release-candidate-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:7px;
}
.release-candidate-head span{
    color:#6c7069;
    font-size:11px;
}
.release-candidate-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-bottom:8px;
    font-size:11px;
    color:#666a63;
}
.release-candidate pre{
    max-height:220px;
    overflow:auto;
    margin:0;
    padding:9px;
    border-radius:6px;
    background:#f0f1ee;
    font-size:11px;
    line-height:1.45;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.exact-release-contexts{
    margin-top:14px;
}
.exact-release-contexts>summary{
    cursor:pointer;
    font-weight:800;
    font-size:12px;
}

.trace-step{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e0e2dc;
}
.trace-step>strong{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.checkout-research-panel{
    margin-top:22px;
    padding:18px;
    border:1px solid #dedfd9;
    border-radius:12px;
    background:#fafaf8;
}
.checkout-research-panel h2{
    margin:4px 0 0;
}
.checkout-research-panel>p{
    margin:8px 0 14px;
    color:#666962;
    font-size:13px;
    line-height:1.45;
}
.checkout-trace-results{
    margin-top:12px;
}
.trace-group{
    margin-top:14px;
}

.credential-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:8px;
}
.credential-status{
    font-size:12px;
    color:#747871;
}
.credential-status.saved{
    font-weight:700;
    color:#4f6550;
}
.trace-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.note code{
    font-size:.92em;
}
@media(max-width:650px){
    .trace-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
    .trace-actions button{
        width:100%;
    }
}

.focused-trace{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #dedfd9;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.focused-trace-copy{
    margin-top:4px;
    color:#666962;
    font-size:12px;
    line-height:1.4;
}
.focused-trace code{
    font-size:.95em;
}
@media(max-width:650px){
    .focused-trace{
        align-items:stretch;
        flex-direction:column;
    }
}

.payment-handoff-note{
    margin-top:10px;
    max-width:700px;
}

.hold-action-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.active-hold-actions{
    display:flex;
    gap:8px;
}
.dev-card{
    max-width:760px;
    margin:0 auto;
}
.dev-actions{
    justify-content:flex-start;
}
@media(max-width:600px){
    .hold-action-row,
    .active-hold-actions{
        display:grid;
        grid-template-columns:1fr;
    }
}

.payment-balance{
    margin-top:8px;
    font-size:1.05rem;
}
.compact-payment-row{
    margin-top:10px;
}
.active-hold-actions .prepare-payment-button,
.active-hold-actions .open-payment-button{
    white-space:nowrap;
}

.setup-card{
    max-width:760px;
    margin:0 auto;
}
.setup-step{
    margin:18px 0;
    line-height:1.5;
}
.bookmarklet-wrap{
    margin:24px 0;
}
.bookmarklet-button{
    display:inline-block;
    padding:13px 18px;
    border-radius:8px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}
.payment-handoff-note a{
    font-weight:700;
}

.handoff-code-panel{
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:10px;
    background:rgba(255,255,255,.72);
}
.handoff-code-title{
    font-weight:700;
    margin-bottom:8px;
}
.handoff-code-copy{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    margin-bottom:8px;
}
.handoff-code-copy input{
    width:100%;
    min-width:0;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:13px;
}
.handoff-open-row{
    margin-top:10px;
}
@media(max-width:600px){
    .handoff-code-copy{
        grid-template-columns:1fr;
    }
}

.compact-shell{max-width:980px}.campbot-main-card{padding:28px}.topline,.section-heading,.active-holds-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topline h1,.setup-section h2,.launch-panel h2{margin:3px 0 0}.helper-pill{font-size:12px;font-weight:700;padding:7px 10px;border-radius:999px;white-space:nowrap}.helper-ok{background:#e6f5eb;color:#28643c}.helper-missing{background:#f4ece8;color:#884b38}.setup-details,.optional-panel{border:1px solid rgba(0,0,0,.11);border-radius:10px;margin:18px 0;overflow:hidden}.setup-details summary,.optional-panel summary{cursor:pointer;padding:13px 15px;font-weight:700;background:rgba(0,0,0,.025)}.optional-panel summary span{font-weight:400;color:#6e7378;margin-left:5px}.details-body{padding:15px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setup-section{padding:18px 0;border-top:1px solid rgba(0,0,0,.08)}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.priority-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:13px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-weight:700}.priority-number{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef1f3}.priority-card input{grid-column:2;margin-top:4px;width:100%}.launch-panel{margin:8px 0 20px;padding:18px;border:1px solid rgba(0,0,0,.13);border-radius:12px;background:#f6f8f7}.launch-copy p{margin:8px 0 0;max-width:690px}.launch-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.scheduler-status{margin-top:12px;font-size:14px;color:#525a60}.armed{box-shadow:0 0 0 3px rgba(36,113,73,.15)}.footer-setup{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08);font-size:13px;color:#646a70}.muted{color:#646a70;margin:0 0 12px}.compact-site-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.compact-holds-header{align-items:center}.attempt-list{margin-top:12px;display:grid;gap:5px}.attempt-list>div{padding:7px 9px;border-radius:6px;background:rgba(0,0,0,.04)}.attempt-list span{color:#656b71;margin-left:5px}.hold-result{margin-top:16px}
@media(max-width:720px){.campbot-main-card{padding:18px}.topline{display:block}.helper-pill{display:inline-block;margin-top:10px}.login-grid,.priority-grid{grid-template-columns:1fr}.footer-setup{display:block}.footer-setup a{display:inline-block;margin-top:7px}.date-grid{grid-template-columns:1fr}.compact-site-card{align-items:flex-start}.launch-actions button{flex:1 1 180px}}

.schedule-grid{
    display:grid;
    grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;
    gap:12px;
    align-items:end;
    margin:16px 0 14px;
}
.schedule-grid label{
    display:grid;
    gap:6px;
}
.schedule-grid label span{
    font-size:13px;
    font-weight:700;
}
.schedule-grid input{
    width:100%;
}
.schedule-preset{
    white-space:nowrap;
}
@media(max-width:720px){
    .schedule-grid{
        grid-template-columns:1fr;
    }
    .schedule-preset{
        width:100%;
    }
}


/* Friend-facing 1 / 2 / 3 workflow */
.page-intro{
    margin:8px 0 0;
    color:#626970;
    line-height:1.45;
}
.instructions-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 12px;
    border:1px solid rgba(0,0,0,.14);
    border-radius:8px;
    text-decoration:none;
    font-weight:700;
    color:inherit;
    background:#fff;
    white-space:nowrap;
}
.workflow-step{
    margin:20px 0;
    padding:20px;
    border:1px solid rgba(0,0,0,.13);
    border-radius:14px;
    background:#fff;
}
.workflow-step-arm{
    background:#f7f9f8;
}
.workflow-step-header{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}
.workflow-title-wrap{
    display:flex;
    gap:13px;
    align-items:center;
}
.workflow-title-wrap h2{
    margin:2px 0 0;
}
.workflow-number{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:50%;
    font-size:18px;
    font-weight:850;
    background:#20262b;
    color:#fff;
}
.workflow-copy{
    margin:12px 0 16px 53px;
    max-width:760px;
    color:#5e656b;
    line-height:1.5;
}
.step-status{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}
.step-status.pending{
    background:#f1f1ee;
    color:#6b6d68;
}
.step-status.ready{
    background:#eef3f6;
    color:#34566c;
}
.step-status.complete,
.step-status.armed-status{
    background:#e4f3e8;
    color:#27633a;
}
.onboarding-actions{
    margin-top:14px;
}
.connection-checks{
    display:grid;
    gap:9px;
    margin-top:15px;
}
.connection-row{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:10px 12px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:9px;
    background:#fafafa;
}
.connection-row>div{
    display:grid;
    gap:2px;
}
.connection-row strong{
    font-size:13px;
}
.connection-row span:not(.connection-icon){
    font-size:12px;
    color:#686e73;
}
.connection-icon{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:50%;
    font-weight:850;
    background:#eceeec;
    color:#747873;
}
.connection-row.connected{
    border-color:#c3dbc9;
    background:#f3faf5;
}
.connection-row.connected .connection-icon{
    background:#ddefe1;
    color:#27633a;
}
.connection-row.checking .connection-icon{
    background:#edf1f3;
    color:#4b606d;
}
.compact-link{
    font-size:12px;
    font-weight:700;
}
.inline-optional{
    margin-top:16px;
    margin-bottom:0;
}

/* Instructions page */
.instructions-card{
    max-width:900px;
    margin:0 auto;
}
.instructions-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
}
.instruction-callout{
    margin:22px 0;
    padding:14px 16px;
    border-radius:10px;
    border:1px solid #d9d5bd;
    background:#fbf8ec;
    line-height:1.5;
}
.secondary-callout{
    border-color:#cdd8df;
    background:#f3f7f9;
}
.instruction-step{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:16px;
    padding:24px 0;
    border-top:1px solid rgba(0,0,0,.09);
}
.instruction-number{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#20262b;
    color:#fff;
    font-size:20px;
    font-weight:850;
}
.instruction-body h2{
    margin:2px 0 14px;
}
.instruction-body h3{
    margin:18px 0 8px;
    font-size:16px;
}
.instruction-body ol{
    padding-left:22px;
    line-height:1.6;
}
.instruction-body li{
    margin:6px 0;
}
.instruction-body p{
    line-height:1.55;
    color:#5e656b;
}
.instruction-subsection{
    margin-top:18px;
    padding:16px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:10px;
    background:#fafafa;
}
.download-helper{
    font-weight:800;
}
.instruction-result{
    margin-top:15px;
    padding:11px 13px;
    border-radius:8px;
    background:#edf6ef;
    color:#315e3d;
    font-weight:700;
    line-height:1.45;
}
.checkout-step .instruction-number{
    background:#356747;
}
.instructions-bottom{
    display:flex;
    justify-content:flex-end;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,.09);
}
.primary-link-button{
    display:inline-flex;
    padding:11px 16px;
    border-radius:8px;
    background:#20262b;
    color:#fff;
    text-decoration:none;
    font-weight:800;
}

@media(max-width:720px){
    .workflow-step{
        padding:16px;
    }
    .workflow-step-header,
    .instructions-top{
        display:block;
    }
    .step-status{
        margin:10px 0 0 53px;
    }
    .workflow-copy{
        margin-left:0;
    }
    .connection-row{
        grid-template-columns:28px 1fr;
    }
    .connection-row .compact-link{
        grid-column:2;
    }
    .instruction-step{
        grid-template-columns:1fr;
    }
    .instructions-top .instructions-link{
        margin-top:12px;
    }
}

.session-credential-note{
    margin-top:12px;
    font-size:12px;
    line-height:1.45;
    color:#676e73;
}


.location-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:18px 0 20px;
    padding:14px 16px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    background:#f5f7f6;
}
.location-banner>div:first-child{
    display:grid;
    gap:2px;
}
.location-banner strong{
    font-size:16px;
    line-height:1.3;
}
.location-banner span{
    font-size:12px;
    color:#667078;
}
.location-banner-note{
    max-width:290px;
    font-size:12px;
    line-height:1.4;
    color:#596167;
    text-align:right;
}
.instructions-location-banner{
    margin-top:20px;
}

@media(max-width:720px){
    .location-banner{
        display:grid;
        gap:10px;
    }
    .location-banner-note{
        max-width:none;
        text-align:left;
    }
}


.helper-download-alert{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:18px 0;
    padding:14px 16px;
    border:1px solid #d8c98a;
    border-radius:12px;
    background:#fff9df;
}
.helper-download-alert>div:first-child{
    display:grid;
    gap:3px;
}
.helper-download-alert strong{
    font-size:15px;
}
.helper-download-alert span{
    font-size:13px;
    line-height:1.45;
    color:#625d49;
}
.helper-download-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.helper-download-alert .primary-link-button{
    white-space:nowrap;
}

@media(max-width:720px){
    .helper-download-alert{
        display:grid;
    }
    .helper-download-actions{
        display:grid;
        align-items:stretch;
    }
    .helper-download-alert .primary-link-button{
        text-align:center;
        justify-content:center;
    }
}

.helper-download-alert.hidden{
    display:none;
}


/* Timing Lab — intentionally separate from normal friend workflow */
.testing-card{
    max-width:1050px;
    margin:0 auto;
}
.testing-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.testing-warning{
    margin:18px 0;
    padding:13px 15px;
    border:1px solid #d8c98a;
    border-radius:10px;
    background:#fff9df;
    line-height:1.5;
}
.test-panel{
    margin:18px 0;
    padding:18px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    background:#fff;
}
.test-panel-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}
.test-panel-heading h2{
    margin:2px 0 0;
}
.testing-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
.compact-testing-actions{
    justify-content:flex-end;
}
.testing-option-row{
    display:grid;
    gap:8px;
    margin:12px 0 16px;
    font-size:13px;
}
.testing-option-row label{
    display:flex;
    gap:8px;
    align-items:flex-start;
}
.timing-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:12px 0;
}
.timing-summary-card{
    display:grid;
    gap:5px;
    padding:12px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:9px;
    background:#fafafa;
}
.timing-summary-card span{
    font-size:12px;
    color:#697078;
}
.timing-summary-card strong{
    font-size:20px;
}
.timing-table-wrap{
    overflow:auto;
    margin-top:12px;
}
.timing-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}
.timing-table th,
.timing-table td{
    padding:8px 9px;
    border-bottom:1px solid rgba(0,0,0,.08);
    text-align:left;
    white-space:nowrap;
}
.timing-table th{
    font-weight:800;
    background:#f7f8f8;
}
.trace-winner{
    background:#edf7ef;
    font-weight:700;
}
.winner-card{
    display:grid;
    gap:4px;
    margin:10px 0 14px;
    padding:14px;
    border:1px solid #bcd9c4;
    border-radius:10px;
    background:#f1f9f3;
}
.winner-card strong{
    font-size:17px;
}
.winner-card span{
    font-size:12px;
    color:#54615a;
}

@media(max-width:720px){
    .testing-header,
    .test-panel-heading{
        display:block;
    }
    .timing-summary-grid{
        grid-template-columns:1fr;
    }
}


/* Timing Lab layout fixes */
.testing-option-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:14px 0 18px;
}

.testing-option-row label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(0,0,0,.09);
    border-radius:9px;
    background:#fafafa;
    line-height:1.4;
    cursor:pointer;
}

.testing-option-row input[type="checkbox"]{
    width:18px;
    height:18px;
    min-width:18px;
    margin:1px 0 0;
    padding:0;
    flex:0 0 18px;
}

.winner-card.hidden,
#test-hold-controls.hidden,
#test-helper-download.hidden,
.test-panel .hidden{
    display:none;
}

@media(min-width:760px){
    .testing-option-row{
        grid-template-columns:1fr 1fr;
    }
}


.open-site-test-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:14px 0;
    padding:14px 16px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:10px;
    background:#f7f9f8;
}
.open-site-test-box>div{
    display:grid;
    gap:4px;
}
.open-site-test-box strong{
    font-size:16px;
}
.open-site-test-box span{
    font-size:12px;
    line-height:1.45;
    color:#646d72;
}


/* Normal-page release telemetry */
.release-details-panel.hidden{
    display:none;
}
.release-details-overview{
    display:grid;
    gap:12px;
    margin-bottom:14px;
}
.release-winner{
    display:grid;
    gap:4px;
    padding:13px 14px;
    border:1px solid #bcd9c4;
    border-radius:10px;
    background:#f1f9f3;
}
.release-winner strong{
    font-size:16px;
}
.release-winner span{
    font-size:12px;
    color:#55645a;
}
.release-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.release-stat{
    display:grid;
    gap:4px;
    padding:10px 11px;
    border:1px solid rgba(0,0,0,.09);
    border-radius:9px;
    background:#fafafa;
}
.release-stat span{
    font-size:11px;
    color:#6b7278;
}
.release-stat strong{
    font-size:15px;
}
.release-details-table-wrap{
    overflow:auto;
}
.release-details-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}
.release-details-table th,
.release-details-table td{
    padding:8px 9px;
    text-align:left;
    border-bottom:1px solid rgba(0,0,0,.08);
    white-space:nowrap;
}
.release-details-table th{
    font-weight:800;
    background:#f7f8f8;
}
.release-details-winner-row{
    background:#edf7ef;
    font-weight:700;
}
.release-details-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:12px;
}
@media(max-width:720px){
    .release-stat-grid{
        grid-template-columns:1fr 1fr;
    }
}


/* GoingToCamp System Time validation */
.system-time-card{
    margin:16px 0;
    padding:16px 18px;
    border:1px solid rgba(0,0,0,.11);
    border-radius:12px;
    background:#fff;
}
.system-time-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}
.system-time-heading h2{
    margin:2px 0 0;
    font-size:18px;
}
.system-time-display-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:14px;
}
.system-time-display{
    display:flex;
    align-items:baseline;
    min-width:0;
    font-variant-numeric:tabular-nums;
}
#system-time-clock{
    font-size:34px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.02em;
}
#system-time-ms{
    margin-left:2px;
    font-size:15px;
    font-weight:700;
    color:#72787d;
}
.system-time-zone{
    margin-left:7px;
    font-size:12px;
    font-weight:800;
    color:#72787d;
}
.system-time-source-badge{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}
.system-time-source-badge.waiting{
    background:#f0f1f2;
    color:#626970;
}
.system-time-source-badge.verified{
    background:#e8f5eb;
    color:#246336;
}
.system-time-source-badge.fallback{
    background:#fff0d8;
    color:#82550c;
}
.system-time-help{
    margin:12px 0 0;
    font-size:12px;
    line-height:1.45;
    color:#5d646a;
}
.system-time-diagnostics{
    display:grid;
    gap:4px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid rgba(0,0,0,.08);
    font-size:11px;
    line-height:1.45;
    color:#626970;
}
.system-time-diagnostics code{
    overflow-wrap:anywhere;
}
.system-time-validation-good{
    margin-top:3px;
    font-weight:800;
    color:#246336;
}
.system-time-validation-warning{
    margin-top:3px;
    font-weight:800;
    color:#82550c;
}
@media(max-width:640px){
    .system-time-display-row{
        align-items:flex-start;
        flex-direction:column;
    }
    #system-time-clock{
        font-size:30px;
    }
}


/* v0.7 precision clock detail */
.system-time-card code{
    font-size:.95em;
}
