:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--brand:#1455a0;--danger:#b42318;--line:#e5e7eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0}.top>div{display:flex;align-items:center;gap:12px}.small-logo{width:80px;height:40px;object-fit:contain}nav a{margin-left:16px;color:var(--brand);text-decoration:none;font-weight:600}.container{max-width:1100px;margin:28px auto;padding:0 18px}.card,.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(16,24,40,.06)}.login-card{max-width:460px;margin:20px auto}.login-logo{display:block;width:400px;max-width:100%;height:200px;object-fit:contain;margin:0 auto 12px}h1{margin:0 0 18px}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.button,button{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700;text-decoration:none;cursor:pointer}label{display:block;font-weight:700;margin:10px 0}input,textarea{width:100%;padding:10px;border:1px solid #d0d5dd;border-radius:10px;margin-top:6px;font:inherit}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.form-grid h2,.wide{grid-column:1/-1}.item-row{display:grid;grid-template-columns:2fr 2fr .8fr .8fr 1fr .8fr auto;gap:8px;margin:8px 0}.alert{background:#fff1f0;color:var(--danger);border:1px solid #fecdca;border-radius:12px;padding:12px;margin:12px 0}.muted{color:var(--muted);font-size:.94rem}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left}th{background:#f8fafc}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.totals{margin-left:auto;max-width:300px;text-align:right;font-size:1.05rem;line-height:1.8}footer{text-align:center;color:var(--muted);padding:22px}@media(max-width:760px){.top,.hero{display:block}.form-grid,.two,.item-row{grid-template-columns:1fr}nav a{display:inline-block;margin:8px 10px 0 0}}@media print{.top,footer,button,.button{display:none}.container{margin:0;max-width:none}.card{box-shadow:none;border:0}}
.ok{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;border-radius:12px;padding:12px;margin:12px 0}
