:root{color:#182424;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7f7;font-family:Arial,Helvetica,sans-serif}body{min-width:320px;overflow:hidden}button,input{font:inherit}:root{--teal:#014d4e;--teal-dark:#013b3c;--teal-soft:#e1f1f1;--bg:#f4f7f7;--card:#fff;--text:#182424;--muted:#5f6f70;--line:#dce6e6;--gold:#f5b942;--shadow:0 18px 50px #014d4e24;--shadow-strong:0 28px 70px #014d4e38}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--text);background:var(--bg);font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}.page-center,.login-page{background:linear-gradient(135deg, #e1f1f1f2, #f4f7f7f5), var(--bg);place-items:center;width:100vw;min-height:100vh;padding:28px;display:grid}.login-card{width:min(520px,100%);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #014d4e1a;border-radius:18px;padding:32px;position:relative;overflow:hidden}.login-card:before{content:"";background:linear-gradient(90deg, var(--teal), var(--gold));height:7px;position:absolute;inset:0 0 auto}.login-logo{width:min(250px,72%);height:auto;margin:0 0 22px;display:block}.login-card h1{color:var(--teal-dark);margin:0 0 12px;font-size:38px;line-height:1.02}.subtitle{color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.5}.login-form{gap:8px;display:grid}.login-form label{color:var(--teal-dark);margin:10px 0 4px;font-size:13px;font-weight:700;display:block}.login-form input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;min-height:48px;padding:0 14px;font-size:15px}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #014d4e1f}.login-form button,.primary-button,.user-actions button,.ghost-button{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:50px;padding:0 16px;font-size:15px;font-weight:800}.primary-button{white-space:nowrap}.ghost-button{border:1px solid var(--line);color:var(--teal-dark);background:#fff}.login-form button{margin-top:16px}.login-form button:hover,.primary-button:hover,.user-actions button:hover,.ghost-button:hover{filter:brightness(.96)}.app-shell{background:var(--bg);grid-template-columns:240px minmax(0,1fr);width:100vw;height:100vh;display:grid;overflow:hidden}.sidebar{background:linear-gradient(180deg, var(--teal-dark) 0%, var(--teal) 100%);color:#fff;padding:22px 16px;overflow-y:auto;box-shadow:inset -1px 0 #ffffff14}.sidebar-brand{flex-direction:column;align-items:flex-end;gap:10px;margin-bottom:28px;display:flex}.sidebar-brand img{width:min(168px,100%);height:auto;display:block}.sidebar-brand span{color:#ffffffbd;font-size:13px;display:block}.sidebar nav{gap:8px;display:grid}.sidebar nav button{appearance:none;color:#ffffffd1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:11px 12px;font-weight:700}.sidebar nav button:hover{color:#fff;background:#ffffff14}.sidebar nav button.active{color:#fff;background:#ffffff1f;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar nav button.active:before{content:"";background:var(--gold);border-radius:999px;width:4px;position:absolute;top:10px;bottom:10px;left:0}.sidebar nav button.disabled{cursor:not-allowed;opacity:.42}.main-content{width:100%;min-width:0;padding:28px;overflow-y:auto}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-pill{color:#765000;background:#fff8e8;border:1px solid #f5b9428c;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.topbar h1{color:var(--teal-dark);margin:0;font-size:38px;line-height:1.02}.topbar p{color:var(--muted);margin:8px 0 0;font-size:15px}.topbar-title-line,.topbar-proposal-line{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.user-actions{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.user-actions button{background:var(--teal-dark);border-radius:8px;min-height:42px}.dashboard-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}.dashboard-card-controls{border:1px solid var(--line);background:#fbfefe;border-radius:8px;gap:12px;margin-bottom:20px;padding:14px;display:grid}.analytics-page{gap:18px;display:grid}.department-metric-section{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;gap:12px;padding:14px;display:grid}.metric-section-header{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.metric-section-header h2{color:var(--teal-dark);margin:0;font-size:18px}.metric-section-header span{color:var(--muted);font-size:12px;font-weight:900}.dashboard-card-controls-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.dashboard-card-controls-header>span{color:var(--teal-dark);font-size:13px;font-weight:900}.mini-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.mini-toggle input{opacity:0;pointer-events:none;position:absolute}.mini-toggle i{border:1px solid var(--line);background:#fff;border-radius:999px;width:34px;height:18px;transition:background .18s,border-color .18s;position:relative}.mini-toggle i:after{content:"";background:var(--muted);border-radius:999px;width:14px;height:14px;transition:transform .18s,background .18s;position:absolute;top:1px;left:1px}.mini-toggle input:checked+i{background:var(--teal-soft);border-color:#014d4e59}.mini-toggle input:checked+i:after{background:var(--teal);transform:translate(16px)}.stat-card,.panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #014d4e1a;border-radius:8px}.stat-card{padding:22px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--teal), var(--gold));height:5px;position:absolute;inset:0 0 auto}.stat-card span{color:var(--muted);font-size:13px;font-weight:800;display:block}.stat-card strong{color:var(--teal-dark);margin-top:12px;font-size:38px;line-height:1;display:block}.stat-card em{color:#765000;margin-top:8px;font-size:18px;font-style:normal;font-weight:900;display:block}.stat-card small{color:var(--muted);margin-top:10px;font-size:12px;display:block}.panel{padding:24px}.panel-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel-header h2{color:var(--teal-dark);margin:0}.panel-header p{color:var(--muted);margin:8px 0 0}.empty-state{text-align:center;color:var(--muted);background:linear-gradient(#fbfefe 0%,#f4f8f8 100%);border:1px dashed #014d4e33;border-radius:8px;margin-top:22px;padding:34px}.filters{border:1px solid var(--line);background:#fbfefe;border-radius:8px;grid-template-columns:minmax(160px,1.2fr) minmax(140px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1.2fr);gap:12px;margin-top:22px;padding:14px;display:grid}.dashboard-column-controls{border:1px solid var(--line);background:#fbfefe;border-radius:8px;margin-top:12px;padding:10px 14px}.library-category-controls{border:1px solid var(--line);background:#fbfefe;border-radius:8px;margin:0 0 18px;padding:10px 14px}.library-category-controls summary{color:var(--teal-dark);cursor:pointer;font-size:13px;font-weight:900}.library-category-controls .settings-section{background:0 0;border:0;margin-top:12px;padding:0}.dashboard-column-controls summary{color:var(--teal-dark);cursor:pointer;font-size:13px;font-weight:900}.dashboard-column-controls div{flex-wrap:wrap;gap:10px 16px;padding-top:12px;display:flex}.filters label,.opportunity-form label{color:var(--teal-dark);gap:7px;font-size:13px;font-weight:800;display:grid}.filters input,.filters select,.opportunity-form input,.opportunity-form select,.opportunity-form textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.opportunity-form textarea{resize:vertical;min-height:120px;padding:12px}.assignment-fieldset{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.assignment-fieldset legend{color:var(--teal-dark);padding:0 5px;font-size:13px;font-weight:900}.assignment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.filters input:focus,.filters select:focus,.opportunity-form input:focus,.opportunity-form select:focus,.opportunity-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #014d4e1a}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:22px;overflow-x:auto}.opportunity-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1120px}.opportunity-table th,.opportunity-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:15px 16px}.opportunity-table th{background:var(--teal-soft);color:var(--teal-dark);text-transform:uppercase;font-size:12px;position:relative}.resizable-table th{min-width:112px}.resizable-table th:first-child{min-width:250px}.sort-header{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;text-transform:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:inline-flex}.sort-header span{min-width:12px;color:var(--muted);font-size:13px;line-height:1}.column-resize-handle{cursor:col-resize;touch-action:none;z-index:2;width:8px;height:100%;position:absolute;top:0;right:-4px}.column-resize-handle:after{content:"";background:#005f693d;width:1px;position:absolute;top:20%;bottom:20%;left:3px}.opportunity-table tbody tr:last-child td{border-bottom:0}.opportunity-table strong,.opportunity-table span{display:block}.opportunity-table td{color:var(--text);font-size:14px}.opportunity-table td span{color:var(--muted);margin-top:4px;font-size:12px}.stage-pill{color:#765000;background:#fff8e8;border:1px solid #f5b9428c;border-radius:999px;width:fit-content;margin-top:0;padding:7px 10px;font-weight:800;display:inline-flex}.table-action{background:var(--teal);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #014d4e2e;border-radius:8px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800}.table-action:hover{filter:brightness(.96)}.table-action:disabled{cursor:not-allowed;opacity:.45;filter:none}.table-action.secondary{border-color:var(--line);color:var(--teal-dark);background:#fff}.table-action.compact{min-height:32px;padding:0 10px;font-size:12px}.dot-action{border:1px solid var(--line);width:30px;height:30px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;place-items:center;font-weight:900;line-height:1;display:inline-grid}.table-actions{gap:8px;display:grid}.project-cell{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.proposal-cell{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.notes-cell{min-width:420px}.note-list{gap:8px;max-height:190px;margin-bottom:10px;padding-right:4px;display:grid;overflow-y:auto}.project-note{border:1px solid var(--line);background:#fbfefe;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;padding:10px;display:grid}.project-note strong{color:var(--text);font-size:13px;line-height:1.35}.project-note span{color:var(--muted);font-size:11px}.project-note button{border:1px solid var(--line);color:#c43d2d;cursor:pointer;background:#fff;border-radius:999px;width:24px;height:24px;min-height:0;padding:0;font-size:18px;font-weight:900;line-height:1}.note-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.note-entry textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;min-height:38px;max-height:92px;padding:9px 10px}.proposal-select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--teal-dark);background:#fff;border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.stage-select{border:1px solid var(--line);width:min(230px,100%);min-height:38px;color:var(--teal-dark);background:#fff;border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.filter-row,.tag-cloud{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.filter-row span,.tag-cloud span{border:1px solid var(--line);min-height:34px;color:var(--teal-dark);background:#fbfefe;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.filter-row span:first-child,.tag-cloud span:first-child{color:#765000;background:#fff8e8;border-color:#f5b942b3}.split-grid,.settings-grid{gap:16px;margin-top:22px;display:grid}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid h3{color:var(--teal-dark);margin:0 0 12px}.stack-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stack-list li,.setting-tile{border:1px solid var(--line);border-left:5px solid var(--gold);color:var(--text);background:#fbfefe;border-radius:8px;padding:13px 14px;font-weight:700}button.setting-tile{cursor:pointer;text-align:left}button.setting-tile.active{border-color:#014d4e52;border-left-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.settings-grid{grid-template-columns:repeat(5,minmax(150px,1fr))}.modal-backdrop{z-index:20;background:#013b3c7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-strong);background:#fffffffa;border:1px solid #014d4e29;border-radius:8px;padding:24px;overflow-y:auto}.small-modal{width:min(520px,100%)}.item-modal{width:min(980px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-header h2{color:var(--teal-dark);margin:0}.opportunity-form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.thirds{grid-template-columns:1fr 90px 140px}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.preferences-form,.proposal-builder,.proposal-workspace,.line-item-form{gap:18px;display:grid}.preferences-form{border:1px solid var(--line);background:#fbfefe;border-radius:8px;margin-top:22px;padding:18px}.preferences-form label,.estimate-panel label,.line-item-form label,.factor-editor label{color:var(--teal-dark);gap:7px;font-size:13px;font-weight:800;display:grid}.preferences-form input,.preferences-form textarea,.preferences-form select,.estimate-panel input,.estimate-panel select,.estimate-panel textarea,.line-item-form input,.line-item-form select,.factor-editor input,.factor-editor select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.preferences-form textarea,.estimate-panel textarea{resize:vertical;min-height:120px;padding:12px}.preferences-form h3{color:var(--teal-dark);margin:0}.preferences-form p{color:var(--muted);margin:6px 0 0}.library-page-tools{grid-template-columns:minmax(0,1fr) 240px 180px;gap:14px;margin-bottom:18px;display:grid}.library-page-tools label{color:var(--teal-dark);gap:7px;font-size:13px;font-weight:800;display:grid}.library-page-tools input,.library-page-tools select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.admin-user-list{flex-wrap:wrap;gap:8px;display:flex}.admin-user-list span{border:1px solid var(--line);min-height:34px;color:var(--teal-dark);background:#fbfefe;border-radius:8px;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:12px;font-weight:900;display:inline-flex}.admin-user-list button{min-height:24px;color:var(--muted);cursor:pointer;background:#fff;border:0;border-radius:6px;font-size:11px;font-weight:900}.settings-section{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.import-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.file-button{border:1px solid var(--line);min-height:50px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:15px!important;font-weight:800!important;display:inline-flex!important}.file-button input{display:none}.number-summary{color:var(--muted);align-items:baseline;gap:8px;display:flex}.number-summary strong{color:var(--teal-dark);font-size:26px}.job-number-list{flex-wrap:wrap;gap:8px;display:flex}.job-number-list span{border:1px solid var(--line);min-height:30px;color:var(--teal-dark);background:#fbfefe;border-radius:8px;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.editable-label-list,.department-defaults-list,.sov-list,.factor-editor{gap:10px;display:grid}.editable-label,.add-label-row,.factor-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.editable-label{border:1px solid var(--line);background:#fbfefe;border-radius:8px;min-height:46px;padding:7px}.editable-label input{background:0 0;border:0;font-weight:900}.editable-label input:focus{box-shadow:none}.editable-label button{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;padding:0 10px;font-size:12px;font-weight:900}.editable-label input:disabled,.editable-label button:disabled{opacity:.55;cursor:not-allowed}.add-label-row{grid-template-columns:minmax(0,1fr) 50px}.add-label-row .primary-button,.compact-button{min-height:42px}.department-default-card{border:1px solid var(--line);background:#fbfefe;border-radius:8px;gap:12px;padding:14px;display:grid}.department-default-card strong{color:var(--teal-dark)}.factor-row{border:1px solid var(--line);background:#fbfefe;border-radius:8px;grid-template-columns:minmax(140px,1.2fr) minmax(190px,1fr) 110px auto;align-items:end;padding:12px}.text-button.danger{color:#a13d2d}.logo-preview{gap:10px;display:grid}.logo-preview img{border:1px solid var(--line);object-fit:contain;background:#fbfefe;border-radius:8px;max-width:220px;max-height:120px;padding:10px}.logo-preview span{color:var(--muted);font-size:13px;font-weight:800}.terms-option-list{gap:10px;margin-top:14px;display:grid}.terms-option-card,.sov-card{border:1px solid var(--line);border-left:5px solid var(--gold);background:#fff;border-radius:8px;gap:12px;padding:13px 14px;display:grid}.terms-option-card strong{color:var(--teal-dark)}.terms-option-card span{color:var(--muted);line-height:1.45}.editor-toolbar{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #014d4e1a;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.editor-toolbar h2{color:var(--teal-dark);margin:0}.editor-toolbar p{color:var(--muted);margin:5px 0 0}.main-bar-meta{align-items:center;gap:10px;min-width:0;display:flex}.main-bar-meta strong{color:var(--teal-dark);font-weight:900}.main-bar-meta span{color:var(--muted);font-size:13px;font-weight:800}.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.editor-actions label{color:var(--teal-dark);gap:6px;font-size:12px;font-weight:900;display:grid}.editor-actions select{border:1px solid var(--line);min-width:220px;min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:0 12px}.proposal-name-row{background:#fff;border:1px solid #014d4e1a;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.proposal-name-row strong{color:var(--teal-dark);font-size:18px;display:block}.proposal-name-row label,.estimate-box label,.manual-item-form label,.library-modal-content label,.group-toolbar label{color:var(--teal-dark);gap:7px;font-size:13px;font-weight:800;display:grid}.proposal-name-row input,.estimate-box input,.estimate-box select,.estimate-box textarea,.manual-item-form input,.manual-item-form select,.manual-item-form textarea,.library-modal-content select,.library-modal-content input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.proposal-name-row span{min-height:42px;color:var(--muted);background:0 0;border:0;align-items:center;padding:0;font-weight:900;display:inline-flex}.export-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.dashboard-card-preferences{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;width:fit-content;padding:5px;display:inline-flex}.segmented-control label{min-height:34px;color:var(--teal-dark);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 10px;font-size:13px!important;font-weight:900!important;display:inline-flex!important}.segmented-control label:has(input:checked){background:var(--teal-soft)}.toolbar-checkbox{min-height:42px;color:var(--teal-dark);align-items:center;gap:8px;font-size:13px!important;font-weight:900!important;display:inline-flex!important}.estimate-stack{gap:14px;display:grid}.estimate-box{width:100%;box-shadow:var(--shadow);background:#fff;border:1px solid #014d4e1a;border-radius:8px;overflow:hidden}.estimate-box summary{cursor:pointer;color:var(--teal-dark);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;font-weight:900;list-style:none;display:flex}.estimate-box summary::-webkit-details-marker{display:none}.estimate-box summary small{color:var(--muted)}.box-body{gap:16px;padding:0 18px 18px;display:grid}.scope-textarea,.manual-item-form textarea{resize:vertical;min-height:140px;padding:12px}.rich-editor,.rich-editor-header{gap:10px;display:grid}.rich-editor-header>span{color:var(--teal-dark);font-size:13px;font-weight:900}.rich-toolbar{border:1px solid var(--line);background:#fbfefe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.rich-toolbar button{border:1px solid var(--line);width:34px;height:34px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;font-weight:900}.rich-toolbar select{border:1px solid var(--line);width:auto;min-width:96px;min-height:34px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;flex:none;padding:0 10px;font-weight:900}.toolbar-checkbox input{width:auto!important;min-height:0!important}.table-number-input{border:1px solid var(--line);width:92px;min-height:34px;color:var(--text);background:#fff;border-radius:8px;padding:0 8px}.rich-toolbar button:hover{background:var(--teal-soft);border-color:#014d4e52}.rich-editor-surface{border:1px solid var(--line);min-height:190px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:14px;line-height:1.55}.rich-editor-surface:focus{border-color:var(--teal);box-shadow:0 0 0 3px #014d4e1a}.rich-editor-surface p,.proposal-rich-text p{margin:0 0 12px}.rich-editor-surface h2,.proposal-rich-text h2{color:var(--teal-dark);margin:0 0 12px;font-size:24px;line-height:1.2}.rich-editor-surface h3,.proposal-rich-text h3{color:var(--teal-dark);margin:18px 0 10px;font-size:18px;line-height:1.25}.rich-editor-surface ul,.rich-editor-surface ol,.proposal-rich-text ul,.proposal-rich-text ol{margin:0 0 12px 22px;padding:0}.rich-editor-surface li,.proposal-rich-text li{margin:4px 0}.group-toolbar{grid-template-columns:auto auto;justify-content:start;align-items:end;gap:12px;display:grid}.group-summary-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;place-items:center;font-size:13px;font-weight:900;line-height:1;display:inline-grid}.summary-grid,.manual-item-form{gap:14px;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.summary-grid .checkbox-label,.summary-grid .totals-block{grid-column:1/-1}.tab-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tab-row button{border:1px solid var(--line);min-height:40px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:8px;padding:0 14px;font-weight:900}.tab-row button.active{color:#765000;background:#fff8e8;border-color:#f5b942d1}.library-modal-content{gap:14px;display:grid}.library-filter-row{grid-template-columns:minmax(0,1fr) 220px;gap:14px;display:grid}.item-detail-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;display:grid}.print-only{display:none}.estimate-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;display:grid}.estimate-panel{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #014d4e1a;border-radius:8px;gap:14px;padding:20px;display:grid}.estimate-panel h3{color:var(--teal-dark);margin:0}.estimate-panel p{color:var(--muted);margin:6px 0 0}.line-form-grid{grid-template-columns:90px 1fr;gap:12px;display:grid}.group-picker{gap:8px;display:grid}.group-picker button{border:1px solid var(--line);border-left:5px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.group-picker button.active{border-color:#f5b942c7;border-left-color:var(--gold);background:#fff8e8}.group-picker strong,.group-picker span{display:block}.group-picker span{color:var(--muted);font-size:12px;font-weight:800}.checkbox-label{align-items:center;gap:10px;display:flex!important}.checkbox-label input{width:18px;min-height:18px}.table-wrap.compact .opportunity-table{min-width:940px}.library-strip{border:1px solid var(--line);background:#fbfefe;border-radius:8px;gap:12px;padding:14px;display:grid}.library-strip h4{color:var(--teal-dark);margin:0}.library-strip p{color:var(--muted);margin:4px 0 0;font-size:13px}.library-items{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;display:grid}.library-item{border:1px solid var(--line);border-left:5px solid var(--gold);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:8px;padding:12px}.library-item strong,.library-item span{display:block}.library-item span{color:var(--muted);margin-top:4px;font-size:12px}.group-row td{background:var(--teal-soft);color:var(--teal-dark)}.group-row div{justify-content:space-between;align-items:center;gap:14px;display:flex}.subtotal-row td{color:#765000;background:#fff8e8;font-weight:900}.text-button{min-height:32px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #014d4e29;border-radius:8px;padding:0 10px;font-size:12px;font-weight:900}.totals-block{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:4px;margin-top:2px;padding:12px 0 0;display:grid}.totals-block div{background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:baseline;gap:18px;padding:3px 0;display:flex}.totals-block span,.totals-block strong{padding:0}.totals-block span{color:var(--muted);text-transform:none;font-size:13px;font-weight:800}.totals-block strong{color:var(--teal-dark);font-variant-numeric:tabular-nums;font-size:14px}.totals-block .grand-total{background:0 0;border-top:2px solid #f5b942b3;margin-top:6px;padding-top:9px}.totals-block .grand-total span,.totals-block .grand-total strong{color:var(--teal-dark);font-size:17px}.proposal-preview{gap:22px;max-width:920px;margin:6px auto 28px;display:grid}.proposal-cover,.proposal-page{border:1px solid var(--line);min-height:860px;box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:56px}.proposal-cover{background:linear-gradient(90deg, var(--teal-dark), var(--teal)) 0 0 / 100% 12px no-repeat, white;align-content:space-between;display:grid}.cover-brand{color:var(--teal-dark);justify-content:space-between;gap:18px;font-weight:900;display:flex}.cover-brand strong{color:#765000}.proposal-cover h1{color:var(--teal-dark);margin:0;font-size:48px;line-height:1.05}.proposal-cover p{color:var(--muted);margin:14px 0 0;font-size:20px}.proposal-cover dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;display:grid}.proposal-cover dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.proposal-cover dd{color:var(--text);margin:5px 0 0;font-weight:800}.proposal-page h2{color:var(--teal-dark);margin:0 0 12px}.proposal-page p{color:var(--text);margin:0 0 28px;line-height:1.6}.proposal-rich-text{color:var(--text);margin-bottom:28px;line-height:1.6}.proposal-lines{border-collapse:collapse;width:100%;margin-bottom:18px}.proposal-lines th,.proposal-lines td{border-bottom:1px solid var(--line);text-align:left;padding:12px}.proposal-lines th{background:var(--teal-soft);color:var(--teal-dark)}.proposal-lines span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.proposal-group-row td{background:var(--teal-soft);color:var(--teal-dark);font-weight:900}.proposal-subtotal-row td{color:#765000;background:#fff8e8;font-weight:900}.proposal-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}@media (width<=980px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.sidebar{padding-bottom:12px;overflow:visible}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar nav button{text-align:center}.dashboard-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.dashboard-card-controls{gap:12px}.topbar,.panel-header{flex-direction:column}.settings-grid,.filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.estimate-layout,.editor-toolbar{grid-template-columns:1fr}.editor-actions{justify-content:flex-start}.summary-grid,.item-detail-grid,.library-filter-row,.dashboard-card-preferences{grid-template-columns:1fr 1fr}.totals-block{grid-template-columns:1fr}.factor-row{grid-template-columns:1fr 1fr}.group-toolbar{grid-template-columns:1fr}}@media (width<=640px){.main-content{padding:20px}.sidebar nav{grid-template-columns:1fr 1fr}.dashboard-grid,.split-grid,.settings-grid{grid-template-columns:1fr}.user-actions{flex-direction:column;align-items:flex-start}.filters,.form-grid,.factor-row,.editable-label,.add-label-row,.assignment-list,.dashboard-card-preferences,.library-page-tools,.totals-block,.form-grid.thirds{grid-template-columns:1fr}.modal{padding:18px}.modal-header,.form-actions{flex-direction:column}.form-actions button,.editor-actions,.editor-actions select,.editor-actions button{width:100%}.line-form-grid,.library-items,.proposal-name-row,.export-options-grid,.summary-grid,.item-detail-grid,.library-filter-row,.proposal-cover dl,.proposal-notes{grid-template-columns:1fr}.proposal-cover,.proposal-page{min-height:auto;padding:28px}.proposal-cover h1{font-size:34px}}@media print{body{background:#fff;overflow:visible}.app-shell,.main-content,.proposal-workspace{background:#fff;width:auto;height:auto;padding:0;display:block;overflow:visible}.no-print,.sidebar,.topbar{display:none!important}.proposal-preview{max-width:none;margin:0;display:block}.print-only{display:block}.proposal-cover,.proposal-page{min-height:100vh;box-shadow:none;page-break-after:always;border:0;border-radius:0}.proposal-page:last-child{page-break-after:auto}}
