:root{--forest:#17261f;--forest-2:#23382e;--pine:#315344;--cream:#f5f0e7;--paper:#fffdf8;--ink:#1c211e;--muted:#6e746f;--line:#dedbd2;--red:#a84132;--gold:#c79a4a;--shadow:0 18px 60px rgba(23,38,31,.10);font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;background:var(--cream)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--pine)}.muted{color:var(--muted)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(199,154,74,.18),transparent 30%),var(--forest)}.login-card{width:min(440px,100%);padding:44px;border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.login-card h1{font:600 42px/1.05 "Fraunces",serif;margin:20px 0 12px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;font:600 30px "Fraunces",serif;background:var(--red);color:white}.brand-mark.small{width:38px;height:38px;font-size:22px}.stack{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:7px;color:#4b514d;font-size:12px;font-weight:600;letter-spacing:.02em}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--pine);box-shadow:0 0 0 3px rgba(49,83,68,.12)}.button{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.button.primary{background:var(--red);color:white}.button.secondary{background:var(--forest);color:white}.button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.error{min-height:18px;color:#a12828;margin:0;font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px;display:flex;flex-direction:column;justify-content:space-between;background:var(--forest);color:white}.brand-row{display:flex;align-items:center;gap:12px;padding:0 10px 28px}.brand-row strong,.brand-row small{display:block}.brand-row small{margin-top:2px;color:#b8c0bb;font-size:11px}.sidebar nav{display:grid;gap:6px}.nav-item{width:100%;border:0;border-radius:9px;padding:11px 12px;text-align:left;background:transparent;color:#cbd2ce;cursor:pointer}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav-item.logout{border:1px solid rgba(255,255,255,.12)}.badge{float:right;padding:2px 7px;border-radius:20px;background:rgba(255,255,255,.12);font-size:11px}.workspace{min-width:0;padding:32px 40px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h2{margin:0;font:600 30px "Fraunces",serif}.top-actions{display:flex;gap:9px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;margin-bottom:20px}.summary-strip div{padding:19px 22px;border-right:1px solid var(--line)}.summary-strip div:last-child{border:0}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{font-size:11px;color:var(--muted);margin-bottom:5px}.summary-strip strong{font:600 24px "Fraunces",serif}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.main-column{display:grid;gap:20px}.panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading h3{margin:0;font:600 20px "Fraunces",serif}.step{margin:0;padding:4px 7px;border-radius:6px;background:#e5ebe7;color:var(--pine);font-size:10px;font-weight:700}.quote-number,.hint{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.form-grid .wide{grid-column:span 2}.form-grid .full{grid-column:1/-1}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.package-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.package-card h4{margin:0 0 14px;font-size:13px}.package-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.package-card .price{display:flex;justify-content:space-between;align-items:end;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.package-card .price span{font-size:10px;color:var(--muted)}.package-card .price strong{font:600 24px "Fraunces",serif}.cost-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cost-columns h4{margin:0 0 12px}.cost-list{display:grid;gap:8px}.cost-row{display:grid;grid-template-columns:1fr 100px 30px;gap:8px;align-items:center}.cost-row input{padding:9px}.icon-button{border:0;background:transparent;color:#999;cursor:pointer;font-size:18px}.text-button{border:0;background:transparent;color:var(--red);font-size:12px;font-weight:700;padding:10px 0;cursor:pointer}.results-panel{position:sticky;top:24px;padding:26px;border-radius:18px;background:var(--forest);color:#fff;box-shadow:var(--shadow)}.eyebrow.light{color:#bfcac4}.results-panel h3{font:600 25px/1.15 "Fraunces",serif;margin:10px 0 22px}.result-packages{display:grid;gap:12px}.result-package{padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}.result-package>div{display:flex;justify-content:space-between;gap:10px}.result-package h4{margin:0 0 7px;font-size:13px}.result-package small{color:#aebbb4}.result-total{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.18)}.result-total span{font-size:12px}.result-total strong{font:600 21px "Fraunces",serif}.result-total.accent{color:#f2cd87}.result-note{margin:12px 0 0;color:#aebbb4;font-size:10px;line-height:1.5}.history-toolbar{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-bottom:16px}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{background:#f1eee7;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.right{text-align:right}.status-pill{display:inline-block;padding:4px 9px;border-radius:20px;background:#ecebe7;font-size:10px}.status-pill.approved{background:#dcebe0;color:#235f37}.status-pill.sent{background:#e2e8f3;color:#34517c}.status-pill.cancelled{background:#f3dfdc;color:#8c3429}.table-action{border:0;background:transparent;color:var(--red);font-weight:700;cursor:pointer}.empty{text-align:center;padding:55px}.empty h3{font-family:"Fraunces",serif}.toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:360px;padding:13px 16px;border-radius:10px;background:var(--ink);color:white;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.content-grid{grid-template-columns:1fr}.results-panel{position:static}.summary-strip{grid-template-columns:1fr 1fr}.package-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:14px;flex-direction:row}.brand-row{padding:0}.brand-row div,.sidebar .logout{display:none}.sidebar nav{display:flex}.workspace{padding:22px 15px 50px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;overflow:auto}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip div:nth-child(2){border-right:0}.summary-strip div{padding:15px}.form-grid,.cost-columns,.history-toolbar{grid-template-columns:1fr}.form-grid .wide{grid-column:span 1}.package-fields{grid-template-columns:1fr 1fr}}@media print{.sidebar,.top-actions,.summary-strip,.client-panel,.main-column .panel:nth-child(3),.toast{display:none!important}.app-shell{display:block}.workspace{padding:0}.content-grid{display:block}.results-panel{box-shadow:none}.main-column .panel{border:0}.results-panel{margin-top:20px}body{background:white}}.calculated-field{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:500}.calculated-field strong{color:var(--pine)}.cost-item{padding-bottom:5px}.cost-per-session{display:block;margin:-2px 38px 4px 4px;color:var(--muted);font-size:10px}.cost-per-session strong{color:var(--pine)}.editor-table{min-width:720px}.editor-table th{white-space:nowrap}.editor-table td{vertical-align:middle}.editor-table input{min-width:90px}.editor-table .name-input{min-width:170px}.compact-input{max-width:110px}.calculated-value{color:var(--pine);font-weight:700}.strong-value{font-family:"Fraunces",serif;font-size:17px;font-weight:600}.money-input{display:grid;grid-template-columns:28px minmax(90px,1fr);align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px rgba(49,83,68,.12)}.money-input span{display:grid;place-items:center;height:100%;background:#f1eee7;color:var(--muted);font-weight:700}.money-input input{border:0;border-radius:0;box-shadow:none!important}.right-detail{text-align:right;margin-right:38px}.cost-section+.cost-section{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.subheading-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.switch-label{display:flex;align-items:center;gap:9px;font-size:12px}.switch-label input{width:18px;height:18px}.cost-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:16px}.cost-totals div{min-width:210px;padding:13px 16px;border-radius:10px;background:#f1eee7;text-align:right}.cost-totals span,.cost-totals strong{display:block}.cost-totals span{font-size:10px;color:var(--muted)}.cost-totals strong{margin-top:4px;font-family:"Fraunces",serif;font-size:18px}.percent-input{display:grid;grid-template-columns:minmax(90px,1fr) 32px;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.percent-input input{border:0;border-radius:0}.percent-input span{font-weight:700;color:var(--muted)}.margin-table{min-width:760px}@media(max-width:720px){.subheading-row{align-items:flex-start;flex-direction:column}.cost-totals{justify-content:stretch}.cost-totals div{flex:1}}.cost-list{max-width:820px}.cost-row{grid-template-columns:minmax(220px,1fr) 230px 32px}.right-detail{max-width:230px;margin-left:auto;margin-right:32px}.variable-table th:first-child,.variable-table td:first-child{width:230px}.variable-table .money-input{min-width:165px;max-width:220px}.margin-table th:nth-child(3),.margin-table td:nth-child(3){width:180px}.percent-input{max-width:150px;grid-template-columns:minmax(80px,1fr) 30px}.percent-input input{min-width:0;padding-right:4px}input[type="number"]{-moz-appearance:textfield}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(max-width:720px){.cost-row{grid-template-columns:minmax(150px,1fr) 145px 26px}.right-detail{max-width:145px;margin-right:26px}}.content-grid{grid-template-columns:minmax(0,1fr)}.summary-strip{position:sticky;top:0;z-index:12;box-shadow:0 10px 28px rgba(23,38,31,.08)}.icon-button.delete-button{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;color:#8b918d}.icon-button.delete-button:hover{background:#f3dfdc;color:var(--red)}.delete-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:720px){.summary-strip{position:static}.icon-button.delete-button{width:28px;height:28px}}
