:root{--ink: #1f1a17;--ink-2: #5b524b;--ink-3: #6f655d;--paper: #fbf7f2;--card: #ffffff;--line: #e8dfd5;--brand: #c2410c;--brand-dark: #9a3412;--brand-ink: #ffffff;--brand-soft: #fdeee5;--ok: #15803d;--ok-soft: #e4f3e8;--warn: #a16207;--warn-soft: #fef3c7;--danger: #b91c1c;--danger-soft: #fde8e8;--info: #1d4ed8;--info-soft: #e6eeff;--veg: #15803d;--nonveg: #b91c1c;--egg: #b45309;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(31, 26, 23, .06), 0 10px 28px rgba(31, 26, 23, .1);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--focus: 0 0 0 3px rgba(194, 65, 12, .35);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.45;color:var(--ink);background:var(--paper);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}h1,h2,h3{line-height:1.2;margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--ink);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .12s,transform .06s,opacity .12s;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:var(--brand-dark)}.btn.ok{background:var(--ok)}.btn.danger{background:var(--danger)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover:not(:disabled){background:var(--card);border-color:var(--ink-3)}.btn.soft{background:var(--brand-soft);color:var(--brand-dark)}.btn.block{display:flex;width:100%}.btn.lg{min-height:52px;font-size:1.05rem;border-radius:var(--radius)}.btn.sm{min-height:36px;padding:0 12px;font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{font-size:.85rem;font-weight:600;color:var(--ink-2)}.field .hint{font-size:.8rem;color:var(--ink-3)}.field .error{font-size:.8rem;color:var(--danger)}.input,select.input,textarea.input{width:100%;min-height:46px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--card);appearance:none}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.input::placeholder,select.input::placeholder,textarea.input::placeholder{color:var(--ink-3)}.input.invalid,select.input.invalid,textarea.input.invalid{border-color:var(--danger)}textarea.input{min-height:84px;resize:vertical}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.5;background:var(--paper);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.chip.info{background:var(--info-soft);color:var(--info);border-color:transparent}.chip.brand{background:var(--brand-soft);color:var(--brand-dark);border-color:transparent}.muted{color:var(--ink-3)}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{scroll-behavior:auto!important}}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.num{font-variant-numeric:tabular-nums}
