*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#2d2d8f;--navy-dark:#1e1e6e;--navy-light:#e8e8f7;--red:#c0392b;--green:#27ae60;--yellow:#f39c12;--gray-50:#f8f9fc;--gray-100:#f0f1f5;--gray-200:#e2e4ed;--gray-400:#9399ad;--gray-700:#3d4256;--white:#fff;--radius:10px;--shadow:0 2px 12px #2d2d8f1a;--shadow-card:0 4px 20px #2d2d8f1f;--font:"Segoe UI", system-ui, -apple-system, sans-serif}body{font-family:var(--font);background:var(--gray-50);color:var(--gray-700);min-height:100vh;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.role-wizard{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);text-align:center;width:320px;padding:32px}.role-wizard h2{color:var(--navy);margin-bottom:8px}.role-wizard p{color:var(--gray-400);margin-bottom:20px;font-size:.9rem}.role-wizard select{border:1px solid var(--gray-200);border-radius:6px;width:100%;margin-bottom:16px;padding:10px}.role-wizard button{background:var(--navy);width:100%;color:var(--white);border:none;border-radius:6px;padding:10px;font-weight:600}.role-wizard button:disabled{opacity:.6;cursor:default}.role-wizard-error{color:var(--red);margin-bottom:12px;font-size:.85rem}.signin-page{background:var(--gray-50);justify-content:center;align-items:center;min-height:100vh;display:flex}.cl-headerTitle{font-size:0!important}.cl-headerTitle:after{content:"Welcome Borian!";font-size:1.25rem}.cl-headerSubtitle{font-size:0!important}.cl-headerSubtitle:after{content:"Please sign in with your Bori Account";font-size:.875rem}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--white);border-bottom:3px solid var(--navy);z-index:100;align-items:center;min-height:64px;padding:12px 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000014}.header-user{margin-left:auto}.header-logo{color:var(--navy);letter-spacing:-.02em;font-size:1.4rem;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.btn-back-menu{color:var(--navy);background:0 0;border:none;padding:6px 10px;font-size:.9rem;font-weight:600}.btn-back-menu:hover{color:var(--navy-dark)}.app-main{flex-direction:column;flex:1;gap:20px;width:100%;max-width:900px;margin:0 auto;padding:24px 20px 40px;display:flex}.app-footer{text-align:center;color:var(--gray-400);border-top:1px solid var(--gray-200);background:var(--white);padding:14px;font-size:.78rem}.menu-page{flex-direction:column;align-items:center;gap:24px;padding:40px 0;display:flex}.menu-title{color:var(--navy-dark);font-size:1.4rem}.menu-grid{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;display:flex}.menu-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--navy-dark);flex-direction:column;align-items:center;gap:12px;min-width:160px;padding:28px 36px;font-size:1.05rem;font-weight:600;display:flex}.menu-card:hover{border-color:var(--navy);box-shadow:0 6px 24px #2d2d8f2e}.menu-card-icon{background:var(--navy-light);width:48px;height:48px;color:var(--navy);border-radius:50%;justify-content:center;align-items:center;display:flex}.menu-card-icon svg{width:26px;height:26px}.menu-empty{color:var(--gray-400);text-align:center;max-width:320px}.calculator-page{flex-direction:column;gap:20px;display:flex}.calc-title{color:var(--navy-dark);font-size:1.2rem}.calc-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px}.calc-section-title{color:var(--navy-dark);margin-bottom:12px;font-size:.95rem;font-weight:700}.role-table-wrap{overflow-x:auto}.role-table{min-width:720px}.role-table-header,.role-row{grid-template-columns:1.3fr 160px 64px 80px 110px 130px 32px;align-items:center;gap:8px;display:grid}.role-table-header{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);border-bottom:1px solid var(--gray-200);margin-bottom:6px;padding:0 4px 6px;font-size:.73rem;font-weight:700}.role-row{margin-bottom:6px}.role-num{text-align:center}.role-computed{color:var(--gray-700);text-align:right;padding-right:4px;font-size:.85rem}.percent-wrap{align-items:center;display:flex}.percent-field{text-align:right;border-radius:6px 0 0 6px;flex:1;min-width:0}.percent-suffix{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-400);border-left:none;border-radius:0 6px 6px 0;flex-shrink:0;padding:9px 10px;font-size:.85rem}.calc-flow{flex-direction:column;display:flex}.calc-flow-row{border-bottom:1px solid var(--gray-100);grid-template-columns:1.3fr 180px 1fr;align-items:center;gap:12px;padding:9px 4px;display:grid}.calc-flow-label{color:var(--gray-700);font-size:.88rem;font-weight:600}.calc-flow-value{color:var(--navy);text-align:right;font-size:.9rem;font-weight:700}.calc-flow-total{border-bottom:none;border-top:2px solid var(--navy);margin-top:4px;padding-top:12px}.calc-flow-total .calc-flow-label,.calc-flow-total .calc-flow-value{font-size:1.05rem}.calc-flow-subtotal{background:var(--navy-light);border-bottom:none;border-radius:6px}.periode-bar{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 18px;display:flex}.periode-bar label{color:var(--navy);white-space:nowrap;font-size:.9rem;font-weight:600}.input-periode{border:1px solid var(--gray-200);color:var(--gray-700);border-radius:6px;outline:none;padding:6px 10px;font-size:.9rem;transition:border-color .15s}.input-periode:focus{border-color:var(--navy)}.periode-display{color:var(--navy);background:var(--navy-light);border-radius:20px;padding:4px 10px;font-size:.9rem;font-weight:600}.file-actions{gap:6px;margin-left:auto;display:flex}.btn-file{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s}.btn-load{border:1px solid var(--gray-200);color:var(--gray-700);background:0 0}.btn-load:hover{border-color:var(--navy);color:var(--navy);background:var(--navy-light)}.btn-save{background:var(--navy);border:1px solid var(--navy);color:#fff}.btn-save:hover{background:var(--navy-dark)}.person-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--gray-200);overflow:hidden}.person-header{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:16px 20px;display:flex}.person-avatar{color:#fff;background:#ffffff40;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.input-name{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;outline:none;flex:180px;min-width:0;max-width:320px;padding:8px 12px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s}.input-name::placeholder{color:#ffffff8c}.input-name:focus{background:#ffffff40;border-color:#fff9}.select-role{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;outline:none;flex-shrink:0;padding:8px;font-size:.85rem;font-weight:600}.select-role option{background:var(--navy-dark);color:#fff}.role-pills{background:#0000002e;border:1px solid #ffffff2e;border-radius:8px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.role-pill{color:#ffffffbf;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.role-pill:hover{color:#fff;background:#ffffff1f}.role-pill.active{color:var(--navy);background:#fff}.btn-delete-person{color:#fff;background:#c0392bb3;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;line-height:1;transition:background .15s;display:flex}.btn-delete-person:hover{background:var(--red)}.projects-list{flex-direction:column;gap:0;display:flex}.project-form{border-top:1px solid var(--gray-100);padding:18px 20px;transition:opacity .15s}.project-form+.project-form{border-top:2px solid var(--navy-light)}.project-form.dragging{opacity:.4}.drag-handle{color:var(--gray-400);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px;font-size:1.1rem;line-height:1}.drag-handle:active{cursor:grabbing}.projects-list.drop-over{background:var(--navy-light);outline:2px dashed var(--navy);outline-offset:-4px;border-radius:0 0 8px 8px}.drop-placeholder{text-align:center;color:var(--navy);padding:20px;font-size:.85rem;font-weight:600}.project-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.project-badge{background:var(--navy-light);color:var(--navy);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:700}.project-actions{align-items:center;gap:6px;display:flex}.btn-duplicate-project{border:1px solid var(--gray-200);color:var(--navy);background:0 0;border-radius:6px;padding:3px 10px;font-size:.8rem;transition:all .15s}.btn-duplicate-project:hover{background:var(--navy-light);border-color:var(--navy)}.select-move-to{border:1px solid var(--gray-200);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:6px;max-width:140px;padding:3px 8px;font-size:.8rem;transition:border-color .15s}.select-move-to:hover{border-color:var(--navy);color:var(--navy)}.btn-delete-project{border:1px solid var(--gray-200);color:var(--red);background:0 0;border-radius:6px;padding:3px 10px;font-size:.8rem;transition:all .15s}.btn-delete-project:hover{background:var(--red);color:#fff;border-color:var(--red)}.project-fields{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.field{border:1px solid var(--gray-200);width:100%;color:var(--gray-700);background:var(--white);border-radius:6px;outline:none;padding:9px 12px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--navy);box-shadow:0 0 0 3px #2d2d8f14}.field::placeholder{color:var(--gray-400)}.cost-wrap{align-items:center;gap:0;display:flex}.cost-prefix{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-400);white-space:nowrap;border-right:none;border-radius:6px 0 0 6px;padding:9px 10px;font-size:.85rem;font-weight:600}.cost-field{border-radius:0 6px 6px 0}.project-identity{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.components-section{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:16px;padding:12px 14px}.components-header{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);border-bottom:1px solid var(--gray-200);grid-template-columns:1fr 180px 32px;gap:8px;margin-bottom:6px;padding:0 4px 6px;font-size:.73rem;font-weight:700;display:grid}.component-row{grid-template-columns:1fr 180px 32px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.btn-delete-comp{border:1px solid var(--gray-200);width:28px;height:28px;color:var(--gray-400);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.btn-delete-comp:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}.btn-delete-comp:disabled{opacity:.3;cursor:not-allowed}.components-footer{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.btn-add-comp{border:1px dashed var(--navy);color:var(--navy);background:0 0;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.btn-add-comp:hover{background:var(--navy-light)}.comp-total{color:var(--gray-400);align-items:center;gap:8px;font-size:.82rem;display:flex}.comp-total strong{color:var(--navy);font-size:.95rem;font-weight:700}.kpi-section{margin-bottom:14px}.kpi-column-labels{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);border-bottom:1px solid var(--gray-100);grid-template-columns:1fr 200px 120px;gap:8px;margin-bottom:4px;padding:5px 8px;font-size:.73rem;font-weight:700;display:grid}.kpi-row{border-radius:6px;grid-template-columns:1fr 200px 120px;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:grid}.kpi-row:hover{background:var(--gray-50)}.kpi-meta{flex-direction:column;gap:2px;display:flex}.kpi-label-row{align-items:center;gap:5px;display:flex}.kpi-label{color:var(--gray-700);font-size:.85rem;font-weight:500}.kpi-tooltip-anchor{align-items:center;display:inline-flex;position:relative}.kpi-tooltip-icon{color:var(--gray-400);cursor:default;-webkit-user-select:none;user-select:none;font-size:.78rem;line-height:1;transition:color .15s}.kpi-tooltip-anchor:hover .kpi-tooltip-icon{color:var(--navy)}.kpi-tooltip-box{background:var(--gray-800,#1e293b);color:#fff;white-space:pre-line;z-index:100;pointer-events:none;border-radius:7px;width:260px;padding:8px 11px;font-size:.78rem;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000002e}.kpi-tooltip-box:after{content:"";border:5px solid #0000;border-top-color:var(--gray-800,#1e293b);position:absolute;top:100%;left:50%;transform:translate(-50%)}.kpi-tooltip-anchor:hover .kpi-tooltip-box{display:block}.kpi-bobot{color:var(--navy);background:var(--navy-light);border-radius:10px;width:fit-content;padding:1px 6px;font-size:.72rem;font-weight:700}.kpi-select,.kpi-number{border:1px solid var(--gray-200);width:100%;color:var(--gray-700);background:var(--white);border-radius:6px;outline:none;padding:7px 10px;font-size:.85rem;transition:border-color .15s}.kpi-select:focus,.kpi-number:focus{border-color:var(--navy)}.kpi-scores{justify-content:flex-end;align-items:center;gap:6px;display:flex}.kpi-na{opacity:.45}.kpi-na .kpi-label{text-decoration:line-through;-webkit-text-decoration-color:var(--gray-400);text-decoration-color:var(--gray-400)}.kpi-input-na{background:var(--gray-100)!important;color:var(--gray-400)!important}.score-badge{text-align:center;border-radius:20px;min-width:46px;padding:3px 8px;font-size:.82rem;font-weight:700}.score-high{color:#155724;background:#d4edda}.score-mid{color:#856404;background:#fff3cd}.score-low{color:#721c24;background:#f8d7da}.score-na{background:var(--gray-100);color:var(--gray-400);font-weight:600}.weighted-badge{color:var(--gray-400);text-align:right;min-width:38px;font-size:.8rem}.project-summary{border-top:1px solid var(--gray-100);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;display:grid}.proj-stat{border:1px solid var(--gray-200);text-align:center;background:var(--white);border-radius:8px;padding:10px 14px}.proj-stat-highlight{background:var(--navy);border-color:var(--navy)}.proj-stat-label{color:var(--gray-400);margin-bottom:4px;font-size:.75rem}.proj-stat-highlight .proj-stat-label{color:#ffffffa6}.proj-stat-value{color:var(--gray-700);font-size:1rem;font-weight:700}.proj-stat-highlight .proj-stat-value{color:#fff}.stat-success .proj-stat-value{color:var(--green)}.stat-warning .proj-stat-value{color:var(--yellow)}.stat-danger .proj-stat-value{color:var(--red)}.person-footer{background:var(--gray-50);border-top:1px solid var(--gray-200);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;display:flex}.btn-add-project{border:1.5px dashed var(--navy);color:var(--navy);background:0 0;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .15s}.btn-add-project:hover{background:var(--navy-light)}.person-total{color:var(--gray-400);flex-wrap:wrap;flex:1;align-items:center;gap:10px;font-size:.88rem;display:flex}.total-amount{color:var(--navy);font-size:1.05rem;font-weight:700}.btn-generate{background:var(--red);color:#fff;letter-spacing:.3px;border:none;border-radius:6px;padding:9px 20px;font-size:.88rem;font-weight:700;transition:background .15s,transform .1s}.btn-generate:hover{background:#a93226}.btn-generate:active{transform:scale(.97)}.bottom-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-add-person{color:var(--navy);border:1.5px dashed var(--navy);background:0 0;border-radius:8px;padding:10px 22px;font-size:.9rem;font-weight:600;transition:all .15s}.btn-add-person:hover{background:var(--navy-light)}.btn-generate-all{background:var(--red);color:#fff;letter-spacing:.3px;border:none;border-radius:8px;padding:10px 28px;font-size:.95rem;font-weight:700;transition:background .15s,transform .1s}.btn-generate-all:hover{background:#a93226}.btn-generate-all:active{transform:scale(.97)}.grand-total-bar{background:var(--navy);color:#fff;border-radius:var(--radius);font-size:.95rem;overflow:hidden}.grand-total-person+.grand-total-person{border-top:1px solid #ffffff1a}.grand-total-row{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 24px;transition:background .15s;display:flex}.grand-total-row:hover{background:#ffffff12}.grand-total-right{align-items:center;gap:10px;display:flex}.grand-total-row strong{font-size:1.05rem}.summary-chevron{opacity:.6;font-size:.65rem}.grand-total-projects{background:#0003;padding:6px 24px 10px 36px}.grand-total-project-row{color:#ffffffbf;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:5px 0;font-size:.83rem;display:flex}.grand-total-project-row:last-child{border-bottom:none}.grand-total-project-row span:last-child{color:#fff;font-weight:600}.components-section.has-claim .components-header,.components-section.has-claim .component-row{grid-template-columns:1fr 80px 180px 32px}.comp-col-claim{text-align:center}.claim-field{text-align:center;padding:6px 8px}.person-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.role-selector{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.select-role-tier1{min-width:110px}.select-role-tier2{min-width:0}.custom-rate-wrap{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;align-items:center;padding:0 8px 0 4px;display:flex}.input-custom-rate{color:#fff;text-align:right;background:0 0;border:none;outline:none;width:52px;padding:8px 2px;font-size:.85rem;font-weight:600}.input-custom-rate::placeholder{color:#ffffff80}.custom-rate-pct{color:#ffffffd9;font-size:.8rem;font-weight:700}.kpi-conditional-area{flex-direction:column;gap:5px;display:flex}@media (width<=680px){.project-identity{grid-template-columns:1fr}.components-header,.component-row{grid-template-columns:1fr 140px 28px}.kpi-column-labels,.kpi-row{grid-template-columns:1fr}.kpi-scores{justify-content:flex-start}.project-summary{grid-template-columns:1fr}.person-footer{flex-direction:column;align-items:stretch}.app-header{padding:12px 16px}.app-main{padding:16px 12px 32px}.calc-flow-row{grid-template-columns:1fr}.calc-flow-value{text-align:left}}.quotation-page{width:100%}.quotation-toolbar{align-items:center;gap:10px;margin-bottom:18px;display:flex}.quotation-search{border:1px solid var(--gray-200);min-width:0;font-size:.88rem;font-family:var(--font);color:var(--gray-700);background:var(--white);border-radius:6px;outline:none;flex:1;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.quotation-search:focus{border-color:var(--navy);box-shadow:0 0 0 3px #2d2d8f14}.quotation-search::placeholder{color:var(--gray-400)}.quotation-table{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;overflow-x:auto}.quotation-table-header,.quotation-row{grid-template-columns:92px minmax(140px,1fr) 96px 146px 110px 104px;align-items:center;gap:10px;min-width:700px;display:grid}.quotation-table-header>*,.quotation-row>*{min-width:0}.quotation-table-header{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);border-bottom:1px solid var(--gray-200);padding-bottom:8px;font-size:.73rem;font-weight:700}.quotation-row{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:12px 0;font-size:.88rem}.quotation-row:last-child{border-bottom:none}.quotation-number{color:var(--navy);text-align:left;font-size:.88rem;font-weight:700;font-family:var(--font);cursor:pointer;background:0 0;border:none;padding:0}.quotation-number:hover{text-decoration:underline}.quotation-client{line-height:1.4}.quotation-project{color:var(--gray-400);font-size:.78rem;display:block}.quotation-amount{text-align:right;white-space:nowrap;font-weight:700}.quotation-th-amount{text-align:right}.quotation-author{color:var(--gray-400);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.quotation-row-actions{justify-content:flex-end;gap:6px;display:flex}.quotation-row-actions button{border:1px solid var(--gray-200);background:var(--white);width:30px;height:30px;color:var(--gray-400);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.quotation-row-actions svg{width:16px;height:16px}.quotation-row-actions button:hover{border-color:var(--navy);color:var(--navy)}.quotation-row-actions button.danger:hover{border-color:var(--red);color:var(--red)}.quotation-empty{text-align:center;color:var(--gray-400);padding:28px 4px;font-size:.88rem}.quotation-readonly-note{color:var(--gray-400);background:var(--gray-50);border-left:3px solid var(--gray-200);border-radius:0 6px 6px 0;margin-bottom:14px;padding:8px 12px;font-size:.83rem}.quotation-error{color:var(--red);background:#fdecea;border:1px solid #f5c6c0;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}.quotation-pagination{color:var(--gray-400);justify-content:center;align-items:center;gap:16px;margin-top:18px;font-size:.83rem;display:flex}.quotation-pagination button{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);font-size:.83rem;font-family:var(--font);cursor:pointer;border-radius:6px;padding:7px 14px}.quotation-pagination button:hover:not(:disabled){border-color:var(--navy);color:var(--navy)}.quotation-pagination button:disabled{opacity:.45;cursor:not-allowed}.quotation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quotation-field{flex-direction:column;gap:6px;display:flex}.quotation-field>span{text-transform:uppercase;letter-spacing:.4px;color:var(--gray-400);font-size:.76rem;font-weight:700}.quotation-notes{border:1px solid var(--gray-200);width:100%;font-family:var(--font);color:var(--gray-700);resize:vertical;border-radius:6px;outline:none;padding:10px 12px;font-size:.86rem;line-height:1.6}.quotation-notes:focus{border-color:var(--navy);box-shadow:0 0 0 3px #2d2d8f14}.quotation-totals{width:min(340px,100%);margin-top:18px;margin-left:auto;font-size:.88rem}.quotation-totals>div{color:var(--gray-700);justify-content:space-between;gap:16px;padding:8px 12px;display:flex}.quotation-totals .quotation-grand{background:var(--navy-light);color:var(--navy-dark);border-radius:6px;font-size:.95rem}.quotation-form-actions{justify-content:flex-end;gap:10px;margin-bottom:24px;display:flex}.qgrid-wrap{overflow-x:auto}.qgrid{min-width:760px}.qgrid-head,.qgrid-row{grid-template-columns:145px 1fr 145px 125px 145px 76px;align-items:stretch;gap:6px;display:grid}.qgrid-head{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);border-bottom:1px solid var(--gray-200);margin-bottom:8px;padding-bottom:8px;font-size:.72rem;font-weight:700}.qgrid-row{margin-bottom:6px}.qgrid-cell{border:1px solid var(--gray-200);width:100%;font-family:var(--font);color:var(--gray-700);background:var(--white);border-radius:6px;outline:none;padding:8px 10px;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.qgrid-cell:focus{border-color:var(--navy);box-shadow:0 0 0 3px #2d2d8f14}.qgrid-cell::placeholder{color:var(--gray-400);font-size:.78rem}.qgrid-merged{background:var(--gray-50);border-style:dashed;border-color:var(--gray-100)}.qgrid-desc{resize:none;min-height:38px;line-height:1.5;overflow:hidden}.qgrid-num{text-align:right}.qgrid-total{white-space:nowrap;background:0 0;border-color:#0000;justify-content:flex-end;align-items:center;font-weight:600;display:flex}.qgrid-actions{align-items:center;gap:3px;display:flex}.qgrid-actions button{border:1px solid var(--gray-200);background:var(--white);width:22px;height:26px;color:var(--gray-400);cursor:pointer;border-radius:5px;font-size:.8rem;line-height:1;transition:border-color .15s,color .15s}.qgrid-actions button:hover{border-color:var(--navy);color:var(--navy)}.qgrid-add{margin-top:4px}.qgrid-hint{color:var(--gray-400);margin-top:10px;font-size:.78rem;line-height:1.6}@media (width<=680px){.quotation-fields{grid-template-columns:1fr}.quotation-toolbar{flex-direction:column;align-items:stretch}}.quotation-btn-secondary{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);font-size:.88rem;font-family:var(--font);cursor:pointer;border-radius:6px;padding:10px 20px;font-weight:600;transition:border-color .15s,color .15s}.quotation-btn-secondary:hover:not(:disabled){border-color:var(--navy);color:var(--navy)}.quotation-btn-secondary:disabled{opacity:.5;cursor:not-allowed}
