:root{--navy:#0b2b5b;--blue:#2563eb;--blue-soft:#eef4ff;--canvas:#f5f7fb;--surface:#fff;--muted:#66758d;--text:#152542;--line:#e3e9f2;--green:#137a52;--green-soft:#e9f8f0;--amber:#a96508;--amber-soft:#fff5df;--radius:16px;--shadow:0 14px 40px rgba(20,43,83,.06);--sidebar:244px}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.icon-lg{width:34px;height:34px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;height:100vh;padding:22px 14px 17px;background:var(--surface);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;min-height:60px;padding:4px 12px 26px}.brand img{display:block;width:150px;max-height:48px;object-fit:contain;object-position:left center}.nav-list{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;width:100%;min-height:45px;padding:0 13px;border:1px solid transparent;border-radius:10px;color:#58677e;background:transparent;font-weight:650;text-align:left}.nav-link:hover{color:var(--blue);background:#f5f8ff}.nav-link.active{color:var(--blue);background:var(--blue-soft)}.sidebar-bottom{display:grid;gap:4px;margin-top:auto;padding-top:17px;border-top:1px solid var(--line)}.content{min-width:0;padding:0 38px 50px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:24px;border-bottom:1px solid var(--line)}.global-search,.search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted)}.global-search{width:min(450px,45vw);min-height:39px;padding:0 12px}.global-search input,.search-field input{min-width:0;border:0;background:transparent;box-shadow:none}.top-actions{display:flex;align-items:center;gap:10px}.prototype-badge{border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:var(--muted);background:#f9fafc;font-size:12px;font-weight:700;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;width:37px;height:37px;padding:0;border:0;border-radius:9px;color:#5c6a80;background:transparent}.icon-button:hover{color:var(--blue);background:var(--blue-soft)}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eaf0fb;color:var(--navy);font-size:11px;font-weight:800}.user-name{color:var(--text);font-size:12px;font-weight:750;line-height:1.2}.user-name small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500}.view{display:none;padding-top:30px}.view.active{display:block}.page-heading,.quote-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 5px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.12em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(26px,2.6vw,33px);letter-spacing:-.045em;line-height:1.1}h2{margin-bottom:0;font-size:17px;letter-spacing:-.025em}h3{margin-bottom:0;font-size:15px}.page-copy{margin:7px 0 0;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid transparent;border-radius:10px;background:var(--surface);color:#43516a;font-weight:750;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 7px 14px rgba(37,99,235,.18)}.button.primary:hover{background:#1747ad}.button.secondary{border-color:#cfdcf4;color:var(--blue)}.button.secondary:hover{border-color:var(--blue);background:var(--blue-soft)}.button.ghost{color:#68768c;background:transparent}.text-button,.row-action,.back{display:inline-flex;align-items:center;gap:6px;border:0;padding:5px 0;color:var(--blue);background:transparent;font-weight:750;text-align:left}.notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px;padding:12px 14px;border:1px solid #d4e2ff;border-radius:12px;color:#3f5678;background:#f6f9ff}.notice b{color:var(--navy)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric{min-height:124px;padding:20px}.metric>span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;margin:10px 0 6px;font-size:28px;letter-spacing:-.045em}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:16px;margin:16px 0}.card-title,.table-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card-title p,.table-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.chart-card{padding:20px}.chart-card select{width:auto}.chart-empty{display:grid;place-items:center;min-height:205px;margin-top:10px;border:1px dashed #ccd9ed;border-radius:12px;color:var(--muted);text-align:center}.chart-empty p{margin:9px 20px 0}.quick{padding:20px}.quick>.card-title{margin-bottom:6px}.quick button{display:grid;grid-template-columns:20px 1fr 20px;align-items:center;gap:11px;width:100%;padding:13px 3px;border:0;border-bottom:1px solid var(--line);color:#536178;background:transparent;text-align:left}.quick button:last-child{border-bottom:0}.quick button:hover b,.quick button:hover>.icon{color:var(--blue)}.quick b{display:block;color:var(--text)}.quick small{display:block;margin-top:2px;color:var(--muted)}.quick .chevron{justify-self:end;color:var(--muted)}.empty-card,.item-empty{display:grid;place-items:center;gap:9px;padding:42px 20px;text-align:center}.empty-card{min-height:230px}.empty-card>.icon,.item-empty>.icon{color:var(--blue)}.empty-card p,.item-empty p{max-width:480px;margin-bottom:8px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:10px;padding:11px;margin-bottom:16px}.search-field{flex:1;min-height:41px;padding:0 11px}.select-field select{min-height:41px;min-width:180px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d7e0ed;border-radius:9px;outline:none;color:var(--text);background:var(--surface)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.13)}.table-card{overflow:hidden}.table-card-head{padding:19px 20px 14px}.table-more{margin-top:-4px}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}th{padding:12px 15px;color:#78859a;background:#f9fafc;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}td{padding:14px 15px;border-top:1px solid var(--line);color:#536178}td b{color:var(--text)}.pill{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.pill.review{color:var(--amber);background:var(--amber-soft)}.pill.success{color:var(--green);background:var(--green-soft)}.pill.draft{color:#5f6e85;background:#edf1f7}.quote-view{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:20px}.quote-top{grid-column:1/-1;align-items:center;margin-bottom:0}.quote-head{display:flex;align-items:center;gap:12px;margin-right:auto}.quote-head .eyebrow{margin-bottom:4px}.quote-workspace{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);padding:25px 40px 14px;border-bottom:1px solid var(--line)}.steps:before{position:absolute;top:40px;left:12.5%;right:12.5%;height:2px;content:"";background:#e1e8f3}.step{position:relative;z-index:1;display:grid;justify-items:center;gap:7px;border:0;color:#8591a4;background:transparent;font-size:12px;font-weight:750}.step i{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d8e1ee;border-radius:50%;color:#718096;background:var(--surface);font-style:normal}.step.active{color:var(--blue)}.step.active i{border-color:var(--blue);color:#fff;background:var(--blue)}.stage{display:none;gap:23px;padding:31px 43px}.stage.active{display:grid}.stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.stage-heading p{margin:5px 0 0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:grid;gap:7px;color:#34445e;font-weight:750}.field>span{font-size:13px}.field small{color:var(--muted);font-size:12px;font-weight:500}.field-span-2{grid-column:span 2}.item-empty{min-height:255px;border:1px dashed #cad7ea;border-radius:13px;background:#fbfcff}.review-note{display:flex;align-items:flex-start;gap:9px;padding:13px;border:1px solid #d8e6ff;border-radius:10px;color:#49627f;background:#f6f9ff}.review-note .icon{margin-top:1px;color:var(--blue)}.wizard-footer{display:flex;justify-content:space-between;padding:0 43px 30px}.quote-summary{display:none;align-self:start;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.quote-summary.visible{display:block}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--line)}.summary-stage{color:var(--muted);font-size:12px;font-weight:700}.summary-empty{display:grid;place-items:center;gap:8px;min-height:145px;color:var(--muted);text-align:center}.summary-empty p{margin:0}.summary-values{display:grid;gap:2px;padding-top:14px}.summary-values p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:6px 0;color:#66758d}.summary-values b{color:var(--text)}.summary-values hr{width:100%;margin:8px 0 3px;border:0;border-top:1px solid var(--line)}.summary-values .total{padding-top:8px;font-size:18px;font-weight:800}.summary-values .total b{color:var(--blue)}.summary-values small{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.4}.modal{width:min(640px,calc(100vw - 30px));max-height:min(88vh,800px);padding:0;overflow:auto;border:1px solid var(--line);border-radius:17px;box-shadow:0 26px 80px rgba(10,29,61,.25);background:var(--surface)}.modal:backdrop{background:rgba(8,27,59,.45);backdrop-filter:blur(3px)}.modal-form{display:grid}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--surface)}.modal-head{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}.modal-head .eyebrow{margin-bottom:3px}.modal-body{display:grid;gap:18px;padding:21px}.modal-body p{margin:0;color:var(--muted)}.modal-foot{position:sticky;bottom:0;justify-content:flex-end;border-top:1px solid var(--line)}.modal-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.modal-choice{display:grid;gap:5px;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--surface);text-align:left}.modal-choice.selected{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.modal-choice b{color:var(--text)}.modal-note{padding:11px 12px;border-radius:10px;color:#49627f;background:#f5f8fe;font-size:13px}.toast{position:fixed;z-index:30;right:20px;bottom:20px;max-width:min(390px,calc(100vw - 40px));padding:13px 16px;border-radius:11px;color:#fff;background:var(--navy);box-shadow:0 16px 42px rgba(7,30,67,.25);opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}.toast.visible{opacity:1;transform:translateY(0)}:focus-visible{outline:3px solid rgba(37,99,235,.42);outline-offset:2px}@media(max-width:1080px){:root{--sidebar:76px}.sidebar{padding-inline:11px}.brand{justify-content:center;padding-inline:0}.brand img{width:42px;height:42px;object-fit:cover;object-position:left;border-radius:8px}.nav-link{justify-content:center;padding-inline:0}.nav-link span,.sidebar-bottom .nav-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.content{padding-inline:25px}.quote-view{grid-template-columns:1fr}.quote-summary{grid-column:1}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;z-index:20;flex-direction:row;width:100%;height:68px;padding:7px 8px;border-top:1px solid var(--line);border-right:0}.brand,.sidebar-bottom{display:none}.nav-list{grid-template-columns:repeat(4,1fr);width:100%;gap:3px}.nav-link{min-height:53px;gap:3px;flex-direction:column;border-radius:9px;font-size:10px}.nav-link span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.content{padding:0 14px 89px}.topbar{min-height:67px;gap:8px}.global-search{width:auto;flex:1;min-width:0}.top-actions{gap:3px}.prototype-badge,.user-name{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric{min-height:105px;padding:15px}.metric strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr;gap:12px;margin:12px 0}.view{padding-top:22px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading>.button{width:100%}.toolbar{align-items:stretch;flex-wrap:wrap}.search-field,.select-field,.select-field select{width:100%}.toolbar .button{width:100%}.quote-top{align-items:flex-start;flex-wrap:wrap}.quote-head{order:3;width:100%}.quote-top>.button{margin-left:auto}.steps{padding:20px 11px 13px}.steps:before{top:35px}.step{font-size:10px}.step i{width:29px;height:29px}.stage{padding:25px 18px}.stage-heading{align-items:flex-start;flex-direction:column;gap:10px}.stage-heading>.button{width:100%}.form-grid{grid-template-columns:1fr;gap:15px}.field-span-2{grid-column:auto}.wizard-footer{padding:0 18px 22px}.wizard-footer .button{min-width:112px}.quote-summary{margin-top:-7px}.modal{width:min(100%,calc(100vw - 20px));max-height:90vh;border-radius:17px 17px 10px 10px}.modal-body{padding:17px}.modal-choice-grid{grid-template-columns:1fr}}
