:root{--primary:#f60;--accent:#006bff;--bg:#f5f7fb;--border:#d0d7e2;--danger:#c53030;--info:#2b6cb0;--text:#1a202c;--radius-card:18px}*{box-sizing:border-box}body{color:var(--text);background-color:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-body{background-color:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;display:flex}.login-wrapper{width:100%;max-width:420px;margin-top:72px;padding:16px}.login-card{border-radius:var(--radius-card);background-color:#fff;padding:28px 26px 24px;box-shadow:0 14px 40px #0f172a29}.login-logo{text-align:center;margin-bottom:34px}.login-logo img{max-height:90px}.form-group{margin-bottom:18px}label{margin-bottom:6px;font-size:.9rem;display:block}input[type=text]{border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-size:.95rem}.btn-primary{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:10px;padding:11px 18px;font-size:.95rem;font-weight:600}.btn{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.92rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn-inline{width:auto;margin-top:0}.btn-secondary{color:var(--accent);border:1px solid var(--border);background:#fff}.btn-secondary:hover{background:#f8fbff}.btn-primary:hover{opacity:.96}.result-main{background-color:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:32px 16px;display:flex}.result-box{border-radius:var(--radius-card);background-color:#fff;width:100%;max-width:1024px;padding:24px 20px;box-shadow:0 18px 45px #0f172a26}.result-header{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr 90px;align-items:center;gap:12px;padding-bottom:12px;display:grid}.result-brand{align-items:center;gap:12px;display:flex}.result-logo{width:auto;height:60px}.result-heading{text-align:center;flex:1}.result-title{margin:0;font-size:1.15rem;font-weight:700}.result-meta{color:#475569;gap:4px;margin-top:6px;font-size:.88rem;display:grid}.result-spacer{width:90px;height:1px}.table-wrapper{margin-top:12px;overflow-x:auto}.result-totals{border-top:1px solid var(--border);gap:10px;margin-top:14px;padding-top:12px;display:grid}.result-total-general{justify-content:flex-end;gap:12px;font-weight:700;display:flex}.result-total-letters{color:#1f2937;font-size:.9rem}.result-total-letters .label{font-weight:600}.pdf-actions{flex-wrap:wrap;justify-content:flex-end;gap:16px;margin-top:16px;display:flex}.pdf-link{color:var(--accent);padding:2px 0;font-size:.95rem;font-weight:600;text-decoration:none}.pdf-link:hover{text-decoration:underline}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table thead{background-color:#f0f4ff}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;padding:8px 10px}.data-table th{font-weight:600}.data-table td.money{text-align:right;white-space:nowrap}.data-table td.money-text{font-style:italic}.alert{border-radius:8px;margin-bottom:16px;padding:10px 12px}.alert-error{color:var(--danger);background-color:#fff5f5;border:1px solid #feb2b2}.alert-info{color:var(--info);background-color:#ebf8ff;border:1px solid #90cdf4}.pdf-form{margin-top:16px}.back-link{margin-top:12px;font-size:.9rem}.back-link a{color:var(--accent);text-decoration:none}.back-link a:hover{text-decoration:underline}body{background-color:var(--bg);flex-direction:column;min-height:100vh;display:flex}.login-wrapper{flex:1;align-self:center}.login-logo img{width:auto;height:90px}.result-main{flex:1;min-height:0}.btn-primary:disabled{opacity:.7;cursor:progress}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.site-footer{text-align:center;color:#94a3b8;padding:10px 16px 12px;font-size:.7rem}.site-footer a{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.site-footer a:hover .site-footer-url{text-decoration:underline}.site-footer img{opacity:.85}
