:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#203246;background:#f3f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#142b40;color:white;padding:22px 5%;display:flex;justify-content:space-between;gap:20px}header strong{font-size:23px}header span{font-weight:400;color:#c2d2df}main{max-width:1180px;margin:30px auto;padding:0 24px}h1{font-size:29px;margin:0 0 12px}h2{font-size:21px;margin-top:0}p{line-height:1.6;color:#526477}.card{background:white;border:1px solid #dce4ed;border-radius:16px;padding:26px;margin:18px 0;box-shadow:0 5px 20px #16314b06}.narrow{max-width:500px;margin:35px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.grid .card{margin:0}label{display:block;font-weight:600;font-size:14px;margin:16px 0 7px}input,select,button{font:inherit;border-radius:8px}input,select{width:100%;padding:11px;border:1px solid #bccbd9;background:white;color:#203246}button{padding:10px 16px;border:1px solid #bdccd9;background:white;color:#203246;cursor:pointer;margin:8px 8px 0 0}button.primary{background:#176b63;border-color:#176b63;color:white}button:disabled{opacity:.5;cursor:wait}button:hover:not(:disabled){filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2b94bd;outline-offset:2px}nav{display:flex;flex-wrap:wrap;margin:18px 0}nav button.active{background:#142b40;color:white}#notice:not(:empty){padding:15px;border-radius:10px;background:#e3f3ee;border:1px solid #a4d5c2;white-space:pre-wrap}#notice.error{background:#fff0ed;border-color:#efb2a2;color:#9c3425}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid #e4eaf0;vertical-align:top}th{color:#607587;font-size:12px;text-transform:uppercase}td select{min-width:150px}small,.muted{color:#667b8f}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#e9f0f6;font-size:13px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f5f8;padding:16px;border-radius:8px}footer{padding:30px;text-align:center;color:#74879a;font-size:13px}.secret{border:2px solid #d49d35}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar select{max-width:380px}@media(max-width:600px){header{flex-direction:column}main{padding:0 14px}.card{padding:18px}.toolbar{align-items:stretch;flex-direction:column}h1{font-size:24px}}

dialog{border:1px solid #bdccd9;border-radius:16px;padding:28px;max-width:480px;width:calc(100% - 32px);color:#203246}dialog::backdrop{background:#142b4088}

input[type=checkbox]{width:auto;margin-right:8px;accent-color:#176b63}

.signature-preview{display:block;max-width:320px;max-height:120px;object-fit:contain;margin:16px 0;background:white;border:1px solid #d4dae3;}

/* Shared quotation column hierarchy for supplier and calculated rows. */
.proposal-grid{overflow-x:auto}.proposal-grid table{min-width:1050px}.proposal-grid th{background:#fff0ab;color:#172b3a;white-space:normal}.proposal-grid td{vertical-align:top}.proposal-grid td:nth-child(4){min-width:180px}.proposal-grid td:nth-child(7),.proposal-grid td:nth-child(8){white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.notification-item {padding:16px 0;border-bottom:1px solid #dbe3ee;}
.notification-item p {margin:8px 0;overflow-wrap:anywhere;}
.notification-item button {margin:8px 8px 0 0;}
.notification-item small {display:block;color:#53657d;}
