:root{--primary: #F7B500;--on-primary: #2B2109;--accent: #B45309;--accent-hover: #8A3E06;--ink: #1A1A1A;--muted: #6B6255;--faint: #8A8070;--disabled: #A8A093;--canvas: #EFEDE6;--surface: #F6F5F1;--card: #FFFFFF;--chip-cream: #FCF3D9;--amber-tint: #FFF8E8;--border-card: #E5E2D9;--border-input: #E3D9BD;--border-hairline: #F5F3EC;--divider: #EDE7DA;--success: #1D8A55;--success-bg: #EAF5EE;--success-border: #CBE6D5;--danger: #D5382E;--danger-bg: #FDEEED;--danger-border: #F2CDCA;--font-ui: "Plus Jakarta Sans", "Noto Sans Devanagari", "Noto Sans Gujarati", sans-serif;--font-num: "IBM Plex Mono", monospace;--radius-card: 14px;--radius-input: 10px;--radius-chip: 16px;--shadow-card: 0 2px 8px rgba(43, 33, 9, .05);--shadow-panel: -8px 0 28px rgba(43, 33, 9, .14)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-ui)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.login-bg{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(130% 120% at 50% -20%,#FFF4D6 0%,var(--canvas) 52%);position:relative;overflow:hidden}.login-card{position:relative;z-index:2}.doodles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.doodles svg{position:absolute}.doodle-float{animation:doodleFloat 7s ease-in-out infinite}.doodle-float2{animation:doodleFloat 9s ease-in-out infinite}.doodle-spin{animation:doodleSpin 40s linear infinite;transform-origin:center}@keyframes doodleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes doodleSpin{to{transform:rotate(360deg)}}@media (max-width: 620px){.doodle-hide-sm{display:none}}@media (prefers-reduced-motion: reduce){.doodle-float,.doodle-float2,.doodle-spin{animation:none}}.login-card{width:392px;max-width:94vw;background:var(--card);border:1px solid var(--border-card);border-radius:20px;box-shadow:0 24px 64px #2b210921;padding:34px 32px}.login-label{display:block;font:700 10.5px Plus Jakarta Sans;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.login-input{display:block;width:100%;margin-top:7px;padding:13px 14px;box-sizing:border-box;border:1.5px solid var(--border-card);border-radius:12px;background:var(--surface);font:500 15px IBM Plex Mono;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}.login-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #f7b50038}.login-input::placeholder{color:var(--disabled)}.login-btn{width:100%;margin-top:20px;padding:13px 0;border:none;border-radius:12px;cursor:pointer;background:var(--primary);color:var(--on-primary);font:800 14px Plus Jakarta Sans;transition:filter .15s,opacity .15s;box-shadow:0 6px 18px #f7b50059}.login-btn:hover:not(:disabled){filter:brightness(1.05)}.login-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.login-reveal{animation:loginFade .28s ease}@keyframes loginFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media print{body.print-invoice *{visibility:hidden}body.print-invoice .invoice-print,body.print-invoice .invoice-print *{visibility:visible}body.print-invoice .invoice-print{position:absolute;left:0;top:0;width:100%}body.print-invoice .invoice-doc{border:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important}body.print-invoice .invoice-doc+.invoice-doc{break-before:page;page-break-before:always}}
