:root{--bg:#f5f7f8;--card:#fff;--ink:#1e293b;--muted:#64748b;--brand:#278fa6;--brand2:#0f6478;--line:#dbe3e8;--danger:#b42318;--ok:#067647}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.container{max-width:1180px;margin:auto;padding:24px}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{display:flex;align-items:center;gap:22px;min-height:70px}.brand{font-weight:800;color:var(--brand2);font-size:20px;margin-right:auto}.nav a{font-weight:600;color:#475569}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:9px;border:1px solid transparent;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:var(--brand2);border-color:var(--line)}.btn.danger{background:var(--danger)}.hero{padding:44px 0 20px}.hero h1{font-size:42px;margin:0 0 10px}.hero p{color:var(--muted);max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 3px 14px rgba(15,23,42,.04)}.card h3{margin:0 0 8px}.muted{color:var(--muted)}.price{font-size:20px;font-weight:800;color:var(--brand2);margin:12px 0}.tag{display:inline-block;background:#e7f5f8;color:var(--brand2);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-weight:700;font-size:14px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}textarea{min-height:100px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f8fafc;font-size:13px}.notice{padding:12px 14px;border-radius:9px;background:#ecfdf3;color:var(--ok);margin-bottom:16px}.error{background:#fff1f3;color:#b42318}.internal-banner{background:#fff8e7;border:1px solid #f0d08a;padding:12px 16px;border-radius:10px;margin-bottom:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 14px}.section-title h2{margin:0}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.hero h1{font-size:34px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.nav{flex-wrap:wrap;padding:12px 0}.container{padding:16px}.hero{padding-top:26px}}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini{min-height:64px}.quote-summary{margin-left:auto;max-width:420px;padding:16px 0}.quote-summary>div,.totals>div{display:flex;justify-content:space-between;gap:30px;padding:7px 0}.quote-summary .grand,.totals .grand{border-top:2px solid var(--ink);font-size:19px;margin-top:6px;padding-top:12px}.quote-sheet{background:#fff;border:1px solid var(--line);padding:42px;max-width:980px;margin:auto}.quote-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.quote-head h1{margin:0 0 6px;color:var(--brand2)}.quote-meta{text-align:right;line-height:1.7}.quote-table{margin-top:30px}.totals{max-width:430px;margin:20px 0 20px auto}.quote-notes{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.quote-foot{text-align:center;margin-top:60px;color:var(--muted);font-size:12px}.quote-sheet.multigenes .quote-head h1{color:#111}.quote-sheet.quantivest .quote-head h1{color:#111}@media(max-width:750px){.two-col{grid-template-columns:1fr}.quote-sheet{padding:20px}.quote-head{flex-direction:column}.quote-meta{text-align:left}}@media print{body{background:#fff}.no-print,.topbar{display:none!important}.container{max-width:none;padding:0}.quote-sheet{border:0;padding:12mm;box-shadow:none}.quote-table th,.quote-table td{font-size:11px}}
/* v0.3 quotation document templates */
.doc-company{display:flex;flex-direction:column;gap:3px;font-size:12px;margin-bottom:22px}.doc-company strong{font-size:17px}.doc-company.center{text-align:center;align-items:center}.doc-title{text-align:center;font-size:22px;letter-spacing:.08em;margin:18px 0 28px}.doc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;line-height:1.65;margin-bottom:28px}.doc-meta-grid .right{text-align:right}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;border-top:1px solid #111;padding-top:14px;margin-top:18px}.terms-block{margin-top:28px;line-height:1.8}.issuer{margin-top:30px;line-height:1.6}.issuer span,.small{font-size:12px}.doc-footer{text-align:center;border-top:1px solid #aaa;margin-top:55px;padding-top:14px;font-size:11px;line-height:1.55}.template-multigenes,.template-quantivest{color:#111}.template-multigenes .quote-table th,.template-quantivest .quote-table th{background:#fff;border-top:1px solid #111;border-bottom:1px solid #111}.template-multigenes .quote-table td,.template-quantivest .quote-table td{border-bottom:1px solid #ddd}.template-biogenes .quote-table th{background:#f4f7f8}.quote-sheet{min-height:270mm}
@media(max-width:750px){.doc-meta-grid,.terms-grid{grid-template-columns:1fr}.doc-meta-grid .right{text-align:left}}
@media print{@page{size:A4;margin:9mm}.quote-sheet{min-height:auto;padding:7mm 10mm;font-size:11px}.doc-company{font-size:9px}.doc-company strong{font-size:14px}.doc-title{font-size:18px;margin:12px 0 18px}.doc-meta-grid{gap:20px;margin-bottom:18px}.quote-table{margin-top:14px}.issuer{margin-top:22px}.doc-footer{margin-top:35px}}
