:root{--red:#ef3338;--text:#111;--muted:#666;--line:#ddd;--bg:#f4f5f7}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}.topbar{background:#111;color:#fff;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;font-size:22px}.brand b{color:var(--red)}
.nav a{color:#fff;text-decoration:none;margin-left:18px;font-size:14px}.wrap{max-width:1100px;margin:28px auto;padding:0 18px}.card{background:#fff;border-radius:10px;padding:22px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:20px}
h1,h2,h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #ccc;border-radius:6px;font:inherit}textarea{min-height:120px;resize:vertical}
.btn{display:inline-block;border:0;border-radius:6px;padding:10px 15px;background:#111;color:#fff;text-decoration:none;cursor:pointer;font-weight:700}.btn.red{background:var(--red)}.btn.light{background:#eee;color:#111}.actions{display:flex;gap:8px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase}.right{text-align:right}.muted{color:var(--muted)}.flash{padding:10px 12px;background:#e9f7ec;border-radius:6px;margin-bottom:14px}.error{background:#fdeaea;color:#8c1d1d}.login{max-width:430px;margin:10vh auto}.small{font-size:12px}
@media(max-width:700px){.grid,.grid-3{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px;flex-direction:column}.nav a{margin:0 14px 0 0}}

/* Offer preview */
.offer-sheet{width:210mm;min-height:297mm;margin:0 auto;background:white;padding:18mm 18mm 14mm 24mm;position:relative;color:#111;font-family:Arial,Helvetica,sans-serif}.offer-head{display:grid;grid-template-columns:1fr 1fr;align-items:start;margin-bottom:18mm}.offer-logo{font-size:40px;font-weight:900;letter-spacing:-2px}.offer-logo span{color:var(--red)}.offer-valid{font-size:11px;margin-top:-4px}.offer-client{text-align:center}.offer-client .name{font-size:28px;font-weight:900;line-height:.95}.offer-client .addr{font-size:16px;margin-top:8px}.offer-side{position:absolute;left:6mm;top:110mm;transform:rotate(-90deg);transform-origin:left top;font-size:18px;font-weight:900;white-space:nowrap}.offer-side span{color:var(--red)}
.offer-table{width:100%;border-collapse:collapse;margin-bottom:17mm}.offer-table th{font-size:13px;border-bottom:2px solid var(--red);padding:5px}.offer-table td{padding:7px 5px;border-bottom:2px solid var(--red)}.offer-table .service-no{color:var(--red);font-weight:700}.offer-table .service-title{font-weight:700}.offer-total-row td{border:0;padding-top:9px}.offer-total-row .label{font-weight:900;text-align:right}.offer-body{font-size:13px;line-height:1.28}.offer-body h3{font-size:15px;margin:12px 0 4px}.offer-body p{margin:0 0 8px;white-space:pre-line}.offer-footer{position:absolute;left:18mm;right:18mm;bottom:13mm;text-align:center;font-size:9px}.offer-footer .vat{padding-bottom:6px;border-bottom:3px solid #111;margin-bottom:8px}.offer-footer .company{font-weight:700}.offer-controls{max-width:210mm;margin:18px auto;display:flex;gap:8px}
@media print{body{background:#fff}.topbar,.offer-controls{display:none!important}.wrap{max-width:none;margin:0;padding:0}.card{box-shadow:none;padding:0;margin:0}.offer-sheet{margin:0;width:210mm;min-height:297mm;box-shadow:none}@page{size:A4;margin:0}}
