:root{--paper:#f7f9f2;--card:#fff;--ink:#22301c;--ink-soft:#5b6b52;--green:#2e7d3a;--green-deep:#245e2c;--green-bright:#6db33f;--line:#e4e8dc;--red:#c6402b;--radius:14px;--shadow:0 1px 2px #22301c0a, 0 8px 24px #22301c0f;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"Hanken Grotesk", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:radial-gradient(1200px 500px at 50% -10%, #eef4e6 0%, #eef4e600 70%), var(--paper);-webkit-font-smoothing:antialiased;margin:0}.page{flex-direction:column;align-items:center;min-height:100%;padding:24px 20px 48px;display:flex}.brand{align-items:center;gap:10px;margin:12px 0 28px;display:flex}.brand svg{width:26px;height:26px;display:block}.brand .name{font-family:var(--display);letter-spacing:-.02em;color:var(--green-deep);font-size:24px;font-weight:700}.brand .name span{color:var(--green-bright)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow);padding:28px}h1{font-family:var(--display);letter-spacing:-.01em;margin:0 0 6px;font-size:22px;font-weight:600;line-height:1.2}.subtle{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.5}.deadline{color:var(--green-deep);background:#eef4e6;border-radius:10px;align-items:center;gap:8px;margin:18px 0 22px;padding:10px 12px;font-size:14px;display:flex}.deadline.closed{color:var(--red);background:#f8e7e3}.deadline .dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.deadline.scheduled{color:#137333;background-color:#e6f4ea;border:1px solid #ceead6}.deadline.scheduled .dot{background-color:#137333}label{margin:0 0 7px;font-size:14px;font-weight:500;display:block}.field{margin-bottom:18px}input[type=email],input[type=password],input[type=text],input[type=number],textarea{width:100%;font-family:var(--body);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 13px;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2e7d3a24}input:disabled,textarea:disabled{color:var(--ink-soft);background:#f4f5f1}textarea{resize:vertical;min-height:76px}.qty{align-items:stretch;gap:8px;display:flex}.qty input{font-family:var(--display);text-align:center;letter-spacing:-.01em;-moz-appearance:textfield;font-size:28px;font-weight:600}.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.step{width:52px;color:var(--green-deep);border:1px solid var(--line);cursor:pointer;background:#eef4e6;border-radius:10px;flex:none;font-size:22px;font-weight:500;transition:background .15s}.step:hover:not(:disabled){background:#e2eed6}.step:disabled{cursor:not-allowed;opacity:.5}.btn{width:100%;font-family:var(--body);color:#fff;background:var(--green);cursor:pointer;border:none;border-radius:10px;padding:13px 16px;font-size:15.5px;font-weight:600;transition:background .15s,transform 50ms}.btn:hover:not(:disabled){background:var(--green-deep)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;background:#a9c3ab}.link{color:var(--green-deep);font-family:var(--body);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.row-between{justify-content:space-between;align-items:center;display:flex}.note{color:var(--ink-soft);margin:14px 0 0;font-size:13.5px;line-height:1.5}.error{color:var(--red);margin:0 0 16px;font-size:14px}.ok{color:var(--green-deep);align-items:center;gap:6px;margin:12px 0 0;font-size:14px;display:flex}.center{text-align:center}.muted-foot{color:var(--ink-soft);margin-top:22px;font-size:12.5px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.summary{border:1px solid var(--line);background:#fbfcf9;border-radius:12px;margin:18px 0 0;padding:4px 18px 8px}.summary-head{color:var(--green-deep);align-items:center;gap:7px;padding:14px 0 12px;font-size:15px;font-weight:600;display:flex}.summary-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;display:flex}.summary-row>span{color:var(--ink-soft);flex:none;font-size:14px}.summary-row>strong{color:var(--ink);text-align:right;overflow-wrap:anywhere;font-size:15px;font-weight:600}.btn.secondary{color:var(--green-deep);border:1px solid var(--green);background:#fff;margin-top:4px}.btn.secondary:hover:not(:disabled){background:#eef4e6}
