:root{--bg:#f2eee7;--panel:#fbf8f2;--ink:#1c1c19;--muted:#77736b;--line:#ded7cb;--dark:#191a16;--accent:#344034;--soft:#ece5da;--good:#dcebdd;--warn:#fff0d3;--bad:#f4dfda}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{background:var(--dark);color:#f7f2e9;min-height:100vh;height:100vh;position:sticky;top:0;padding:24px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:2px 6px 28px}.mark{width:48px;height:48px;border-radius:50%;background:var(--dark);color:white;display:grid;place-items:center;font-weight:700;letter-spacing:.08em}.brand .mark{width:42px;height:42px;font-size:12px;background:#f5efe6;color:var(--dark)}.brand strong,.brand span{display:block}.brand span{color:#aaa99f;font-size:12px}
nav{display:grid;gap:4px}nav a{text-decoration:none;color:#c7c6be;padding:11px 13px;border-radius:10px;font-size:14px}nav a:hover{background:#2b2d26;color:white}.sidebar-footer{margin-top:auto;border-top:1px solid #35372f;padding:16px 6px 0}.sidebar-footer small{display:block;color:#aaa99f;word-break:break-all;margin-bottom:10px}.sidebar-footer button{border:0;background:transparent;color:white;padding:0}
.main{padding:30px 34px 60px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}header .eyebrow{margin:0 0 5px}header h1{font-size:30px;margin:0}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--muted);font-weight:800;margin:20px 0 8px}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e6ded0,#f7f2ea)}.auth-shell .public-main{width:min(460px,100%)}.auth-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px}.auth-card{padding:34px;box-shadow:0 30px 90px rgba(40,33,24,.12)}h1{font-size:34px;margin:0 0 10px}h2{margin:0 0 14px;font-size:17px}.muted{color:var(--muted)}
.form{display:grid;gap:10px}label{font-size:12px;font-weight:750;margin-top:6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:white;color:var(--ink)}textarea{resize:vertical}.primary,.button{border:0;border-radius:11px;padding:12px 15px;background:var(--accent);color:white;font-weight:700;text-decoration:none;display:inline-block;text-align:center}.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.metrics span,.metrics small{display:block;color:var(--muted);font-size:12px}.metrics strong{display:block;font-size:25px;margin-top:10px}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted);padding:9px;border-bottom:1px solid var(--line)}td{padding:12px 9px;border-bottom:1px solid var(--line);white-space:nowrap}.badge{display:inline-block;background:var(--soft);padding:6px 9px;border-radius:999px;font-size:11px}.badge.paid{background:var(--good)}.badge.overdue{background:var(--bad)}.badge.partially-paid{background:var(--warn)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.actions form{margin:0}.service-row{display:grid;grid-template-columns:1fr 100px 100px;gap:8px;margin-bottom:8px}.filters{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;margin-bottom:16px}
.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details div{border-top:1px solid var(--line);padding-top:10px}.details dt{font-size:11px;color:var(--muted);margin-bottom:4px}.details dd{margin:0}.financial>div,.totals>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.financial .open,.totals .grand{font-size:18px}
.flash{padding:11px 13px;border-radius:10px;background:var(--soft);font-size:13px;margin:10px 0}.flash.success{background:var(--good)}.flash.error{background:var(--bad)}.secret-box{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;margin:16px 0}.secret-box small,.secret-box strong{display:block}.secret-box strong{font-size:18px;letter-spacing:.09em;word-break:break-all;margin-top:6px}.check{display:flex;gap:8px;align-items:flex-start}.check input{width:auto;margin-top:3px}
.public-shell{min-height:100vh;padding:35px 18px}.public-main{max-width:900px;margin:0 auto}.public-card{padding:30px}.accept-box{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.print-doc{max-width:850px}
details{background:var(--soft);padding:12px;border-radius:11px;margin:12px 0;overflow:auto}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;position:relative}nav{grid-template-columns:repeat(2,1fr)}.main{padding:22px 16px}.metrics{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.service-row{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.details{grid-template-columns:1fr}}
@media print{.sidebar,header,.actions{display:none!important}.app-shell{display:block}.main{padding:0}.panel{border:0}.print-doc{max-width:none}}

.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.settings-grid>div{border:1px solid var(--line);border-radius:14px;padding:16px;background:white}.settings-grid p{color:var(--muted);font-size:12px;margin-bottom:0}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}

.inline-form{display:flex;gap:6px;align-items:center}.inline-form select{min-width:120px}.inline-form button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 10px}

.row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.row-actions a{font-weight:700;text-decoration:none}
.link-danger{border:0;background:transparent;padding:0;color:#8b3027;font-weight:700;cursor:pointer}
.danger-button{border:1px solid #d8b1aa;background:#fff5f3;color:#8b3027;border-radius:11px;padding:11px 14px;font-weight:700}

.optional-details{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.35)}
.optional-details summary{cursor:pointer;font-weight:700}
.optional-details-body{margin-top:14px}
.muted-badge{opacity:.72}

.service-row-head{padding:0 2px;margin-top:10px;margin-bottom:4px;color:var(--muted);font-size:.84rem}
.service-row-head strong{font-weight:700}

.estimate-payment-summary{margin-top:22px;border-top:1px solid var(--line);padding-top:10px}
.estimate-payment-summary>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.estimate-payment-summary span{color:var(--muted)}

.terms-links{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}
.legal-check{align-items:flex-start;gap:10px;padding:10px 0}
.legal-check input{margin-top:3px}
.legal-doc{max-width:900px;margin:0 auto}
.legal-doc h2{margin-top:28px}
.legal-doc p{line-height:1.65}
.legal-doc table{margin-top:10px}
.legal-ack{margin-top:30px;padding:18px;border:1px solid var(--line);border-radius:14px}
.acceptance-record{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.45)}
.acceptance-record.compact{margin-top:16px}

.security-deposit-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);margin-top:16px;padding-top:16px;flex-wrap:wrap}

@media print{
  .sidebar,.topbar,.no-print,.actions,.button,button,form{display:none!important}
  body{background:#fff!important}
  main,.content,.panel,.print-doc{margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}
}



/* v2.11 Casa Dawn fixed Estimate / Invoice design system */
:root{--doc-blue:#2f4397;--doc-blue-dark:#263b8f;--doc-cream:#faf7f1;--doc-line:#9aa8cf}
.document-actions{max-width:980px;margin:0 auto 14px;display:flex;justify-content:flex-end;gap:10px}
.business-document{width:min(980px,100%);margin:0 auto;background:var(--doc-cream);color:var(--doc-blue-dark);padding:42px 48px 28px;border:1px solid #e4dccf;border-radius:4px;box-shadow:0 12px 36px rgba(39,46,66,.08);font-family:Arial,Helvetica,sans-serif}
.business-document *{box-sizing:border-box}.business-document-header{display:grid;grid-template-columns:1fr 230px;gap:36px;align-items:start;min-height:205px}
.business-brand{padding-top:2px}.document-wordmark{display:block;width:276px;max-width:100%;height:auto}.document-company{font-size:13px;line-height:1.55;color:var(--doc-blue-dark)}.document-company>strong{font-size:14px;letter-spacing:.04em}.document-company hr{border:0;border-top:1px solid var(--doc-line);margin:13px 0}.document-company-spacer{height:10px}
.business-document-title{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:68px!important;line-height:1!important;letter-spacing:-.035em;margin:0 0 20px!important;color:var(--doc-blue)!important}.business-rule{height:1.5px;background:var(--doc-blue);width:100%}.business-rule.light{height:1px;background:var(--doc-line)}
.business-meta{display:grid;margin:0}.business-meta-four{grid-template-columns:repeat(4,1fr)}.business-meta>div{padding:24px 20px 22px 0;position:relative}.business-meta>div:not(:last-child):after{content:"";position:absolute;right:17px;top:18px;bottom:18px;width:1px;background:var(--doc-line)}.business-meta span,.business-party>span,.business-event-data span,.business-notes h2{display:block;font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--doc-blue);margin-bottom:8px}.business-meta strong{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:#31467f}
.business-party-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 0 20px}.business-party{padding:22px 30px 18px 0;min-height:145px;border-right:1px solid var(--doc-line)}.business-party>strong{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;display:block;padding-bottom:8px;border-bottom:1px solid var(--doc-line);max-width:310px}.business-party>div{font-size:12px;line-height:1.5;margin-top:6px}.business-event-data{padding:19px 28px 14px 60px}.business-event-data>div{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:6px 0;border-bottom:1px solid rgba(154,168,207,.65)}.business-event-data>div:last-child{border-bottom:0}.business-event-data span{margin:0}.business-event-data strong{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400;color:#31467f}
.business-table-wrap{margin-top:4px}.business-table{width:100%;border-collapse:collapse;border:1px solid var(--doc-line);font-family:Georgia,'Times New Roman',serif}.business-table thead th{background:var(--doc-blue);color:#fff;padding:10px 12px;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.07em;font-weight:700;text-align:center}.business-table thead th:first-child{text-align:left}.business-table thead small{font-size:9px;font-weight:400}.business-table td{padding:10px 12px;border-right:1px solid rgba(154,168,207,.55);border-bottom:1px solid rgba(154,168,207,.55);font-size:14px}.business-table td:first-child{text-align:left}.business-table td:not(:first-child){text-align:right}.business-table td:last-child{border-right:0}
.estimate-bottom-grid,.invoice-bottom-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:58px;margin:18px 0 15px}.business-highlight-box{border:1.3px solid var(--doc-blue);padding:8px 16px}.business-highlight-box>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--doc-line)}.business-highlight-box>div:last-child{border-bottom:0}.business-highlight-box span,.business-totals span{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--doc-blue)}.business-highlight-box strong,.business-totals strong{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:400}.business-highlight-box .big strong{font-size:26px}.business-totals{padding:4px 0}.business-totals>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.business-totals .grand{border-top:1.4px solid var(--doc-blue);margin-top:3px;padding-top:10px}.business-totals .grand strong{font-size:26px;color:var(--doc-blue)}
.business-notes{margin-top:10px}.business-notes h2{margin:0 0 7px}.business-notes ul{margin:0;padding-left:18px;font-family:Georgia,'Times New Roman',serif;font-size:13px;line-height:1.55}.business-acceptance{margin-top:14px;border-top:1px solid var(--doc-line);padding-top:12px;display:grid;gap:3px;font-size:11px}.business-acceptance strong{letter-spacing:.08em;color:var(--doc-blue)}.business-document-footer{border-top:1px solid var(--doc-line);margin-top:18px;padding-top:13px;display:flex;flex-direction:column;color:var(--doc-blue)}.business-document-footer strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400}.business-document-footer span{font-size:11px;margin-top:5px}
.invoice-table th:first-child{width:60%}.invoice-table td[rowspan]{vertical-align:top;padding-top:18px}.invoice-table td:nth-child(2){font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;color:var(--doc-blue);text-align:left}.invoice-table .invoice-total-row td{font-weight:700;background:rgba(255,255,255,.22);font-size:17px}.invoice-table .invoice-total-row td:last-child{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400}
.invoice-bottom-grid{grid-template-columns:.9fr 1.1fr;gap:70px;margin-top:22px}.invoice-status-box{align-self:start}.invoice-status-box .big strong{font-family:Georgia,'Times New Roman',serif;font-size:27px}.payment-instructions h2{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;color:var(--doc-blue);margin:0}.short-rule{width:54px;height:2px;background:var(--doc-blue);margin:8px 0 15px}.payment-instructions p{font-size:12px;line-height:1.5;margin:0 0 12px}.payment-instructions em{display:block;font-family:Georgia,'Times New Roman',serif;font-size:12px;color:var(--doc-blue);margin-top:15px}.invoice-admin-panel{max-width:980px;margin:18px auto}.public-document-wrap{overflow:auto;padding:12px}.acceptance-panel,.payment-panel{max-width:980px;margin:18px auto}.acceptance-panel .accept-box{max-width:760px;margin:0 auto}
@media(max-width:800px){.business-document{padding:28px 22px}.business-document-header{grid-template-columns:1fr;min-height:0}.document-company{max-width:320px}.business-document-title{font-size:52px!important;margin-top:30px!important}.business-meta-four{grid-template-columns:1fr 1fr}.business-meta>div:nth-child(2):after{display:none}.business-party-grid,.estimate-bottom-grid,.invoice-bottom-grid{grid-template-columns:1fr;gap:22px}.business-party{border-right:0;border-bottom:1px solid var(--doc-line)}.business-event-data{padding-left:0}.document-wordmark{width:235px}}
@media(max-width:520px){.business-meta-four{grid-template-columns:1fr}.business-meta>div:after{display:none!important}.business-event-data>div{grid-template-columns:120px 1fr}.business-table{min-width:720px}.business-document-title{font-size:46px!important}}
@media print{body{background:#fff!important}.sidebar,header,.document-actions,.no-print,.acceptance-panel,.payment-panel{display:none!important}.main,.public-main{padding:0!important;margin:0!important}.business-document{width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:10mm 11mm 8mm!important;background:var(--doc-cream)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.document-wordmark{width:63mm}.business-document-header{min-height:50mm}.business-document-title{font-size:18mm!important}.business-table thead th{background:var(--doc-blue)!important;color:white!important}}

.completion-ready{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}
.completion-ready form{margin-top:12px}
.settlement-summary{margin:14px 0;border-top:1px solid var(--line)}
.settlement-summary>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}

.settlement-document .settlement-title{font-size:46px;line-height:.98}
.settlement-amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.settlement-amount-grid>div{border:1px solid var(--line);border-radius:14px;padding:16px}
.settlement-amount-grid span{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:8px}
.settlement-amount-grid strong{font-size:24px}
@media(max-width:700px){.settlement-amount-grid{grid-template-columns:1fr}}

.email-preview{white-space:normal;line-height:1.7;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);overflow-wrap:anywhere}

.outbox-filter{display:grid;grid-template-columns:180px 200px minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin:18px 0}
.outbox-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.outbox-actions form{margin:0}
@media(max-width:900px){.outbox-filter{grid-template-columns:1fr 1fr}.outbox-filter input[name="q"]{grid-column:1/-1}}
@media(max-width:600px){.outbox-filter{grid-template-columns:1fr}}

.email-html-preview{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;margin-bottom:14px}
.email-html-preview iframe{display:block;width:100%;height:680px;border:0;background:white}


/* v2.26 Customers / CRM */
.crm-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.crm-filter{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;gap:12px;align-items:end;margin:20px 0 14px}
.crm-filter label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.crm-filter input,.crm-filter select{width:100%}
.crm-filter-actions{display:flex;gap:8px;align-items:center}
.crm-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.crm-badge{white-space:nowrap}
.customer-hero .panel-head{align-items:flex-start}
.customer-contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.customer-contact-grid>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.35);min-width:0}
.customer-contact-grid span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.customer-contact-grid strong{display:block;overflow-wrap:anywhere}
.crm-quick-actions{display:flex;flex-wrap:wrap;gap:10px}
.customer-notes{line-height:1.7;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.35);min-height:62px}
@media(max-width:1000px){.crm-filter{grid-template-columns:1fr 1fr}.crm-filter>div:first-of-type{grid-column:1/-1}.customer-contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.crm-metrics{grid-template-columns:1fr 1fr}.crm-filter{grid-template-columns:1fr}.crm-filter>div:first-of-type{grid-column:auto}.customer-contact-grid{grid-template-columns:1fr}}


/* v2.27 Memberships */
.membership-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.membership-filter{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(170px,.7fr) minmax(190px,.8fr) auto;gap:12px;align-items:end;margin:20px 0 14px}
.membership-filter label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.membership-filter input,.membership-filter select{width:100%}
.membership-filter-actions{display:flex;gap:8px}
.membership-override{margin-left:6px}
.membership-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.membership-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.membership-benefits>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.35)}
.membership-benefits span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.membership-benefits strong{font-size:18px}
.membership-plan-description{line-height:1.65;margin-top:18px}
.membership-override-box{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.35)}
.membership-override-box p{margin:.4rem 0 0}
.membership-safe-note,.membership-payment-note{border-left:4px solid var(--green,#344034)}
@media(max-width:1000px){.membership-filter{grid-template-columns:1fr 1fr}.membership-filter>div:first-of-type{grid-column:1/-1}.membership-detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.membership-metrics{grid-template-columns:1fr 1fr}.membership-filter{grid-template-columns:1fr}.membership-filter>div:first-of-type{grid-column:auto}.membership-benefits{grid-template-columns:1fr}}


/* v2.28 Activities */
.activity-metrics,.activity-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.activity-filter{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:12px;align-items:end;margin:20px 0 14px}
.activity-filter label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.activity-filter input,.activity-filter select{width:100%}
.activity-filter-actions,.activity-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.activity-actions form{margin:0}.activity-notes{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.35)}
.activity-notes p{margin:.5rem 0 0;line-height:1.6}
@media(max-width:1050px){.activity-filter{grid-template-columns:1fr 1fr}.activity-filter>div:first-of-type{grid-column:1/-1}}
@media(max-width:650px){.activity-metrics,.activity-detail-metrics{grid-template-columns:1fr 1fr}.activity-filter{grid-template-columns:1fr}.activity-filter>div:first-of-type{grid-column:auto}}


/* v2.29 Events / Eventbrite read-only */
.event-metrics,.event-detail-metrics,.ticket-source-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.eventbrite-panel{border-left:4px solid var(--green,#344034)}
.eventbrite-badge{font-weight:700}
.eventbrite-safety{display:flex;flex-direction:column;gap:4px;margin:16px 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.38)}
.eventbrite-safety strong{color:var(--green,#344034)}
.eventbrite-safety span{color:var(--muted)}
.mini-event-finance{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}
@media(max-width:800px){.event-metrics,.event-detail-metrics,.ticket-source-metrics{grid-template-columns:1fr 1fr}.mini-event-finance{grid-template-columns:1fr}}


/* v2.30 Eventbrite webhook sync */
.copy-url{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;margin:8px 0 16px}
.webhook-actions-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}
.webhook-actions-box code{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45)}
.eventbrite-webhook-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){.eventbrite-webhook-metrics{grid-template-columns:1fr 1fr}}


/* v2.31 Event operations */
.door-metrics,.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.door-filter{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.7fr) minmax(170px,.8fr) minmax(160px,.7fr) auto;gap:12px;align-items:end;margin:18px 0}
.door-filter label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 6px}
.door-filter input,.door-filter select{width:100%}.door-filter-actions{display:flex;gap:8px;align-items:center}
.door-safety-note{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.38);margin:16px 0}
.compact-button{padding:8px 11px;white-space:nowrap}
.report-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-split>div{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.35)}
.report-split span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.report-split strong{font-size:22px}
@media(max-width:1000px){.door-filter{grid-template-columns:1fr 1fr}.door-filter>div:first-of-type{grid-column:1/-1}}
@media(max-width:700px){.door-metrics,.report-metrics{grid-template-columns:1fr 1fr}.door-filter{grid-template-columns:1fr}.door-filter>div:first-of-type{grid-column:auto}.report-split{grid-template-columns:1fr}}


/* v2.32 Management Dashboard & Reports */
.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dashboard-intro h2{margin-bottom:4px}
.management-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.management-metrics article,.operational-metrics article{min-height:112px}
.operational-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.reporting-definitions .definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.definition-grid>div{border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(255,255,255,.34)}
.definition-grid strong,.definition-grid span{display:block}.definition-grid span{color:var(--muted);font-size:12px;line-height:1.45;margin-top:5px}
.report-filter{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.report-filter label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:6px}
.report-filter select,.report-filter input{width:100%}
.report-filter-actions{display:flex;gap:8px;align-items:center}
.report-warning{display:flex;flex-direction:column;gap:5px;border-left:4px solid var(--green)}
.report-warning span{color:var(--muted)}
.report-financial-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.report-grid .panel{margin-bottom:0}
.report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.report-kpis>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.32)}
.report-kpis span,.report-kpis small{display:block;color:var(--muted);font-size:12px}
.report-kpis strong{display:block;font-size:22px;margin-top:6px}
.report-grid-tables{margin-bottom:18px}
@media(max-width:1200px){.management-metrics,.report-financial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-intro{align-items:flex-start;flex-direction:column}.report-grid{grid-template-columns:1fr}.report-filter{grid-template-columns:1fr 1fr}.report-filter-actions{grid-column:1/-1}.reporting-definitions .definition-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.management-metrics,.operational-metrics,.report-financial-metrics{grid-template-columns:1fr}.report-filter{grid-template-columns:1fr}.report-filter-actions{grid-column:auto}.reporting-definitions .definition-grid,.report-kpis{grid-template-columns:1fr}}


/* v2.33 Test Data Controls */
.test-badge{background:#fff0c9!important;color:#704b00!important;border-color:#d7b96e!important;font-weight:800}
.test-data-notice{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #d7b96e;border-radius:14px;background:#fff9ea;margin:16px 0}
.test-data-notice span{color:var(--muted)}
.report-test-toggle{margin-top:12px}
.actions form{display:inline-flex;margin:0}


/* v2.34 One-time Clean Start */
.clean-start-danger{border-top:4px solid #9b3129}
.clean-start-warning{padding:16px 18px;border:1px solid #d9aaa5;border-radius:14px;background:#fff1ef;margin:18px 0}
.clean-start-warning strong,.clean-start-warning span,.clean-start-note strong,.clean-start-note span,.clean-start-success strong,.clean-start-success span{display:block}
.clean-start-warning span,.clean-start-note span{margin-top:5px;color:var(--muted);line-height:1.45}
.clean-start-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin:20px 0}
.preserved-grid{display:grid;gap:9px}
.preserved-grid>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.34)}
.preserved-grid strong,.preserved-grid span{display:block}
.preserved-grid span{font-size:12px;color:var(--muted);margin-top:3px}
.clean-start-note{padding:14px 16px;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:rgba(255,255,255,.35)}
.clean-start-backup{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:14px}
.clean-start-form{display:grid;gap:13px;max-width:760px;padding-top:6px}
.clean-start-form>label:not(.check){font-weight:700}
.clean-start-button{width:max-content;padding:13px 18px}
.clean-start-success{padding:16px 18px;border:1px solid #9db49f;border-radius:14px;background:#edf6ee;margin-bottom:18px;color:#29442f}
.clean-start-complete{border-top:4px solid var(--green)}
.clean-start-settings{border-left:4px solid #9b3129}
@media(max-width:900px){.clean-start-grid{grid-template-columns:1fr}}


/* v2.36 Go-Live & Financial Accuracy */
.service-row-five{grid-template-columns:minmax(220px,2fr) minmax(90px,.65fr) minmax(110px,.7fr) minmax(180px,1.1fr) minmax(130px,.8fr)}
.manual-cost-row{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(100px,.55fr)}
.margin-rule{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.36)}
.margin-rule strong,.margin-rule span{display:block}
.margin-rule span{margin-top:4px;color:var(--muted);line-height:1.45}
.health-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.health-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:800}
.health-ok{background:#edf6ee;color:#29442f;border-color:#9db49f}
.health-warning{background:#fff8e7;color:#704b00;border-color:#d7b96e}
.health-error{background:#fff1ef;color:#7a2923;border-color:#d9aaa5}
.health-actions{margin-top:18px}
.health-actions form{display:inline-flex;margin:0}
@media(max-width:1000px){
  .service-row-five,.manual-cost-row{grid-template-columns:1fr 1fr}
  .service-row-five.service-row-head,.manual-cost-row.service-row-head{display:none}
}
@media(max-width:650px){
  .service-row-five,.manual-cost-row{grid-template-columns:1fr}
}


/* v2.36.1 Security Hardening */
.security-action{margin-top:18px}
.security-boundary{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.38)}
.security-boundary strong,.security-boundary span{display:block}
.security-boundary span{margin-top:5px;color:var(--muted);line-height:1.5}
.security-boundary code{word-break:break-word}


/* v2.37 Website Agenda feed */
.website-publish-box,.website-feed-panel{border-color:var(--line)}
.website-publish-box{padding-top:4px}
.website-publish-box h2{margin-bottom:4px}
.website-feed-panel .eventbrite-safety{margin-top:10px}

/* v2.37.1 security migration lock */
.security-readonly-panel .security-boundary{margin-top:10px}
