.auth-panel{display:flex;align-items:center;gap:10px;min-width:min(100%,280px);padding:9px;border:1px solid var(--line);border-radius:var(--radius-control, 12px);background:var(--panel, #ffffff);box-shadow:var(--shadow-subtle, 0 2px 10px rgba(16, 32, 27, .045))}.auth-panel-muted,.auth-panel-user{justify-content:space-between}.auth-panel-muted{color:var(--muted)}.auth-panel strong,.auth-panel span,.auth-panel small{overflow-wrap:anywhere}.auth-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,.8fr) auto;align-items:end;width:min(100%,620px)}.auth-form-header{display:none}.auth-form-section{display:grid;gap:14px;min-width:0;min-inline-size:0;margin:0;padding:0;border:0}.auth-form-section legend{margin:0 0 10px;padding:0;color:var(--ink, #10201b);font-size:.93rem;font-weight:700}.auth-field{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:.82rem}.auth-field-label{display:block;color:inherit;font:inherit}.auth-field input{min-width:0;max-width:100%;min-height:40px;padding:9px 11px}.auth-actions{display:flex;gap:8px;min-width:0}.auth-panel button{min-height:40px;padding:9px 12px;white-space:nowrap}.auth-required{color:var(--danger);font-weight:750}.auth-optional{margin-left:4px;color:var(--muted);font-size:.76rem;font-weight:500}.auth-field-hint{margin:-1px 0 0;color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.4}.auth-password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;min-width:0;max-width:100%}.auth-password-control input{min-width:0}.auth-password-toggle{width:auto;min-width:96px;min-height:38px;padding:7px 11px;border:1px solid var(--line-strong, #c6d4cf);border-radius:var(--radius-control, 12px);background:#f8fbfa;color:var(--brand-dark);font-size:.8rem;font-weight:650}.auth-password-toggle:hover:not(:disabled){border-color:#006b4f52;background:var(--soft, #eef5f2)}.auth-password-toggle[aria-pressed=true]{border-color:#006b4f47;background:var(--soft-strong, #e1ece8)}.auth-user-text{display:grid;gap:2px;min-width:0}.auth-user-text span,.auth-user-text small,.auth-message{font-size:.82rem}.auth-message{grid-column:1 / -1;margin:0;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-control, 12px);background:#f7faf9;color:var(--muted);font-weight:550;line-height:1.48;overflow-wrap:anywhere}.auth-message-error{border-color:#efcaca;background:var(--danger-soft, #fff6f6);color:#962f2f}.auth-message-success{border-color:#b9decf;background:var(--success-soft, #f1faf5);color:#0d5d4c}.auth-message-info{border-color:#c9d9d4;background:#f4f8f6;color:#31564f}.auth-inline-message{padding:0;border:0;background:transparent}.auth-screen{position:relative;overflow-x:clip;background:radial-gradient(circle at 12% 8%,rgba(0,107,79,.09),transparent 34rem),radial-gradient(circle at 92% 92%,rgba(215,154,43,.08),transparent 30rem),linear-gradient(145deg,#f8fbfa,#eef5f2)}.auth-screen>.auth-card{grid-template-columns:minmax(300px,.88fr) minmax(380px,1.12fr);gap:0;align-items:stretch;width:min(1040px,100%);min-width:0;padding:0;overflow:hidden;border-color:#10201b1a;border-radius:28px;background:var(--panel, #ffffff);box-shadow:0 28px 70px #10201b1f,0 2px 10px #10201b0a}.auth-screen>.auth-card>.auth-brand{align-content:center;justify-items:start;min-width:0;max-width:none;padding:clamp(34px,5vw,58px);border-right:1px solid rgba(0,107,79,.09);background:linear-gradient(150deg,#ffffffeb,#eef5f2f5),var(--soft, #eef5f2)}.auth-screen .auth-logo{width:min(194px,76%)}.auth-screen .auth-brand h1{color:var(--ink, #10201b);font-size:clamp(2.1rem,4vw,2.72rem);font-weight:750;letter-spacing:-.025em;line-height:1.08}.auth-screen .auth-brand p{color:#52625d;line-height:1.65}.auth-screen .auth-brand .eyebrow{color:var(--brand-dark);font-weight:750;letter-spacing:.13em}.auth-screen .auth-benefits{gap:10px;color:#334640}.auth-screen .auth-benefits li:before{box-shadow:0 0 0 4px #006b4f14}.auth-screen .auth-panel.auth-form{grid-template-columns:minmax(0,1fr);gap:18px;align-self:center;align-items:stretch;justify-self:center;width:100%;max-width:560px;min-width:0;margin:0;padding:clamp(30px,4.8vw,52px);border:0;border-radius:0;background:transparent;box-shadow:none}.auth-screen .auth-panel.auth-form-company{max-width:620px;gap:18px;padding-block:clamp(28px,4vw,42px)}.auth-screen .auth-form-header{display:grid;gap:6px;margin-bottom:2px}.auth-screen .auth-form-header h2{color:var(--ink, #10201b);font-size:clamp(1.35rem,2vw,1.55rem);font-weight:740;letter-spacing:-.015em;line-height:1.2}.auth-screen .auth-form-header p{max-width:44ch;margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.auth-screen .auth-form-section{gap:14px;padding:17px;border:1px solid rgba(16,32,27,.085);border-radius:16px;background:#fbfdfc}.auth-screen .auth-form-section legend{width:auto;margin:0 0 1px -3px;padding:0 7px;color:var(--brand-dark);background:var(--panel, #ffffff);font-size:.88rem;font-weight:750;letter-spacing:.01em}.auth-screen .auth-field{gap:7px;color:#41534e;font-size:.88rem;font-weight:620}.auth-screen .auth-field-label{color:#41534e;font-size:.88rem;font-weight:620}.auth-screen .auth-field input{width:100%;min-width:0;max-width:100%;min-height:50px;padding:11px 13px;border-color:#d4dfdb;border-radius:var(--radius-control, 12px);background:#fff;color:var(--ink, #10201b);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.auth-screen .auth-field input:hover:not(:disabled){border-color:var(--line-strong, #c6d4cf)}.auth-screen .auth-field input:focus{border-color:#006b4f9e;background:#fff;box-shadow:0 0 0 4px #006b4f1a}.auth-screen .auth-field input:disabled{background:#f1f5f3;color:#6f7b77}.auth-screen .auth-optional{display:inline-flex;align-items:center;min-height:20px;margin-left:5px;padding:2px 7px;border-radius:999px;background:var(--soft, #eef5f2);color:#5e706a;font-size:.7rem;font-weight:600;line-height:1;vertical-align:middle}.auth-screen .auth-password-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-width:0;max-width:100%}.auth-screen .auth-password-toggle{justify-self:stretch;width:auto;min-width:108px;min-height:50px;padding:10px 12px;border-color:#d4dfdb;background:#f8fbfa;font-size:.8rem}.auth-screen .auth-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;min-width:0;margin-top:2px}.auth-screen .auth-actions button{width:100%;min-width:0;min-height:48px;padding:11px 15px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.auth-screen .auth-actions .primary{background:var(--brand);box-shadow:0 10px 20px #006b4f2e;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.auth-screen .auth-actions .primary:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 13px 24px #006b4f38;transform:translateY(-1px)}.auth-screen .auth-actions .secondary{min-height:44px;border-color:transparent;background:transparent;color:var(--brand-dark);font-weight:650}.auth-screen .auth-actions .secondary:hover:not(:disabled){border-color:transparent;background:var(--soft, #eef5f2)}.auth-register-note{margin:-2px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5;text-align:center}@media(max-width:900px){.auth-panel,.auth-form{width:100%}.auth-form{grid-template-columns:minmax(0,1fr)}.auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-screen>.auth-card{grid-template-columns:minmax(0,1fr);width:min(620px,100%)}.auth-screen>.auth-card>.auth-brand{justify-items:center;padding:30px clamp(24px,6vw,42px);border-right:0;border-bottom:1px solid rgba(0,107,79,.09);text-align:center}.auth-screen .auth-brand h1{max-width:19ch}.auth-screen .auth-brand p{max-width:46ch}.auth-screen .auth-panel.auth-form,.auth-screen .auth-panel.auth-form-company{max-width:620px;padding:30px clamp(24px,6vw,42px) 34px}}@media(max-width:620px){.auth-screen{align-items:start;padding:12px}.auth-screen>.auth-card{border-radius:22px}.auth-screen>.auth-card>.auth-brand{gap:12px;padding:24px 20px}.auth-screen .auth-logo{width:min(148px,58vw)}.auth-screen .auth-brand h1{font-size:clamp(1.62rem,7vw,1.95rem)}.auth-screen .auth-brand p{font-size:.9rem;line-height:1.52}.auth-screen .auth-panel.auth-form,.auth-screen .auth-panel.auth-form-company{width:100%;max-width:none;justify-self:stretch;gap:15px;padding:24px 20px 28px}.auth-screen .auth-form-header{text-align:left}.auth-screen .auth-form-section{gap:13px;padding:14px;border-radius:14px}.auth-actions{grid-template-columns:minmax(0,1fr)}.auth-panel button{width:100%}.auth-screen .auth-password-control{grid-template-columns:minmax(0,1fr) auto;gap:7px}.auth-screen .auth-password-control .auth-password-toggle{justify-self:stretch;width:auto;min-width:104px;padding-inline:10px;font-size:.77rem;white-space:nowrap}}@media(max-width:340px){.auth-screen .auth-password-control{grid-template-columns:minmax(0,1fr)}.auth-screen .auth-password-control .auth-password-toggle{justify-self:start;width:auto;min-width:112px}}@media(prefers-reduced-motion:reduce){.auth-screen .auth-actions .primary,.auth-screen .auth-field input{transition:none}}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button{min-height:48px;border:0;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:600}button:disabled{cursor:not-allowed;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(244,185,66,.8);outline-offset:2px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,36px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(145deg,#ffffffe6,#eef3f1f0),var(--bg)}.auth-card{display:grid;grid-template-columns:minmax(300px,1fr) minmax(340px,.86fr);gap:clamp(24px,4vw,38px);align-items:center;width:min(960px,100%);padding:clamp(22px,3.6vw,36px);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 50px #18211f17}.auth-brand{display:grid;gap:18px;align-content:center;justify-items:start;min-width:0;padding:clamp(4px,1.5vw,14px);max-width:460px}.auth-logo{display:block;width:min(210px,100%);height:auto;object-fit:contain}.auth-brand h1{max-width:15ch;font-size:clamp(2.35rem,4.4vw,2.8rem);line-height:1.12;font-weight:740;letter-spacing:0}.auth-brand p{margin:6px 0 0;color:var(--muted);max-width:44ch;font-size:1rem;line-height:1.65}.auth-brand .eyebrow{color:#31564f;font-size:.78rem;font-weight:650;letter-spacing:.12em}.auth-benefits{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none;color:#384844;font-size:.95rem;line-height:1.45}.auth-benefits li{position:relative;padding-left:22px}.auth-benefits li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:999px;background:var(--brand)}.panel{margin-bottom:18px;padding:clamp(16px,3vw,26px);border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.heading-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.step-label{display:inline-grid;place-items:center;width:28px;height:28px;margin:0 0 6px;border-radius:8px;background:var(--soft);color:var(--brand-dark);font-weight:650}h1,h2,h3{margin:0;letter-spacing:0}h2{font-size:1.2rem;font-weight:650;line-height:1.25}label{display:grid;gap:7px;min-width:0;color:var(--muted);font-weight:600}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fbfcfc;color:var(--ink)}.field-has-warning input,.field-has-warning select,.field-has-warning textarea{border-color:var(--danger);background:snow}.field-group-has-warning{border-color:var(--danger)!important;background:snow}.field-group-has-warning .entry-row{border-color:var(--danger);background:snow}.field-warning{margin:0;color:var(--danger);font-size:.86rem;font-weight:700}textarea{resize:vertical;line-height:1.5}.primary:hover{background:var(--brand-dark)}.secondary{border:1px solid var(--line);background:var(--soft);color:var(--brand-dark)}.secondary:hover{background:#e2ebe8}.danger{background:#fff1f1;color:var(--danger);border:1px solid #ecc6c6}.danger:hover{background:#ffe2e2}.number{text-align:right;white-space:nowrap}.empty-note{color:var(--muted);font-style:italic}.prices-hidden .price-column{display:none!important}@media(max-width:900px){.auth-card{grid-template-columns:1fr;width:min(560px,100%);gap:22px}.auth-brand{justify-items:center;text-align:center;padding:0;max-width:100%}.auth-brand h1{max-width:18ch;font-size:clamp(2rem,7vw,2.25rem)}.auth-brand p{max-width:40ch}.auth-benefits{justify-items:start;width:min(390px,100%);margin-inline:auto;text-align:left}.section-heading{align-items:stretch;flex-direction:column}}@media(max-width:620px){.auth-screen{align-items:start;padding:16px}.auth-card{gap:14px;padding:16px}.auth-brand{gap:12px}.auth-logo{width:min(142px,62vw)}.auth-brand h1{font-size:clamp(1.48rem,6.5vw,1.78rem);line-height:1.1}.auth-brand p{font-size:.94rem;line-height:1.58}.auth-benefits{display:none}button{width:100%}}:root{--bg: #f7faf8;--panel: #ffffff;--ink: #10201b;--muted: #66736f;--line: #dde8e3;--line-strong: #c6d4cf;--soft: #eef5f2;--soft-strong: #e1ece8;--brand: #006b4f;--brand-dark: #004d3c;--accent: #d79a2b;--danger: #b73535;--danger-soft: #fdecec;--success-soft: #e5f6ef;--warning-bg: #fff8e7;--warning-ink: #72500b;--content-max: 1280px;--radius-card: 18px;--radius-control: 12px;--shadow: 0 18px 48px rgba(16, 32, 27, .06);--shadow-soft: 0 10px 28px rgba(16, 32, 27, .045);--shadow-subtle: 0 2px 10px rgba(16, 32, 27, .045)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#fbfdfc 0%,var(--bg) 260px),var(--bg)}button,.logo-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-control);font-weight:600;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}button:hover:not(:disabled),.logo-upload-button:hover{box-shadow:var(--shadow-soft)}input,select,textarea{border-color:var(--line);background:#fbfdfc}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:#0d5c4973;background:#fff}.app-content,.page-stack{width:100%}.page-stack{max-width:var(--content-max);margin:0 auto}.panel{border-color:#10201b13;border-radius:var(--radius-card);box-shadow:var(--shadow)}.section-heading{gap:18px}.section-heading h2{color:var(--ink);font-size:clamp(1.08rem,1.6vw,1.28rem);font-weight:650;line-height:1.25}.section-heading p:not(.step-label){margin:6px 0 0;color:var(--muted);font-weight:500}.step-label{width:32px;height:32px;margin-bottom:8px;border:1px solid rgba(13,92,73,.14);background:var(--soft);color:var(--brand-dark);font-size:.88rem}.primary{background:var(--brand);color:#fff}.primary:hover:not(:disabled){background:var(--brand-dark)}.secondary{border-color:var(--line);background:#f8fbfa;color:var(--brand-dark)}.secondary:hover:not(:disabled){border-color:#0d5c493d;background:var(--soft)}.danger{border-color:#ecc6c6;background:#fff3f3;color:var(--danger)}.danger:hover:not(:disabled){background:#ffe8e8}.status-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:24px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1;white-space:nowrap}.status-draft{border:1px solid #d6dfdc;background:#eef3f1;color:var(--brand-dark)}.status-signed{border:1px solid #cde4d6;background:#e7f5ed;color:#1d663f}.status-sent{border:1px solid #ecd394;background:var(--warning-bg);color:var(--warning-ink)}.status-archived{border:1px solid #ccd9e2;background:#edf4f8;color:#28556e}.empty-note{color:var(--muted)}.category-chip{display:inline-flex;align-items:center;gap:7px;width:fit-content;max-width:100%;min-height:28px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.78rem;font-weight:600;line-height:1.15}.category-chip span:last-child{min-width:0;overflow-wrap:anywhere}.category-chip-dot{flex:0 0 auto;width:10px;height:10px;border:1px solid rgba(23,33,30,.12);border-radius:999px}.category-chip.is-empty,.category-chip.is-inactive{color:var(--muted)}@media(max-width:620px){.panel{padding:16px}}
