@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Crimson+Pro:wght@400;500;600&display=swap";:root{--violet:#2b170f;--violet-soft:#6e4a34;--gold:#d2b36f;--amaranth:#7a3f2a;--cream:#dfcfaa;--paper:#fffaf0;--ink:#21130d;--muted:#6f6250;--line:#cdbf9f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Crimson Pro,Georgia,serif;font-size:18px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hero{background:var(--violet);color:#fff;padding:64px 24px 56px;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #e4b33d40;border-radius:50%;width:420px;height:420px;position:absolute;top:-240px;right:-120px;box-shadow:0 0 0 42px #e4b33d0f,0 0 0 84px #e4b33d09}.hero-inner{z-index:1;align-items:center;gap:28px;max-width:980px;margin:0 auto;display:flex;position:relative}.brand-mark,.seal{border:2px solid var(--gold);width:82px;height:82px;color:var(--gold);letter-spacing:.08em;border-radius:50%;flex:0 0 82px;place-items:center;font-family:Cinzel,serif;font-weight:700;display:grid}.eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-family:Cinzel,serif;font-size:13px}h1,h2,h3{font-family:Cinzel,serif}h1{letter-spacing:-.025em;margin:0;font-size:clamp(36px,6vw,64px);line-height:1.05}.hero-copy{color:#eee2c6;max-width:560px;margin:14px 0 0;font-size:21px}.form-shell{z-index:2;max-width:980px;margin:-22px auto 0;padding:0 24px 120px;position:relative}.panel{background:var(--paper);border:1px solid #2b170f1f;border-radius:16px;margin-bottom:20px;padding:36px;position:relative;box-shadow:0 12px 40px #2b170f14}.section-number{color:var(--gold);font-family:Cinzel,serif;font-size:14px;font-weight:700;position:absolute;top:38px;right:38px}.section-heading{margin-bottom:26px;padding-right:56px}.section-heading h2{color:var(--violet);margin:0;font-size:25px}.section-heading p{color:var(--muted);margin:5px 0 0}.field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}label{color:#594b3c;gap:7px;font-weight:600;display:grid}.full-field{grid-column:1/-1}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:12px 13px;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--violet-soft);box-shadow:0 0 0 3px #6e4a3429}textarea{resize:vertical}.search-field{margin-bottom:30px}.search-field input{background:#f5efe2;border-color:#c7b48d;padding:14px 16px}.card-section+.card-section{margin-top:36px}.card-section-title{border-bottom:2px solid var(--violet);justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:9px;display:flex}.card-section-title h3{color:var(--violet);margin:0;font-size:18px}.card-section-title span{color:var(--muted);font-size:15px}.card-grid{grid-template-columns:1fr 1fr;gap:1px 22px;display:grid}.card-row{border-radius:7px;grid-template-columns:1fr 72px;align-items:center;gap:14px;padding:9px 10px;font-weight:500}.card-row:nth-child(4n+1),.card-row:nth-child(4n+2){background:#f5efe4}.card-row.selected{color:var(--violet);background:#e8dfb8}.card-row input{text-align:center;padding:7px 6px;font-weight:600}.empty-state{color:var(--muted);text-align:center;padding:24px}.custom-list{gap:12px;display:grid}.custom-row{background:#f5efe4;border-radius:10px;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) 110px 40px;align-items:end;gap:12px;padding:16px;display:grid}.remove-button{width:40px;height:46px;color:var(--amaranth);background:#ead5c4;border:0;border-radius:8px;font-size:27px}.add-button{color:var(--violet);background:0 0;border:1px solid #af9876;border-radius:8px;margin-top:16px;padding:10px 15px;font-weight:600}.notice{color:#513b04;background:#fff2cf;border:1px solid #e4b33d;border-radius:10px;margin-bottom:20px;padding:15px 18px}.notice a{color:var(--violet)}.summary-bar{background:var(--violet);color:#fff;z-index:5;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:repeat(4,minmax(90px,1fr)) 1.3fr;align-items:center;gap:8px;padding:13px;display:grid;position:sticky;bottom:16px;box-shadow:0 18px 50px #2b170f52}.summary-bar>div{border-right:1px solid #ffffff21;padding:2px 10px}.summary-bar span{color:#d8ccb0;font-size:13px;display:block}.summary-bar strong{color:#fff;font-family:Cinzel,serif;font-size:22px}.summary-bar .grand-total strong{color:var(--gold)}.primary-button{background:var(--gold);color:var(--violet);border:0;border-radius:9px;padding:14px 20px;font-weight:700;box-shadow:inset 0 -2px #2b170f2e}.primary-button:disabled{opacity:.45;cursor:not-allowed}footer{color:#d8ccb0;background:#1c0f0a;flex-wrap:wrap;justify-content:center;gap:16px 30px;padding:38px 24px;display:flex}footer strong{color:#fff;font-family:Cinzel,serif}footer a{color:var(--gold)}.success-shell{background:var(--violet);place-items:center;min-height:100vh;padding:24px;display:grid}.success-card{text-align:center;background:var(--paper);border-radius:18px;outline:none;max-width:600px;padding:50px;box-shadow:0 24px 80px #00000040}.success-check{color:#fff;background:#62684a;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 24px;font-size:42px;font-weight:800;line-height:1;display:grid;box-shadow:0 10px 28px #62684a47}.success-card .seal{margin:0 auto 25px}.success-card h1{color:var(--violet);font-size:38px}.success-card p:not(.eyebrow){color:var(--muted);margin:15px 0 26px}@media (width<=760px){.hero{padding-top:44px}.brand-mark{flex-basis:64px;width:64px;height:64px}.panel{padding:27px 20px}.field-grid,.card-grid{grid-template-columns:1fr}.card-row:nth-child(odd){background:#f5efe4}.card-row:nth-child(2n){background:0 0}.card-row.selected{background:#e8dfb8}.custom-row{grid-template-columns:1fr 1fr}.custom-row label:first-child{grid-column:1/-1}.summary-bar{grid-template-columns:repeat(4,1fr);bottom:8px}.summary-bar>div{padding:2px 5px}.summary-bar span{font-size:11px}.summary-bar strong{font-size:18px}.summary-bar button{grid-column:1/-1}}@media (width<=480px){.hero-inner{align-items:flex-start;gap:14px}.brand-mark{flex-basis:50px;width:50px;height:50px;font-size:13px}.form-shell{padding-left:12px;padding-right:12px}.custom-row{grid-template-columns:1fr 80px}.custom-row label:nth-child(2){grid-column:1/-1}}
