:root{--bg:#fcfbfe;--surface:#fff;--surface-raised:#f5f2f7;--text:#111;--muted-text:#3c3c3c;--brand-dark:#300036;--brand-dark-hover:#46054e;--brand-accent:#f9af3b;--brand-accent-hover:#e59c28;--brand-accent-text:#1a1a1a;--border:#cfc5d4;--border-focus:#300036;--success:#0e6b38;--danger:#b3261e;--danger-hover:#911812;--focus-ring:#0057d8}:root,html.font-normal{--font-size-base:17px;--btn-min-height:44px;--input-min-height:44px;--btn-font-size:1rem;--input-font-size:1rem;--h1-size:1.85rem;--h2-size:1.4rem;--h3-size:1.2rem}html.font-large{--font-size-base:19px;--btn-min-height:48px;--input-min-height:48px;--btn-font-size:1.08rem;--input-font-size:1.08rem;--h1-size:2.05rem;--h2-size:1.5rem;--h3-size:1.28rem}html.font-xlarge{--font-size-base:21px;--btn-min-height:52px;--input-min-height:52px;--btn-font-size:1.16rem;--input-font-size:1.16rem;--h1-size:2.25rem;--h2-size:1.65rem;--h3-size:1.38rem}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-size:var(--font-size-base);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;transition:font-size .1s ease}h1,h2,h3,h4{color:var(--brand-dark);font-weight:750;line-height:1.3}h1{font-size:var(--h1-size);letter-spacing:-.02em}h2{font-size:var(--h2-size);letter-spacing:-.01em}h3{font-size:var(--h3-size)}a{color:var(--brand-dark);font-weight:650;text-underline-offset:3px}a:hover{text-decoration:underline}button,input,select,textarea{font-size:var(--btn-font-size);font-family:inherit}button{cursor:pointer;min-height:var(--btn-min-height);padding:10px 20px;border-radius:9px;border:2px solid var(--brand-dark);background:var(--brand-dark);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,transform .08s ease,box-shadow .15s ease;box-shadow:0 2px 4px rgba(48,0,54,.1)}button:hover{background:var(--brand-dark-hover);border-color:var(--brand-dark-hover)}button:active{transform:translateY(1px)}button.secondary{background:#fff;color:var(--brand-dark);border:2px solid var(--brand-dark);box-shadow:0 1px 3px rgba(0,0,0,.05)}button.secondary:hover{background:var(--surface-raised)}button.accent{background:var(--brand-accent);color:var(--brand-accent-text);border-color:#d88e1e}button.accent:hover{background:var(--brand-accent-hover);border-color:#c77e0f}button:disabled,input:disabled,select:disabled{opacity:.6;cursor:not-allowed;transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}input,select,textarea{padding:10px 14px;border-radius:8px;border:2px solid var(--border);background:#fff;color:var(--text);min-height:var(--input-min-height);font-size:var(--input-font-size);transition:border-color .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--border-focus)}label{font-weight:700;display:block;margin-bottom:5px;font-size:1rem;color:#222}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.03)}.page{max-width:780px;margin:0 auto;padding:24px 18px 100px}.error-text{color:var(--danger);font-weight:700;font-size:1rem}footer.app-footer{text-align:center;padding:32px 18px 42px;color:#333;font-size:.95rem;line-height:1.6;border-top:2px solid var(--border);background:#f8f6f9;margin-top:50px}.footer-inner{max-width:700px;margin:0 auto}.footer-brand{font-weight:700;color:var(--brand-dark)}.footer-links{margin:8px 0;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.footer-contact{color:#555;font-size:.92rem}footer.app-footer a{color:var(--brand-dark);font-weight:700;text-decoration:underline}footer.app-footer a:hover{color:var(--brand-dark-hover)}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.font-switcher-bar,.no-print,a,button,footer.app-footer,nav{display:none!important}.page{padding:0!important;margin:0!important}#invoice-document,.page{max-width:100%!important;width:100%!important}#invoice-document{border:2px solid #300036!important;box-shadow:none!important;margin:0 auto!important;page-break-inside:avoid;break-inside:avoid}}