:root{--p2-red:#e2211c;--p2-ink:#111;--p2-muted:#6c6c72;--p2-line:#e6e6e8;--p2-bg:#f5f5f7}
.builder-page{background:var(--p2-bg);min-height:100vh}.builder-hero{background:#111;color:#fff;padding:72px 0 52px;text-align:center}.builder-hero h1{font-size:clamp(42px,7vw,76px);margin:.15em 0}.builder-hero p{max-width:700px;margin:auto;color:#c8c8ce;font-size:18px}.builder-shell{max-width:980px;padding-top:38px;padding-bottom:80px}.progress-wrap{margin-bottom:25px}.progress-meta{display:flex;justify-content:space-between;font-weight:800;font-size:13px}.progress-track{height:8px;background:#ddd;border-radius:20px;margin-top:9px;overflow:hidden}.progress-bar{height:100%;background:var(--p2-red);width:14%;transition:.25s}.builder-shell form,.builder-success{background:#fff;border-radius:24px;padding:clamp(24px,5vw,52px);box-shadow:0 16px 50px rgba(0,0,0,.08)}.builder-step{display:none}.builder-step.active{display:block}.builder-step h2{font-size:clamp(28px,4vw,44px);margin:0 0 8px}.step-help{color:var(--p2-muted);margin-bottom:28px}.choice-grid,.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.choice-card,.check-card{border:2px solid var(--p2-line);border-radius:18px;padding:22px;cursor:pointer;display:flex;gap:12px;align-items:center;transition:.2s}.choice-card{flex-direction:column;text-align:center}.choice-card span{font-size:32px}.choice-card input,.menu-choice input,.check-card input{accent-color:var(--p2-red)}.choice-card:has(input:checked),.menu-choice:has(input:checked),.check-card:has(input:checked){border-color:var(--p2-red);box-shadow:0 0 0 3px rgba(226,33,28,.1)}.guest-control{display:flex;justify-content:center;align-items:center;gap:20px;margin:35px 0}.guest-control button{width:54px;height:54px;border:0;border-radius:50%;font-size:28px;cursor:pointer}.guest-control input{width:160px;text-align:center;font-size:48px;font-weight:900;border:0;border-bottom:3px solid var(--p2-red)}.quick-counts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.quick-counts button{border:1px solid var(--p2-line);background:#fff;padding:10px 18px;border-radius:999px;cursor:pointer}.menu-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.menu-choice{display:grid;grid-template-columns:140px 1fr;align-items:center;border:2px solid var(--p2-line);border-radius:18px;overflow:hidden;cursor:pointer}.menu-choice img{width:140px;height:110px;object-fit:cover}.menu-choice input{position:absolute;opacity:0}.menu-choice span{padding:16px;display:flex;flex-direction:column}.menu-choice small{color:var(--p2-muted);margin-top:6px}.check-card{align-items:flex-start}.check-card span{display:flex;flex-direction:column}.check-card small{color:var(--p2-muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-grid label{font-weight:800;font-size:14px}.form-grid input,.form-grid textarea,.form-grid select{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #ccc;border-radius:10px;font:inherit}.form-grid .wide{grid-column:1/-1}.optin{display:flex!important;gap:10px;align-items:flex-start}.optin input{width:auto;margin-top:2px}.builder-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px}.btn.secondary{background:#fff!important;color:#111!important;border:1px solid #bbb!important}.review-card{border:1px solid var(--p2-line);border-radius:18px;overflow:hidden}.review-row{display:flex;justify-content:space-between;gap:30px;padding:15px 18px;border-bottom:1px solid var(--p2-line)}.review-row:last-child{border:0}.review-row span{color:var(--p2-muted)}.review-total{font-size:22px;font-weight:900;background:#fafafa}.estimate-note,.production-note{font-size:13px;color:var(--p2-muted);margin-top:16px}.builder-success{text-align:center}.success-icon{margin:auto;width:68px;height:68px;background:#eaf8ed;color:#168a39;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:900}.builder-success h2{font-size:40px}.builder-success .actions{justify-content:center}
.dashboard-body{background:var(--p2-bg);margin:0}.dashboard-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:#111}.login-card{width:min(460px,100%);background:#fff;border-radius:24px;padding:42px;text-align:center}.login-card img{width:120px;height:auto}.login-card h1{font-size:36px}.login-card label{text-align:left;display:block;font-weight:800;margin:25px 0}.login-card input{display:block;width:100%;padding:15px;margin-top:8px;border:1px solid #bbb;border-radius:10px}.login-card small{display:block;margin-top:18px;color:var(--p2-muted)}#dashboardApp{min-height:100vh}.dashboard-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#111;color:#fff;padding:25px 18px;display:flex;flex-direction:column}.dash-logo img{width:110px}.dashboard-sidebar nav{margin-top:38px;display:grid;gap:8px}.dash-nav{background:transparent;color:#aaa;border:0;text-align:left;padding:13px 15px;border-radius:10px;font-weight:800;cursor:pointer}.dash-nav.active,.dash-nav:hover{background:#28282b;color:#fff}.back-site{margin-top:auto;color:#ccc}.dashboard-main{margin-left:240px;padding:34px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.dashboard-header h1{margin:3px 0 0;font-size:38px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.stat-grid article,.dashboard-card{background:#fff;border:1px solid #e8e8e8;border-radius:18px;padding:22px}.stat-grid span,.stat-grid small{display:block;color:var(--p2-muted)}.stat-grid strong{display:block;font-size:34px;margin:8px 0}.dashboard-card{margin-bottom:20px}.card-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.card-heading h2{margin:0}.card-heading p{margin:4px 0;color:var(--p2-muted)}.text-button{border:0;background:none;color:var(--p2-red);font-weight:800;cursor:pointer}.dash-panel{display:none}.dash-panel.active{display:block}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--p2-line);font-size:14px}.status-select{padding:7px;border-radius:8px}.empty-state{text-align:center;padding:45px;color:var(--p2-muted)}.filter-row{display:flex;gap:10px}.filter-row input,.filter-row select{padding:10px;border:1px solid #ccc;border-radius:9px}.marketing-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.audience-number{font-size:64px}.automation-item{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--p2-line)}.automation-item>span{width:32px;height:32px;background:#f0f0f0;border-radius:50%;display:grid;place-items:center;font-weight:900}.automation-item small{display:block;color:var(--p2-muted)}.automation-item b{font-size:12px;color:#a36b00;background:#fff4d5;padding:5px 8px;border-radius:99px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:20px}.modal-card{position:relative;background:#fff;border-radius:20px;padding:34px;width:min(700px,100%)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}
@media(max-width:900px){.choice-grid,.addon-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-sidebar{position:static;width:auto;flex-direction:row;align-items:center;gap:15px}.dashboard-sidebar nav{display:flex;margin:0;overflow:auto}.back-site{margin-left:auto}.dashboard-main{margin-left:0}.marketing-grid{grid-template-columns:1fr}}
@media(max-width:640px){.choice-grid,.addon-grid,.menu-choice-grid,.form-grid{grid-template-columns:1fr}.menu-choice{grid-template-columns:110px 1fr}.menu-choice img{width:110px}.builder-shell form,.builder-success{border-radius:18px;padding:22px}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-main{padding:18px}.dashboard-header,.card-heading{align-items:flex-start;flex-direction:column}.dashboard-sidebar{overflow:auto}.dash-logo{display:none}.data-table{min-width:720px}.dashboard-card{overflow:auto}.filter-row{width:100%;flex-direction:column}}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:20px}.lead-link{border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer;color:inherit}.lead-link:hover{text-decoration:underline}.upcoming-item{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--p2-line)}.date-badge{background:#111;color:#fff;border-radius:12px;padding:10px;text-align:center;font-weight:900}.date-badge small{display:block;color:#bbb}.calendar-group{margin-bottom:28px}.calendar-group h3{border-bottom:2px solid #111;padding-bottom:8px}.calendar-event{display:grid;grid-template-columns:110px 1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--p2-line)}.calendar-event small{display:block;color:var(--p2-muted)}.detail-card{width:min(860px,100%);max-height:90vh;overflow:auto}.detail-head{display:flex;justify-content:space-between;gap:24px;padding-right:30px}.detail-head h2{margin:.15em 0}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.detail-meta article{background:var(--p2-bg);padding:16px;border-radius:14px}.detail-meta span{display:block;color:var(--p2-muted);font-size:12px;text-transform:uppercase;font-weight:800}.detail-meta strong{display:block;margin-top:6px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.detail-actions a{text-decoration:none}.notes-box textarea{width:100%;min-height:110px;padding:12px;border:1px solid #ccc;border-radius:10px}.notes-box button{margin-top:10px}.special-form label{display:block;font-weight:800;margin-bottom:14px}.special-form input,.special-form textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #ccc;border-radius:10px;font:inherit}.import-card{display:grid;grid-template-columns:1.4fr .8fr;gap:30px}.import-card input[type=file]{display:block;margin:22px 0}.import-help{background:var(--p2-bg);padding:22px;border-radius:16px}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eee;font-size:12px;font-weight:900}.danger-button{border:1px solid #c22;color:#a00;background:#fff;padding:10px 14px;border-radius:9px;font-weight:800;cursor:pointer}@media(max-width:900px){.dashboard-grid,.import-card{grid-template-columns:1fr}.detail-meta{grid-template-columns:1fr 1fr}}@media(max-width:640px){.detail-meta{grid-template-columns:1fr}.calendar-event{grid-template-columns:80px 1fr}.calendar-event>strong{grid-column:2}.upcoming-item{grid-template-columns:64px 1fr}.upcoming-item>strong{grid-column:2}}

/* Critical compatibility fix: HTML hidden attribute must override modal/grid display rules. */
[hidden]{display:none !important;}
.modal[hidden],#dashboardApp[hidden],#dashboardLogin[hidden]{display:none !important;}
.modal{z-index:1000;}

/* Version 0.4 CRM additions */
.stat-grid{grid-template-columns:repeat(5,1fr)}
.mini-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.mini-tag{display:inline-block;background:#f2f2f4;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;color:#555}.crm-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--p2-bg);padding:16px;border-radius:14px}.crm-edit-grid label{font-weight:800;font-size:13px}.crm-edit-grid input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccc;border-radius:9px}.crm-edit-grid .optin{grid-column:1/-1}.overdue{color:#b00020}#followupFilter{padding:10px;border:1px solid #ccc;border-radius:9px}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.stat-grid{grid-template-columns:1fr 1fr}.crm-edit-grid{grid-template-columns:1fr}}
