:root{--bg: #f6f3f3;--surface: rgba(255, 255, 255, .78);--surface-strong: rgba(255, 255, 255, .95);--surface-soft: rgba(252, 246, 246, .82);--border: rgba(130, 97, 97, .2);--text: #2e2323;--muted: #6f5c5c;--accent: #9d2138;--accent-soft: #b21f3f;--red: #c43f53;--green: #2f8b58;--radius-xl: 24px;--radius-lg: 18px;--radius-md: 12px;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--shadow-soft: 0 8px 30px rgba(111, 72, 72, .08);--shadow-strong: 0 18px 45px rgba(111, 72, 72, .14)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#e6e6e6;color:var(--text);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;line-height:1.45}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}.app-shell{max-width:1500px;margin:0 auto;padding:1.2rem 1rem 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:var(--accent)}.top-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);padding:var(--space-6);margin-bottom:var(--space-5)}.top-header h1{margin-top:.35rem;font-size:clamp(1.6rem,2.3vw,2.1rem)}.top-header p{margin-top:.55rem;color:var(--muted);max-width:60ch}.builder-layout{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(360px,1fr);gap:var(--space-5);align-items:start}.builder-column{display:grid;gap:var(--space-4)}.preview-column{position:sticky;top:1rem;align-self:start}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}.section-card.section-incomplete,.section-card.section-review{border-top:4px solid var(--red)}.section-card.section-ready{border-top:4px solid var(--green)}.section-header{display:flex;align-items:center;gap:.75rem;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.section-dot{width:.75rem;height:.75rem;border-radius:999px;flex-shrink:0}.dot-incomplete,.dot-review{background:var(--red)}.dot-ready{background:var(--green)}.section-heading-copy{min-width:0;flex:1}.section-heading-copy h2{font-size:1.05rem}.section-heading-copy p{color:var(--muted);font-size:.87rem;margin-top:.2rem}.section-header-actions{display:inline-flex;align-items:center;gap:.55rem}.status-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;padding:.2rem .55rem;border-radius:999px}.status-incomplete,.status-review{color:#7b1524;background:#c43f532e}.status-ready{color:#165132;background:#2f8b582e}.fold-toggle{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:.72rem;font-weight:700;padding:.2rem .58rem;cursor:pointer}.fold-toggle:hover{border-color:var(--accent);color:var(--accent)}.section-body{padding:var(--space-5)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid label{display:grid;gap:.45rem;color:var(--muted);font-size:.88rem;font-weight:600}.checkbox-inline{display:inline-flex!important;align-items:center;gap:.5rem}.checkbox-inline input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.cc-inline-row{display:flex;align-items:center;gap:.65rem}.cc-field-inline{flex:1;min-width:180px}.delivery-split-row{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:.65rem;align-items:stretch}.delivery-select-label,.cc-inline-label{display:grid;gap:.35rem;color:var(--muted);font-size:.88rem;font-weight:600}.full-width{grid-column:1 / -1}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text);padding:.72rem .82rem;outline:none}input[type=range]{accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{background:var(--accent)}input[type=range]::-moz-range-thumb{background:var(--accent);border:none}input:focus,textarea:focus,select:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px #b21f3f2e}.delivery-email-select,.sticky-recipient-select{width:100%;min-width:0}.split-email-field{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.split-email-top{padding:.35rem .7rem;border-bottom:1px solid var(--border);background:#fbf7f7;font-size:.8rem;font-weight:700;color:var(--text)}.split-email-bottom{width:100%;min-width:0;border:none;border-radius:0;margin:0;padding:.56rem .7rem;color:#5f4e4e;font-size:.86rem;font-weight:500}.split-email-bottom:focus{box-shadow:inset 0 0 0 1px #b21f3f38}.split-email-bottom[readonly]{background:#fff;color:#5f4e4e;cursor:default}.cc-inline-label{margin-top:0}.split-email-field .split-email-bottom::-webkit-input-placeholder{color:#8b7777}.split-email-field .split-email-bottom::placeholder{color:#8b7777}.split-email-field{margin-top:.12rem}.cc-inline-row+.split-email-field{margin-top:.45rem}.split-email-top,.split-email-bottom{line-height:1.25}.split-email-field{box-shadow:inset 0 0 0 1px #82616105}.split-email-field .split-email-bottom{outline:none}.split-email-field+.split-email-field{margin-top:.3rem}.split-email-field .split-email-bottom[type=email]{overflow-x:auto;white-space:nowrap}textarea{resize:vertical;min-height:70px}.weekend-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.weekend-controls label{gap:.62rem}.inline-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-4)}.calendar-nav-actions{justify-content:center}.inline-actions button,.secondary-button,.pin-card button{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:var(--radius-md);cursor:pointer;padding:.6rem .82rem;font-weight:600}.inline-actions button:hover,.secondary-button:hover,.pin-card button:hover{border-color:var(--accent)}.meta-pill-wrap{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:.55rem}.meta-pill{border:1px solid var(--border);border-radius:999px;padding:.35rem .7rem;background:#fff;font-size:.83rem;color:var(--muted)}.purpose-inline{display:flex;justify-content:center;margin-bottom:.8rem}.purpose-inline label{display:grid;gap:.45rem;color:var(--muted);font-size:.88rem;font-weight:600;min-width:min(440px,100%);text-align:center}.mini-calendar-wrap{margin-top:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:.75rem}.mini-calendar-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.6rem}.mini-calendar-head strong{font-size:.9rem}.mini-calendar-head span{color:var(--muted);font-size:.75rem}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.weekday-cell{text-align:center;color:var(--muted);font-size:.7rem;font-weight:700;border:none;border-radius:0;padding:.14rem .08rem .22rem;letter-spacing:.01em}.weekday-sunday{color:var(--accent);font-weight:800}.weekday-saturday{font-weight:750}.day-cell{border:1px solid #e3d8d8;border-radius:8px;background:#fff;min-height:1.95rem;display:grid;place-items:center;font-size:.78rem;color:var(--text);cursor:pointer}.day-cell.blank{cursor:default}.day-cell.weekend-range{background:#9d213814;color:var(--accent)}.day-cell.sunday-day{background:#9d213814;font-weight:700;color:#7f202f}.day-cell.saturday-day{background:#9d213814;font-weight:650}.weekday-cell.weekend-column,.day-cell.weekend-column{background:transparent}.day-cell.weekend-range.sunday-day,.day-cell.weekend-range.saturday-day{background:var(--accent);color:#fff}.day-cell.selected-day{background:var(--accent);color:#fff;font-weight:700}.weekend-override-grid{margin-top:.75rem}.date-override-fold{margin-top:.7rem}.date-override-fold summary{cursor:pointer;color:var(--muted);font-weight:700;font-size:.84rem}.date-override-fold[open] summary{margin-bottom:.45rem}.item-list{display:grid;gap:var(--space-4);margin-bottom:var(--space-4)}.item-row-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:#fff}.item-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.item-row-head h3{font-size:.95rem}.item-row-head p{color:var(--muted);font-size:.85rem;margin:0;min-width:0;overflow-wrap:anywhere}.item-row-head button{border:none;background:transparent;color:var(--accent);font-weight:700;cursor:pointer}.item-edit-fold{margin-top:.55rem}.item-edit-fold summary{cursor:pointer;color:var(--accent);font-weight:700;font-size:.84rem}.item-edit-fold[open] summary{margin-bottom:.65rem}.item-edit-fold .form-grid>*{min-width:0}.item-edit-fold input,.item-edit-fold select,.item-edit-fold textarea{width:100%;max-width:100%;min-width:0}.amount-field strong{color:var(--accent)}.totals-preview{margin-top:var(--space-4);display:grid;gap:.65rem}.totals-preview div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.total-cost-row span{color:var(--accent);font-size:1.05rem;font-weight:700}.total-cost-row strong{color:var(--accent);font-size:1.45rem;font-weight:800}.inline-error{margin-top:.6rem;color:#8c2736;font-size:.88rem}.advanced-actions{margin-top:.7rem}.advanced-actions summary{cursor:pointer;color:var(--muted);font-weight:700;font-size:.83rem}.advanced-actions[open] summary{margin-bottom:.45rem}.progress-final{display:grid;gap:.65rem}.progress-legend{display:flex;flex-wrap:wrap;gap:.45rem}.progress-pill{border:1px solid transparent;background:transparent;font-size:.73rem;font-weight:700;padding:.2rem .45rem;border-radius:999px;cursor:pointer}.progress-pill.ready{color:#165132;background:#2f8b582e}.progress-pill.incomplete{color:#7b1524;background:#c43f532e}.progress-pill:hover{filter:brightness(.96)}.invoice-sheet{background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-strong);overflow:hidden}.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:1.4rem 1.5rem;background:linear-gradient(145deg,#fff8f8,#fff);border-bottom:1px solid #ebdede}.invoice-brand{font-size:clamp(1.45rem,2.2vw,2rem);color:var(--accent);font-weight:800;letter-spacing:.02em}.invoice-kind{margin-top:.22rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.invoice-weekend{margin-top:.45rem;color:var(--muted);font-weight:600}.invoice-meta{text-align:right}.invoice-meta p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.invoice-meta strong{display:block;margin-top:.2rem;font-size:1.04rem}.invoice-meta small{display:block;margin-top:.45rem;color:var(--muted)}.invoice-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);padding:1.2rem 1.5rem .9rem}.invoice-address-grid h3{margin-top:.25rem;margin-bottom:.35rem;font-size:1rem}.invoice-address-grid p{color:var(--muted)}.mini-label{text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;color:var(--muted);font-weight:700}.invoice-purpose{margin:0 1.5rem 1rem;border:1px solid #ecdede;background:#fff9f9;border-radius:var(--radius-md);padding:.8rem}.invoice-purpose p:last-child{margin-top:.35rem;font-weight:600}.invoice-table{width:calc(100% - 3rem);margin:0 1.5rem;border-collapse:collapse;border:1px solid #ecdede;border-radius:var(--radius-md);overflow:hidden}.invoice-table th{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--muted);background:#fcf7f7;padding:.72rem;border-bottom:1px solid #eadede}.invoice-table td{padding:.82rem;border-bottom:1px solid #f0e6e6;vertical-align:top}.invoice-table tr:last-child td{border-bottom:none}.invoice-table td strong{display:block;font-size:.95rem}.invoice-table td p{margin-top:.3rem;color:var(--muted);font-size:.86rem}.invoice-table td:last-child{text-align:right;font-weight:700}.invoice-totals{margin:1rem 1.5rem 0;display:grid;gap:.45rem}.invoice-totals div{display:flex;justify-content:space-between;align-items:baseline}.invoice-totals span{color:var(--muted)}.invoice-totals strong{font-weight:700}.invoice-totals .total-row span{font-size:1.08rem;color:var(--accent);font-weight:700}.invoice-totals .total-row strong{font-size:1.62rem;color:var(--accent);font-weight:900}.invoice-payment-details{margin:1rem 1.5rem 0;border-top:1px solid #eadede;padding-top:.9rem}.invoice-payment-details p{color:var(--muted);font-size:.92rem}.invoice-payment-details .spaced{margin-top:.65rem}.invoice-payment-details a{color:var(--accent);text-decoration:none;font-weight:700}.invoice-footer{margin-top:1rem;padding:1rem 1.5rem 1.35rem;border-top:1px solid #eadede;color:var(--muted);font-size:.93rem}.sticky-bar{position:fixed;left:50%;transform:translate(-50%);bottom:.7rem;width:min(1300px,calc(100% - 1.4rem));border:1px solid var(--border);border-radius:18px;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -8px 34px #5e343424;padding:.85rem 1rem;display:flex;align-items:end;gap:.65rem}.sticky-progress{display:grid;gap:.45rem}.sticky-progress-header{display:flex;justify-content:space-between;font-size:.86rem}.sticky-progress-header span{color:var(--muted)}.sticky-progress-segments{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.32rem}.progress-segment{border:none;padding:0;height:8px;border-radius:3px;background:#c43f533d;cursor:pointer}.progress-segment:hover{filter:brightness(.96)}.segment-ready{background:var(--green)}.segment-incomplete,.segment-review{background:var(--red)}.sticky-controls{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;flex:1}.sticky-recipient-stack{display:grid;gap:.45rem}.sticky-select-label{margin:0}.sticky-split-field .split-email-top{font-size:.74rem;padding:.28rem .58rem}.sticky-split-field .split-email-bottom{font-size:.8rem;padding:.42rem .58rem}.sticky-controls label{display:grid;gap:.35rem;font-size:.82rem;color:var(--muted);font-weight:700}.primary-send{border:none;border-radius:var(--radius-md);background:var(--accent);color:#fff;padding:.72rem 1.1rem;min-width:170px;font-weight:700;cursor:pointer}.primary-send:disabled{opacity:.45;cursor:not-allowed}.sticky-bar-spacer{height:200px}.action-popup{position:fixed;right:.95rem;bottom:5.8rem;z-index:60;width:min(380px,calc(100% - 1.9rem));border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-md);background:#fffffff5;box-shadow:var(--shadow-strong);padding:.74rem .88rem;font-size:.9rem;line-height:1.35}.action-popup.tone-info{border-left-color:var(--accent)}.action-popup.tone-success{border-left-color:var(--green)}.action-popup.tone-error{border-left-color:var(--red)}.pin-shell,.config-error-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.pin-card,.config-error-card,.viewer-card{width:min(94vw,440px);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-strong);box-shadow:var(--shadow-soft);padding:1.35rem}.pin-brand{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.74rem}.pin-card h1,.config-error-card h1,.viewer-card h1{margin-top:.4rem;font-size:1.45rem}.pin-card p,.config-error-card p,.viewer-card p{margin-top:.58rem;color:var(--muted)}.pin-card form{margin-top:1rem;display:grid;gap:.5rem}.pin-card label{font-size:.82rem;color:var(--muted);font-weight:700}.pin-error,.viewer-error p:first-of-type{color:#8c2736}.viewer-shell{max-width:930px;margin:0 auto;min-height:auto;display:block;padding:1.2rem}.viewer-header{width:min(900px,100%);margin-bottom:.75rem}.viewer-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.viewer-header h1{margin-top:.3rem;font-size:1.6rem}.viewer-print-button{border:1px solid var(--border);background:#fff;color:var(--accent);border-radius:10px;padding:.55rem .8rem;font-weight:700;cursor:pointer}.viewer-print-button:hover{border-color:var(--accent)}.config-error-card code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f6efef;border-radius:4px;padding:.1rem .3rem}@media (max-width: 1080px){.builder-layout{grid-template-columns:1fr}.preview-column{position:static}}@media (max-width: 760px){.form-grid,.weekend-controls,.invoice-address-grid,.delivery-split-row,.sticky-controls{grid-template-columns:1fr}.delivery-email-select,.sticky-recipient-select{font-size:.84rem;padding:.58rem .68rem}.split-email-top{font-size:.75rem;padding:.3rem .62rem}.split-email-bottom{font-size:.8rem;padding:.5rem .62rem}.sticky-bar{display:grid}.primary-send{width:100%}.invoice-top{flex-direction:column}.invoice-meta{text-align:left}.invoice-table{width:calc(100% - 1.5rem);margin:0 .75rem}.invoice-purpose,.invoice-totals,.invoice-payment-details,.invoice-footer,.invoice-top,.invoice-address-grid{margin-left:.75rem;margin-right:.75rem;padding-left:0;padding-right:0}.purpose-inline{padding-inline:.45rem}.item-row-head{flex-direction:column;align-items:flex-start;gap:.35rem}.item-row-card{padding:.85rem}.invoice-purpose{padding-left:.8rem;padding-right:.8rem}.status-label{display:none}.cc-inline-row{flex-direction:column;align-items:flex-start}.cc-field-inline{width:100%}.viewer-header-row{flex-direction:column;align-items:stretch}}@media print{@page{size:letter portrait;margin:.45in}body{background:#fff}.no-print,.sticky-bar{display:none!important}.app-shell{padding:0;max-width:none}.viewer-shell{padding:0;max-width:none;margin:0;min-height:auto;display:block}.builder-layout{grid-template-columns:1fr}.builder-column{display:none}.preview-column{position:static}.invoice-sheet{border:1px solid #ddd;border-radius:0;box-shadow:none}}
