:root {
    color-scheme: dark;
    --bg: #0d0d0d;
    --panel: #1c1c1c;
    --panel-soft: #252525;
    --text: #f2f2f2;
    --muted: #bebebe;
    --red: #e32636;
    --red-dark: #c8102e;
    --border: #464646;
}

.property-main { max-width: 1180px; }
.property-header { margin-bottom: 24px; }
.maintenance-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 24px 0; }
.maintenance-summary article { background: #1a1a1a; border: 1px solid #363636; border-radius: 12px; padding: 18px; }
.maintenance-summary strong { color: #fff; display: block; font-size: 2rem; }
.maintenance-summary span { color: #bbb; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.maintenance-table td:first-child strong, .maintenance-table td:first-child small { display: block; }
.maintenance-table td:first-child small { color: #888; margin-top: 5px; }
.task-category { color: #d71920; display: block; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.maintenance-table input, .maintenance-table select { min-width: 140px; margin: 0; }
.maintenance-table tr.status-maintained { border-left: 4px solid #2fa866; }
.maintenance-table tr.status-should_check { border-left: 4px solid #d7a719; }
.maintenance-table tr.status-needs_service { border-left: 4px solid #d71920; }
.small-button { padding: 10px 14px; white-space: nowrap; }
.button-link { background: #d71920; border-radius: 8px; color: #fff; display: inline-block; font-weight: 700; padding: 11px 15px; text-decoration: none; }
@media (max-width: 720px) {
    .maintenance-summary { grid-template-columns: 1fr; }
    .section-heading { align-items: start; flex-direction: column; }
    .maintenance-table { min-width: 900px; }
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Arial, sans-serif;
    line-height: 1.5;
}

main {
    width: min(100% - 32px, 680px);
    margin: 40px auto;
}

.eyebrow {
    margin: 0 0 4px;
    color: var(--red);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

h1 { margin: 0; font-size: clamp(2rem, 7vw, 3rem); }
.intro { color: var(--muted); font-size: 1.05rem; }

.notice,
.error,
.pane-help,
.result,
footer {
    margin-top: 20px;
    padding: 16px 18px;
    background: var(--panel-soft);
    border-left: 4px solid var(--red);
    border-radius: 6px;
}

.notice strong,
.notice span { display: block; }
.notice span { margin-top: 4px; color: var(--muted); }
.error { background: #3a1519; color: #fff; }
.success-notice { margin-top: 20px; padding: 14px 18px; background: #16391f; border-left: 4px solid #4fd16b; border-radius: 6px; }

.pane-help summary { cursor: pointer; font-weight: 700; }
.pane-help p { margin-bottom: 0; color: var(--muted); }

form {
    margin-top: 20px;
    padding: 24px;
    background: var(--panel);
    border-top: 4px solid var(--red);
    border-radius: 6px;
}

label {
    display: block;
    margin-top: 18px;
    font-weight: 700;
}

label:first-child { margin-top: 0; }
.rate { color: var(--muted); font-size: 0.85rem; font-weight: 400; }
.form-heading { margin: 26px 0 0; font-size: 1.2rem; color: #fff; }
.discount-row dt, .discount-row dd { color: #7ee392; }
.manual-review-note { padding: 10px 12px; background: #473814; color: #ffe39a; border-radius: 4px; }

input,
select,
textarea {
    width: 100%;
    margin-top: 6px;
    padding: 12px;
    color: #111;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 4px;
    font: inherit;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
summary:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

button {
    width: 100%;
    margin-top: 26px;
    padding: 14px 20px;
    color: #fff;
    background: var(--red-dark);
    border: 0;
    border-radius: 4px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

button:hover { background: var(--red); }

.result { background: var(--panel); }
.result-label { margin: 0; color: var(--muted); }
.result h2 { margin: 0; color: #fff; font-size: 2.4rem; }
.minimum-note { color: #ffd3d7; }

dl { margin: 18px 0; }
dl div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; border-bottom: 1px solid var(--border); }
dt { color: var(--muted); }
dd { margin: 0; font-weight: 700; }
.result-reminder { margin-bottom: 0; }

.continue-form { margin: 0; padding: 0; background: transparent; border: 0; }
.estimate-summary,
.success-card,
.request-card {
    margin-top: 20px;
    padding: 20px;
    background: var(--panel);
    border-top: 4px solid var(--red);
    border-radius: 6px;
}
.estimate-summary h2 { margin: 0; font-size: 2.4rem; }
.estimate-summary p:last-child { margin-bottom: 0; color: var(--muted); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-help { margin: 6px 0 0; color: var(--muted); font-size: 0.85rem; }
.consent-row { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; }
.consent-row input { width: auto; margin-top: 5px; }
.reference { padding: 12px; background: var(--panel-soft); }
.button-link { display: inline-block; margin-top: 8px; padding: 12px 18px; color: #fff; background: var(--red-dark); border-radius: 4px; font-weight: 700; text-decoration: none; }
.admin-main { width: min(100% - 32px, 960px); }
.login-main { width: min(100% - 32px, 520px); }
.admin-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.logout-form { margin: 0; padding: 0; background: transparent; border: 0; }
.logout-form button { width: auto; margin: 0; padding: 10px 14px; }
.request-list { display: grid; gap: 16px; }
.dashboard-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0; }
.dashboard-summary div { padding: 14px; background: var(--panel); border-top: 3px solid var(--red); border-radius: 6px; }
.dashboard-summary span, .dashboard-summary strong { display: block; }
.dashboard-summary span { color: var(--muted); font-size: .82rem; }
.dashboard-summary strong { margin-top: 3px; font-size: 1.8rem; }
.filter-form { display: grid; grid-template-columns: 2fr 1fr auto auto; align-items: end; gap: 14px; }
.filter-form label { margin-top: 0; }
.filter-form button { width: auto; margin-top: 0; }
.inline-check { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; font-weight: 400; }
.inline-check input { width: auto; margin: 0; }
.queue-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 20px; }
.queue-actions .button-link { margin-top: 0; }
.secondary-link, .secondary-button { background: #3d3d3d; }
.secondary-link:hover, .secondary-button:hover { background: #555; }
.status-badge { padding: 4px 8px; border-radius: 999px; background: #444; color: #fff; font-size: .78rem; font-weight: 700; }
.status-requested { background: #8a2d36; }
.status-reviewing, .status-estimate_ready { background: #765b13; }
.status-estimate_sent, .status-awaiting_deposit { background: #265987; }
.status-deposit_paid, .status-scheduled, .status-completed { background: #276337; }
.status-declined { background: #555; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.three-columns { grid-template-columns: repeat(3, 1fr); }
.request-heading { display: flex; justify-content: space-between; gap: 16px; color: var(--muted); }
.request-card h2 { margin-bottom: 0; }
.request-date { margin-top: 2px; color: var(--muted); font-size: .82rem; }
.request-card p { overflow-wrap: anywhere; }
.notes { padding: 12px; background: var(--panel-soft); }
.back-link { display: inline-block; margin-bottom: 16px; color: #fff; }
.detail-actions { display: flex; justify-content: space-between; gap: 20px; color: var(--muted); }
.related-list { margin-bottom: 0; }
.related-list a { color: #fff; }
.activity-list { margin: 14px 0 0; padding: 0; list-style: none; }
.activity-list li { display: grid; grid-template-columns: 150px 1fr; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.activity-list time { color: var(--muted); font-size: .82rem; }
.calculated-field { margin-top: 6px; padding: 12px; background: var(--panel-soft); border-radius: 4px; }
fieldset { margin-top: 20px; padding: 18px; border: 1px solid var(--border); border-radius: 6px; }
legend { padding: 0 8px; font-weight: 700; }
.archive-form { border-top-color: #555; }
.archive-form .secondary-button { width: auto; }
.archive-form p { color: var(--muted); font-size: .85rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; margin-top: 14px; border-collapse: collapse; }
th, td { padding: 10px; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }
th:first-child, td:first-child { text-align: left; white-space: normal; }
tfoot th { color: #fff; border-bottom: 0; }

footer { color: var(--muted); font-size: 0.85rem; border-left-color: var(--border); }
footer p { margin: 0; }
footer p + p { margin-top: 10px; }

@media (max-width: 520px) {
    main { width: min(100% - 20px, 680px); margin: 20px auto; }
    form { padding: 18px; }
    .field-grid { grid-template-columns: 1fr; gap: 0; }
    .review-grid { grid-template-columns: 1fr; }
    .admin-header { display: block; }
    .logout-form { margin-top: 14px; }
    .filter-form { grid-template-columns: 1fr; align-items: stretch; }
    .filter-form button { width: 100%; }
    .inline-check { padding-bottom: 0; }
    .detail-actions { display: block; }
    .dashboard-summary { grid-template-columns: 1fr 1fr; }
    .queue-actions { display: grid; }
    .queue-actions .button-link { text-align: center; }
    .activity-list li { grid-template-columns: 1fr; gap: 3px; }
}

@media print {
    :root { color-scheme: light; }
    body { background: #fff; color: #000; }
    main, .admin-main { width: 100%; margin: 0; }
    .no-print, form, footer { display: none !important; }
    .request-card, .estimate-summary { break-inside: avoid; background: #fff; color: #000; border: 1px solid #999; }
    .request-card p, dt { color: #000; }
    .notes { background: #eee; }
    th, td, dl div { border-color: #bbb; }
}


/* Official estimate workspace */
:root{color-scheme:dark;--bg:#0d0d0d;--panel:#1c1c1c;--soft:#292929;--text:#f2f2f2;--muted:#bebebe;--red:#d71920;--border:#484848}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Arial,sans-serif}main{width:min(100% - 32px,680px);margin:40px auto}.wide{width:min(100% - 32px,1100px)}h1{margin:.1em 0;font-size:clamp(2rem,6vw,3rem)}h2{margin-top:28px}.eyebrow{color:#ef3940;text-transform:uppercase;font-weight:700;letter-spacing:.08em;font-size:.85rem}.intro,small{color:var(--muted)}nav{margin-bottom:20px}a{color:#ff7379}.notice,.error,.card,form{margin-top:20px;padding:22px;background:var(--panel);border-top:4px solid var(--red);border-radius:6px}.error{background:#42171a}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}label{display:block;margin-top:16px;font-weight:700}input,select,textarea{width:100%;margin-top:5px;padding:11px;color:#111;background:#fff;border:0;border-radius:4px;font:inherit}textarea{resize:vertical}button,.button{display:inline-block;width:100%;margin-top:24px;padding:13px 18px;color:white;background:#b51018;border:0;border-radius:4px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.button{width:auto}.table-wrap{overflow-x:auto;margin-top:15px}table{width:100%;min-width:760px;border-collapse:collapse;background:var(--panel)}th,td{padding:9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.8rem;text-transform:uppercase}td input,td select{margin:0;min-width:90px}td:first-child input{min-width:260px}dl{width:min(100%,480px);margin:24px 0 0 auto}dl div{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border)}dd{margin:0;font-weight:700}.total{font-size:1.25rem;border-bottom:2px solid white}.pill{display:inline-block;padding:5px 10px;background:var(--soft);border-radius:99px}.pre{white-space:pre-line}aside{margin-top:24px;padding:16px;background:#34291d;border-left:4px solid #d89935}@media(max-width:600px){main,.wide{width:min(100% - 20px,1100px);margin:20px auto}.grid{grid-template-columns:1fr}form,.card{padding:16px}}

.decision-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px}.decision-buttons button{margin-top:20px}.consent-row{display:flex;align-items:flex-start;gap:10px;font-weight:400}.consent-row input{width:auto;margin-top:6px}.secondary-button{background:#4a4a4a}@media(max-width:600px){.decision-buttons{grid-template-columns:1fr}}
.embedded-form{margin-top:16px}.calendar-button{background:#1769aa}.calendar-button:hover{background:#2684d8}

/* Wild Canadian Workshop Shop */
.shop-body { background: #090909; }
.shop-nav {
    width: min(100% - 36px, 1180px);
    margin: 0 auto;
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #292929;
}
.shop-brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.shop-brand img { width: 58px; height: 58px; object-fit: contain; }
.shop-brand span, .shop-brand strong, .shop-brand small { display: block; }
.shop-brand strong { font-size: 1.05rem; letter-spacing: .04em; }
.shop-brand small { color: #a8a8a8; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.shop-links { display: flex; gap: 22px; }
.shop-links a { color: #bdbdbd; font-weight: 700; text-decoration: none; }
.shop-links a:hover, .shop-links a.active { color: #fff; }
.shop-links a.active { border-bottom: 2px solid var(--red); }
.shop-main { width: min(100% - 36px, 1180px); margin: 0 auto 50px; }
.shop-hero { padding: 74px 0 48px; max-width: 820px; }
.shop-hero h1 { max-width: 700px; font-size: clamp(3rem, 8vw, 6.2rem); line-height: .94; letter-spacing: -.055em; }
.shop-hero > p:not(.eyebrow) { max-width: 690px; color: #bdbdbd; font-size: 1.15rem; }
.shop-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.shop-badges span { padding: 8px 12px; background: #1a1a1a; border: 1px solid #343434; border-radius: 999px; color: #ddd; font-size: .85rem; }
.shop-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 24px; align-items: start; }
.shop-product, .shop-builder { background: #151515; border: 1px solid #303030; border-radius: 16px; overflow: hidden; }
.product-visual { min-height: 380px; display: grid; place-items: center; align-content: center; gap: 20px; padding: 42px; background: radial-gradient(circle at 50% 25%, #3a1719 0, #171717 48%, #101010 100%); }
.product-visual p { margin: 0; color: #999; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.product-visual--photo { display: block; min-height: 0; padding: 0; background: #111; }
.shop-product-image { display: block; width: 100%; height: clamp(260px, 34vw, 430px); object-fit: contain; }
.product-visual--cornhole { background: #fff; }
.product-visual .shop-photo-caption { padding: 10px 16px; background: #151515; color: #bfbfbf; text-align: center; font-size: .76rem; }

.tote-tower-art { width: min(90%, 360px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 22px; border: 7px solid #d9d9d9; border-top-width: 12px; filter: drop-shadow(0 20px 28px rgba(0,0,0,.5)); }
.tote-tower-art span { aspect-ratio: 1.5; background: linear-gradient(#555 0 20%, #252525 20%); border: 2px solid #747474; border-radius: 5px; }
.cedar-pumpkin-art { position: relative; width: 190px; height: 180px; border-radius: 46% 46% 42% 42%; background: repeating-linear-gradient(90deg,#9b572d 0 34px,#b96c37 34px 38px); border: 5px solid #6f3b20; box-shadow: inset 0 -16px 20px rgba(60,25,8,.28),0 20px 28px rgba(0,0,0,.45); }
.cedar-pumpkin-art::before { content: ""; position: absolute; left: 76px; top: -38px; width: 38px; height: 48px; background: #76502d; border-radius: 5px 5px 2px 2px; transform: rotate(5deg); }
.cedar-pumpkin-art span,.cedar-pumpkin-art i,.cedar-pumpkin-art b { position: absolute; display: block; background: #17100c; }
.cedar-pumpkin-art span { left: 34px; top: 58px; width: 40px; height: 29px; clip-path: polygon(50% 0,100% 100%,0 100%); }
.cedar-pumpkin-art i { right: 34px; top: 58px; width: 40px; height: 29px; clip-path: polygon(50% 0,100% 100%,0 100%); }
.cedar-pumpkin-art b { left: 38px; bottom: 35px; width: 106px; height: 38px; clip-path: polygon(0 0,18% 28%,34% 0,50% 28%,66% 0,82% 28%,100% 0,91% 100%,9% 100%); }
.yard-jenga-art { width: 210px; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; transform: rotate(-3deg); filter: drop-shadow(0 20px 22px rgba(0,0,0,.45)); }
.yard-jenga-art span { height: 34px; border: 2px solid #87522c; border-radius: 3px; background: linear-gradient(100deg,#c88d51,#a86d38); }
.yard-jenga-art span:nth-child(6n+1),.yard-jenga-art span:nth-child(6n+2),.yard-jenga-art span:nth-child(6n+3) { transform: rotate(90deg) scale(.72,1.38); }
.cornhole-art { display: flex; gap: 20px; transform: perspective(500px) rotateX(18deg); }
.cornhole-art span { position: relative; display: block; width: 125px; height: 210px; border: 6px solid #6e4224; border-radius: 5px; background: linear-gradient(145deg,#bd7c3e,#84502b); box-shadow: 0 18px 24px rgba(0,0,0,.4); }
.cornhole-art span::before { content: ""; position: absolute; left: 50%; top: 35px; width: 40px; height: 40px; border-radius: 50%; background: #151515; transform: translateX(-50%); }
.product-copy { padding: 30px; }
.product-eyebrow { margin: 0 0 4px; color: #f0444b; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.product-copy h2, .shop-builder h2 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.4rem); }
.product-copy > p:not(.product-eyebrow), .shop-muted { color: #b8b8b8; }
.product-copy ul { padding-left: 20px; color: #ddd; }
.product-copy li + li { margin-top: 8px; }
.product-price-row { display: flex; justify-content: space-between; gap: 18px; margin-top: 28px; padding-top: 18px; border-top: 1px solid #353535; }
.product-price-row span { color: #aaa; }
.product-price-row strong { color: #fff; }
.shop-builder { position: sticky; top: 18px; padding: 30px; }
.shop-builder fieldset { margin-top: 22px; }
.shop-choice-group { display: grid; gap: 10px; padding: 0; border: 0; }
.shop-choice-group legend { margin-bottom: 8px; padding: 0; }
.shop-choice, .shop-check { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px; background: #202020; border: 1px solid #3a3a3a; border-radius: 9px; cursor: pointer; font-weight: 400; }
.shop-choice:has(input:checked), .shop-check:has(input:checked) { border-color: #ee3038; box-shadow: inset 0 0 0 1px #ee3038; background: #27191a; }
.shop-choice input, .shop-check input { width: auto; margin: 5px 0 0; accent-color: #e32636; }
.shop-choice span, .shop-choice strong, .shop-choice small, .shop-check span, .shop-check strong, .shop-check small { display: block; }
.shop-choice small, .shop-check small { margin-top: 2px; color: #aaa; }
#delivery-options { margin-top: 20px; padding-top: 4px; }
#delivery-options[hidden] { display: none; }
#delivery-options .shop-check { margin-top: 12px; }
.order-preview { margin-top: 24px; padding: 18px; background: #0e0e0e; border-radius: 10px; }
.order-preview div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; color: #aaa; border-bottom: 1px solid #292929; }
.order-preview strong { color: #fff; text-align: right; }
.order-preview .order-total { margin-top: 6px; padding-top: 14px; color: #fff; border-bottom: 0; font-size: 1.08rem; }
.preview-message { margin: 14px 0 0; padding: 12px; background: #18331f; border-radius: 7px; color: #a9e8b8; }
.shop-customer-fields { margin-top: 28px; padding-top: 22px !important; border-top: 1px solid #353535 !important; }
.shop-customer-fields small { display: inline; }
.front-hero { padding: 54px 0 30px; }
.front-hero h1 { max-width: 760px; font-size: clamp(3rem,8vw,6rem); line-height: .95; letter-spacing: -.05em; }
.path-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.path-card { display: flex; flex-direction: column; padding: 25px; background: var(--panel); border: 1px solid var(--border); border-top: 4px solid #666; border-radius: 10px; }
.path-card.featured { border-top-color: var(--red); }
.path-card h2 { margin: 4px 0 8px; }
.path-card p:not(.eyebrow) { color: var(--muted); }
.path-card .button { margin-top: auto; }
@media(max-width:800px){.path-grid{grid-template-columns:1fr}}
.delivery-rules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 28px; }
.delivery-rules div { padding: 20px; background: #141414; border: 1px solid #303030; border-radius: 12px; }
.delivery-rules strong, .delivery-rules span { display: block; }
.delivery-rules strong { color: #fff; font-size: 1.25rem; }
.delivery-rules span { margin-top: 4px; color: #999; font-size: .84rem; }
.shop-footer { display: flex; align-items: center; gap: 16px; margin-top: 28px; padding: 20px; border: 1px solid #2d2d2d; border-left: 1px solid #2d2d2d; border-radius: 12px; }
.shop-footer img { width: 70px; height: 70px; object-fit: contain; }
.shop-footer p { margin: 0; }

@media (max-width: 860px) {
    .shop-layout { grid-template-columns: 1fr; }
    .shop-builder { position: static; }
    .delivery-rules { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .shop-nav { width: min(100% - 24px, 1180px); align-items: flex-start; }
    .shop-brand img { width: 48px; height: 48px; }
    .shop-brand small { display: none; }
    .shop-links { gap: 12px; font-size: .83rem; }
    .shop-main { width: min(100% - 24px, 1180px); }
    .shop-hero { padding: 48px 0 32px; }
    .shop-hero h1 { font-size: clamp(2.8rem, 15vw, 4.5rem); }
    .product-visual { min-height: 280px; padding: 28px; }
    .product-copy, .shop-builder { padding: 22px; }
    .delivery-rules { grid-template-columns: 1fr; }
    .shop-footer { align-items: flex-start; }
}

.account-shell { width: min(100% - 32px, 820px); margin: 0 auto; padding: 28px 0 60px; }
.account-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 14px; margin-bottom: 24px; }
.account-nav form { margin: 0; }
.account-nav a { font-weight: 750; }
.account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.account-card { padding: 20px; background: #171717; border: 1px solid #343434; border-radius: 12px; }
.account-card h3 { margin-top: 0; }

.portfolio-search-label { display: block; margin-top: 20px; font-weight: 700; }
#portfolio-search { max-width: 420px; margin-top: 6px; }
.portfolio-table { width: 100%; min-width: 630px; }
.portfolio-table td, .portfolio-table th { text-align: left; }
.portfolio-table td:first-child small { color: var(--muted); }
.portfolio-table td:nth-child(2) { font-weight: 700; }
.portfolio-row[hidden] { display: none; }


.estimate-items-wrap { width: 100%; margin-top: 15px; }
.estimate-items-table { width: 100%; min-width: 0; table-layout: fixed; }
.estimate-items-table th:nth-child(1) { width: 38%; }
.estimate-items-table th:nth-child(2) { width: 12%; }
.estimate-items-table th:nth-child(3) { width: 15%; }
.estimate-items-table th:nth-child(4) { width: 15%; }
.estimate-items-table th:nth-child(5) { width: 20%; }
.estimate-items-table td { padding: 7px 5px; }
.estimate-items-table td input, .estimate-items-table td select,
.estimate-items-table td:first-child input { width: 100%; min-width: 0; }

@media (max-width: 720px) {
    .estimate-items-table, .estimate-items-table tbody { display: block; }
    .estimate-items-table thead { display: none; }
    .estimate-items-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); }
    .estimate-items-table td { display: block; padding: 0; border: 0; }
    .estimate-items-table td:first-child { grid-column: 1 / -1; }
    .estimate-items-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
}
.account-dashboard section { margin-top: 34px; }

/* Shared job progress workspace */
.progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.progress-heading h2, .progress-heading p { margin: 0; }
.progress-heading > strong { font-size: 1.6rem; }
.progress-track { height: 14px; margin: 16px 0 24px; overflow: hidden; background: #3b3b3b; border-radius: 999px; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg,#b51018,#ef3940); border-radius: inherit; }
.job-timeline article { margin-top: 18px; padding: 16px; background: #151515; border-left: 4px solid #555; border-radius: 4px; }
.job-timeline article:first-child { border-left-color: var(--red); }
.job-timeline article > p { margin: 0 0 10px; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 14px; }
.photo-grid figure { margin: 0; padding: 10px; background: #111; border: 1px solid #3c3c3c; border-radius: 7px; }
.photo-grid img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 4px; }
.photo-grid figcaption { padding-top: 8px; color: var(--muted); font-size: .85rem; }
.final-photo-check { margin-top: 22px; padding: 14px; background: #42171a; border-radius: 5px; }
.invoice-card dl { margin-left: 0; }
.task-summary a { display: block; color: inherit; text-decoration: none; }
.task-glance { margin: 22px 0; padding: 18px; background: #171717; border: 1px solid #343434; border-radius: 8px; }
.task-glance h2 { margin: 0; }
.task-glance ul { margin-bottom: 0; padding-left: 22px; }
.task-glance li + li { margin-top: 10px; }
.task-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.task-filter .pill { color: #fff; text-decoration: none; border: 1px solid #4d4d4d; }
.task-list { display: grid; gap: 12px; }
.task-item { display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 20px; padding: 17px; background: #151515; border-left: 5px solid #555; border-radius: 5px; }
.task-item.priority-high { border-left-color: #e28b24; }
.task-item.priority-urgent { border-left-color: #ef3940; }
.task-copy p { margin-bottom: 8px; }
.task-actions form { margin: 0; padding: 0; background: none; border: 0; }
.task-actions select { margin: 0; }
.task-actions button { margin-top: 8px; padding: 9px; }
.task-actions > a { display: inline-block; margin-top: 10px; }
@media(max-width:600px){.task-item{grid-template-columns:1fr}}

/* Shared clickable WCI brand in page headers. */
.wci-brand-link { display: inline-flex; align-items: center; margin: 0 0 12px; padding: 5px 0; width: fit-content; max-width: 100%; text-decoration: none; }
.wci-brand-link img { display: block; width: 132px; max-width: 100%; height: auto; }
.wci-brand-link:focus-visible, .shop-brand:focus-visible, .portal-brand:focus-visible { outline: 3px solid #ff7379; outline-offset: 4px; border-radius: 3px; }
