:root{--bg: #f8fbff;--surface: #ffffff;--surface-muted: #f5f8fd;--border: #dbe5f3;--border-strong: #c9d8ee;--text: #0d1733;--muted: #60708f;--blue: #126bff;--blue-700: #0958e8;--green: #13a065;--red: #ff3b30;--orange: #f59e0b;--purple: #9a45f7;--shadow: 0 14px 35px rgba(23, 42, 76, .07)}*{box-sizing:border-box;scrollbar-color:#9aa8bb transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border-radius:999px;background:#9aa8bb}*::-webkit-scrollbar-thumb:hover{background:#75849a}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea,code,kbd,pre,samp{font:inherit}strong,b{font-weight:500}button{cursor:pointer}a{color:inherit;text-decoration:none}.icon{display:inline-block;flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-loading{display:grid;min-height:100vh;place-items:center;color:var(--muted)}.login-page{display:grid;min-height:100vh;place-items:center;background:linear-gradient(120deg,#126bff14,#13a06514),var(--bg);padding:24px}.login-panel{display:grid;width:min(440px,100%);gap:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:28px}.login-panel__brand{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;text-transform:uppercase}.login-panel__brand img{width:152px;height:auto}.login-panel__heading{display:grid;gap:6px}.login-panel__heading p,.login-panel__heading h1{margin:0}.login-panel__heading p{color:var(--blue);font-weight:600}.login-panel__heading h1{font-size:30px;letter-spacing:0}.login-form{display:grid;gap:14px}.login-seed-list{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:18px}.login-seed-list>strong{color:#172341}.login-seed-list button{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8e3f2;border-radius:8px;background:#f8fbff;color:#172341;padding:8px 12px;text-align:left}.login-seed-list button:hover{border-color:#9fc4ff;background:#eef5ff}.login-seed-list small{color:var(--muted)}.dashboard-shell{display:flex;min-height:100vh}.dashboard-shell__main{display:flex;min-width:0;flex:1;flex-direction:column}.dashboard-content{flex:1;padding:24px 30px 48px}.sidebar{position:sticky;top:0;z-index:20;display:flex;width:276px;height:100vh;flex:0 0 276px;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.sidebar-backdrop{display:none}.sidebar__brand{display:flex;height:72px;align-items:center;padding:0 24px;border-bottom:1px solid var(--border)}.sidebar__brand-button{display:flex;align-items:center;border:0;background:transparent;padding:0}.sidebar__brand img{width:196px;max-width:100%;max-height:48px;height:auto;object-fit:contain}.sidebar__nav{display:flex;flex:1;flex-direction:column;gap:6px;padding:22px 14px;overflow-y:auto}.sidebar__item{display:flex;width:100%;min-height:44px;align-items:center;gap:14px;border:0;border-radius:6px;background:transparent;color:#23345a;padding:0 14px;text-align:left;transition:background .18s ease,color .18s ease}.sidebar__item.active,.sidebar__item:hover{background:linear-gradient(135deg,#126bff,#0f62ef);color:#fff}.sidebar__chevron{margin-left:auto}.sidebar__subnav{position:relative;display:grid;gap:2px;margin:6px 0 8px 30px;padding-left:18px}.sidebar__subnav:before{position:absolute;top:0;bottom:0;left:0;width:1px;background:#d8e3f2;content:""}.sidebar__subnav button{width:100%;border:0;border-radius:5px;background:transparent;color:#1c2d50;padding:10px 12px;text-align:left}.sidebar__subnav button.active,.sidebar__subnav button:hover{background:#edf4ff;color:var(--blue);font-weight:500}.sidebar__collapse{display:flex;width:calc(100% - 48px);align-items:center;gap:12px;height:72px;margin:0 24px;border:0;border-top:1px solid var(--border);background:transparent;color:#23345a}.sidebar.is-collapsed{width:78px;flex-basis:78px}.sidebar.is-collapsed .sidebar__brand{justify-content:center;padding:0 10px}.sidebar.is-collapsed .sidebar__brand img{width:58px;height:34px;object-fit:cover;object-position:left center}.sidebar.is-collapsed .sidebar__item span,.sidebar.is-collapsed .sidebar__chevron,.sidebar.is-collapsed .sidebar__subnav,.sidebar.is-collapsed .sidebar__collapse span{display:none}.sidebar.is-collapsed .sidebar__item{justify-content:center;padding:0}.sidebar.is-collapsed .sidebar__collapse{justify-content:center;width:calc(100% - 28px);margin-inline:14px}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto minmax(280px,560px) auto;align-items:center;gap:24px;height:72px;border-bottom:1px solid var(--border);background:#ffffffe6;padding:0 28px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar__menu,.topbar__icon{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#23345a}.topbar__search{display:flex;align-items:center;gap:12px;height:44px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;padding:0 12px}.topbar__search input{min-width:0;flex:1;border:0;outline:0;color:var(--text)}.topbar__search button{border:0;border-radius:5px;background:#eef3fb;color:#243557;font-weight:500;padding:2px 5px}.topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}.topbar__icon{position:relative;width:34px;height:34px}.topbar__icon span{position:absolute;top:0;right:0;min-width:17px;border-radius:999px;background:#ff3b30;color:#fff;font-size:11px;font-weight:500;line-height:17px;text-align:center}.topbar__user{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#172341}.topbar__user span{display:grid;line-height:1.25;text-align:left}.topbar__user small{color:var(--muted)}.topbar__dropdown{position:relative}.topbar-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:10;display:grid;min-width:220px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:8px}.topbar-menu--right{min-width:240px}.topbar-menu button{min-height:38px;border:0;border-radius:6px;background:transparent;color:#172341;padding:0 10px;text-align:left}.topbar-menu button:hover{background:#edf4ff;color:var(--blue)}.lead-page{display:grid;gap:14px}.placeholder-page{display:grid;gap:18px}.placeholder-panel{display:flex;align-items:flex-start;gap:18px;min-height:240px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:28px}.placeholder-panel__icon{display:grid;width:64px;height:64px;flex:0 0 64px;place-items:center;border-radius:999px;background:#e8f1ff;color:var(--blue)}.placeholder-panel__eyebrow{margin:0 0 10px;color:var(--blue)}.placeholder-panel h1{margin:0 0 10px;font-size:30px;line-height:1.2;letter-spacing:0}.placeholder-panel p{max-width:620px;margin:0;color:var(--muted);line-height:1.6}.lead-form-page,.lead-form{display:grid;gap:14px}.form-alert{border:1px solid #fecaca;border-radius:6px;background:#fff1f2;color:#b42318;padding:12px 14px}.form-section{padding:22px}.form-section__heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.form-section__heading h2{margin:0 0 5px;font-size:18px;font-weight:500}.form-section__heading p{margin:0;color:var(--muted)}.form-section__icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:999px;background:#e8f1ff;color:var(--blue)}.form-section__icon--green{background:#dcfce7;color:#16a34a}.form-section__icon--purple{background:#f3e8ff;color:var(--purple)}.form-grid{display:grid;gap:16px}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:8px}.field--full{grid-column:1 / -1}.field>span{color:#253755}.field i{color:var(--red);font-style:normal}.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);outline:0;padding:0 13px}.field textarea{min-height:96px;padding-block:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #126bff1f}.field small{color:var(--muted);line-height:1.5}.check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.check-card{display:flex;min-height:46px;align-items:center;gap:10px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:0 12px}.check-card:has(input:checked){border-color:#8bb7ff;background:#f2f7ff;color:var(--blue)}.check-card input{width:16px;height:16px;accent-color:var(--blue)}.autocomplete{position:relative;display:grid;grid-template-columns:1fr 42px}.autocomplete input{border-radius:6px 0 0 6px}.autocomplete>button{display:grid;min-height:44px;place-items:center;border:1px solid var(--border);border-left:0;border-radius:0 6px 6px 0;background:#fff;color:#23345a}.autocomplete__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:12;display:grid;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:6px}.autocomplete__menu button{display:flex;min-height:38px;align-items:center;gap:9px;border:0;border-radius:6px;background:transparent;color:#172341;padding:0 10px;text-align:left}.autocomplete__menu button:hover,.autocomplete__menu button.active{background:#edf4ff;color:var(--blue)}.autocomplete__menu p{margin:0;color:var(--muted);padding:12px}.multi-autocomplete{display:grid;gap:10px}.selected-chip-list{display:flex;flex-wrap:wrap;gap:8px}.date-picker{position:relative}.date-picker__input{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#172341;padding:0 13px}.date-picker__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:11;width:min(360px,calc(100vw - 48px));border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow);padding:12px}.date-picker__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-picker__header button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:6px;background:#fff;color:#23345a}.date-picker__quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.date-picker__quick button{min-height:30px;border:1px solid #cfe0f7;border-radius:999px;background:#f3f8ff;color:var(--blue);padding:0 10px}.date-picker__week,.date-picker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.date-picker__week{margin-bottom:6px;color:var(--muted);font-size:12px;text-align:center}.date-picker__days button{display:grid;height:34px;place-items:center;border:0;border-radius:6px;background:transparent;color:#172341}.date-picker__days button:hover{background:#edf4ff}.date-picker__days button.muted{color:#b7c2d3}.date-picker__days button.active{background:var(--blue);color:#fff}.survey-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.survey-time-grid label{display:grid;gap:6px;color:#506280;font-size:13px}.survey-time-grid select{min-height:34px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#172341;padding:0 10px}.dropzone{display:grid;min-height:138px;place-items:center;gap:8px;border:1px dashed #aac0dc;border-radius:10px;background:#fbfdff;color:#506280;padding:22px;text-align:center}.dropzone input{display:none}.dropzone strong{color:#172341}.dropzone.is-dragging{border-color:var(--blue);background:#eef5ff;color:var(--blue)}.dropzone--compact{min-height:118px;align-content:center;padding:16px}.dropzone--compact strong,.dropzone--compact span{pointer-events:none}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid #d8e3f2;border-radius:999px;background:#f8fbff;color:#263858;padding:0 8px 0 10px}.file-chip button{display:grid;width:20px;height:20px;place-items:center;border:0;border-radius:999px;background:transparent;color:#64748b}.file-chip button:hover{background:#e8eef7}.survey-preview-panel{display:grid;gap:16px}.survey-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,240px));gap:12px}.survey-preview-card,.survey-preview-thumb{border:1px solid var(--border);border-radius:8px;background:#fff}.survey-preview-card{display:grid;align-content:start;gap:10px;overflow:hidden;padding:10px}.survey-preview-card__media{display:block;width:100%;border:0;border-radius:6px;background:#eef3f8;padding:0;overflow:hidden}.survey-preview-card img,.survey-preview-card video{width:100%;aspect-ratio:4 / 3;background:#eef3f8;object-fit:contain}.survey-preview-card__file{display:grid;aspect-ratio:4 / 3;place-items:center;background:#f4f7fb;color:#64748b}.survey-preview-card strong{display:block;overflow:hidden;color:#172341;text-overflow:ellipsis;white-space:nowrap}.survey-preview-card small{color:#667491}.survey-preview-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-top:12px}.survey-preview-thumb{display:grid;gap:8px;padding:8px;color:#263858;text-align:left}.survey-preview-thumb img{width:100%;aspect-ratio:1;border-radius:6px;background:#eef3f8;object-fit:cover}.survey-preview-thumb span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.preview-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#0f172a9e;padding:24px}.preview-modal__panel{display:grid;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:hidden;border-radius:10px;background:#fff}.preview-modal__panel header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:12px 14px}.preview-modal__panel>img,.preview-modal__panel>video{width:100%;max-height:calc(100vh - 120px);background:#0f172a;object-fit:contain}.preview-modal__file{display:grid;min-height:300px;place-items:center;gap:12px;color:#667491;padding:24px;text-align:center}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.segmented-control button{min-height:42px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#263858}.segmented-control button.active{border-color:#8bb7ff;background:#edf4ff;color:var(--blue)}.note-composer{border:1px solid var(--border);border-radius:10px;background:#fff}.note-toolbar{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border);padding:8px}.note-toolbar button{display:inline-flex;min-height:30px;align-items:center;gap:6px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#23345a;padding:0 10px}.note-toolbar input{display:none}.note-editor{min-height:126px;outline:0;padding:14px;line-height:1.6}.note-editor:empty:before{color:#93a3bb;content:attr(data-placeholder)}.note-composer .file-list{border-top:1px solid var(--border);margin:0;padding:10px}.note-composer__footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding:10px}.note-log{display:grid;gap:16px;margin-top:18px}.note-entry{display:grid;grid-template-columns:40px 1fr;gap:12px}.note-entry>div{border:1px solid var(--border);border-radius:10px;background:#fbfdff;padding:12px}.note-entry header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#172341;margin-bottom:8px}.note-entry time{color:var(--muted);font-size:12px}.note-entry__body{color:#23345a;line-height:1.6}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.breadcrumbs{display:flex;align-items:center;gap:8px;color:#506280;font-weight:500;margin-bottom:12px}.breadcrumbs span{color:#172341}.page-header h1{display:flex;align-items:center;gap:12px;margin:0;font-size:30px;line-height:1.15;letter-spacing:0}.page-header__actions{display:flex;gap:12px}.btn,.control-select,.search-field{min-height:44px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#172341}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-weight:500}.btn--primary{border-color:var(--blue);background:var(--blue);color:#fff;min-width:142px}.btn--outline,.btn--soft{color:var(--blue)}.btn--soft{background:#fff}.btn--soft.active{border-color:var(--blue);background:#eef5ff}.btn--ghost{color:#243557}.btn:hover,.control-select:hover,.search-field:hover,.pagination__size:hover{border-color:#9cbff7}.btn:disabled{cursor:not-allowed;opacity:.62}.btn:active,.lead-tabs__item:active,.row-actions button:active,.pagination button:active{transform:translateY(1px)}.lead-page__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.lead-page__notice{border:1px solid #b8d4ff;border-radius:6px;background:#f1f7ff;color:#0c55c4;padding:10px 14px}.stat-card{display:flex;align-items:center;gap:20px;min-height:118px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:20px 24px}.stat-card__icon{display:grid;width:62px;height:62px;flex:0 0 62px;place-items:center;border-radius:999px}.stat-card__icon--blue{background:#e8f1ff;color:var(--blue)}.stat-card__icon--green{background:#dff8e7;color:#10a858}.stat-card__icon--red{background:#ffe5de;color:#ff3b30}.stat-card__icon--purple{background:#f2e4ff;color:#9a45f7}.stat-card__icon--orange{background:#fff3df;color:var(--orange)}.stat-card__label{margin:0 0 6px;color:#18243f;font-weight:500}.stat-card__value{display:block;margin-bottom:8px;font-size:28px;line-height:1}.stat-card__delta{margin:0;color:var(--muted);font-size:13px}.stat-card__delta span{color:var(--green);font-weight:500}.stat-card__delta.is-down span{color:var(--red)}.lead-filters{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(150px,.88fr)) minmax(150px,.95fr) minmax(150px,.8fr) minmax(120px,.6fr);gap:12px}.lead-source-filters{grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,.8fr)) minmax(160px,.9fr) minmax(120px,.65fr)}.customer-page{display:grid;gap:14px}.customer-filters{grid-template-columns:minmax(280px,1.5fr) repeat(5,minmax(145px,.72fr)) minmax(120px,.55fr)}.customer-table{min-width:1680px}.source-pill--sale{color:#64748b}.search-field{display:flex;align-items:center;gap:10px;padding:0 14px}.search-field input{min-width:0;flex:1;border:0;outline:0}.control-select{appearance:none;min-width:0;padding:0 44px 0 16px;background-image:linear-gradient(45deg,transparent 50%,#23345a 50%),linear-gradient(135deg,#23345a 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:#1b2a4c}.control-select--date{display:inline-flex;align-items:center;justify-content:space-between;background-image:none;padding-right:14px;font-weight:500}.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.lead-page__table-panel{overflow:hidden}.lead-tabs{display:flex;gap:12px;overflow-x:auto;border-bottom:1px solid var(--border);padding:12px 16px}.lead-tabs__item{display:inline-flex;min-width:116px;align-items:center;justify-content:center;gap:12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#1c2d50;font-weight:500;min-height:34px;padding:0 14px;white-space:nowrap}.lead-tabs__item span{color:#7c89a3;font-weight:500}.lead-tabs__item.active{border-color:#8bb7ff;background:#f2f7ff;color:var(--blue)}.lead-tabs__item--red{border-color:#ffb4ae;background:#fff5f4;color:var(--red)}.lead-tabs__item--red span{color:var(--red)}.lead-table-wrap{overflow-x:auto}.lead-table{width:100%;min-width:1260px;border-collapse:collapse}.lead-table th,.lead-table td{height:36px;border-bottom:1px solid var(--border);padding:0 12px;text-align:left;white-space:nowrap}.lead-table th{background:#fbfdff;color:#16213d;font-size:13px;font-weight:500}.lead-table td{color:#172341;font-size:13px}.lead-table tr.selected td{background:#f1f7ff}.lead-table input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--blue)}.lead-table__id{font-weight:500}.lead-table__empty{height:96px;color:var(--muted);text-align:center}.source-pill,.owner-cell{display:inline-flex;align-items:center;gap:8px}.source-pill{color:#314262}.source-name-cell{display:flex;align-items:center;gap:12px;min-width:230px}.source-name-cell>div{display:grid;gap:3px}.source-name-cell small{color:var(--muted)}.source-logo{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:999px}.source-pill--facebook{color:#126bff}.source-pill--zalo{color:#1d9bf0}.source-pill--tiktok{color:#111827}.source-pill--giới-thiệu{color:#16a34a}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;border-radius:6px;font-weight:500;padding:4px 8px}.status-badge--hot{border:1px solid #ffada6;background:#fff3f2;color:#ff2e23}.status-badge--consulting{background:#e7f1ff;color:#126bff}.status-badge--survey{background:#fff0dc;color:#f08a00}.status-badge--new{background:#e5f6ff;color:#1d9bf0}.status-badge--active{background:#dcfce7;color:#16a34a}.status-badge--cold{background:#eef1f5;color:#445166}.row-actions{display:inline-flex;align-items:center;gap:8px}.row-actions button{display:inline-grid;width:25px;height:25px;place-items:center;border:0;background:transparent;color:#405173}.row-actions button:disabled{cursor:not-allowed;color:#9aa8bb;opacity:.55}.lead-table__footer{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;color:#415273}.pagination{display:flex;align-items:center;gap:10px}.pagination button{display:inline-flex;min-width:34px;height:32px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:5px;background:transparent;color:#243557}.pagination__size{min-width:116px;height:32px;border:1px solid var(--border);border-radius:5px;background:#fff;color:#243557;padding:0 28px 0 10px}.pagination button.active{border:1px solid var(--blue);color:var(--blue)}.pagination button.muted{color:#b9c5d8}.pagination button:disabled{cursor:not-allowed;opacity:.45}.analytics-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.03fr);gap:14px}.analytics-card,.performance-card{padding:18px 22px}.analytics-card h2,.performance-card h2{margin:0 0 12px;font-size:18px}.analytics-card__body{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:18px}.donut{width:190px;height:190px}.donut__value{fill:#16213d;font-size:24px;font-weight:500}.donut__label{fill:#60708f;font-size:12px;font-weight:500}.legend{display:grid;gap:12px 36px}.legend--columns{grid-template-columns:repeat(2,minmax(150px,1fr))}.legend__item{display:grid;grid-template-columns:10px minmax(80px,1fr) auto auto;align-items:center;gap:10px;color:#243557}.legend__dot{width:10px;height:10px;border-radius:999px}.legend__item strong{color:#2b3d5e}.legend__item small{color:#60708f}.analytics-empty{grid-column:1 / -1;margin:0;color:var(--muted)}.performance-table{display:grid;gap:0}.performance-table__row{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr 1fr;align-items:center;min-height:34px;border-top:1px solid var(--border);color:#172341}.performance-table__head{min-height:32px;border-top:0;color:#60708f;font-size:13px;font-weight:500}.rate-cell{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px}.rate-cell strong{color:var(--blue)}.rate-cell:before{display:none}.rate-cell i{position:relative;display:block;height:6px;border-radius:999px;background:var(--blue)}.rate-cell i:after{position:absolute;top:0;left:0;z-index:-1;width:100%;height:6px;border-radius:999px;background:#d7dfed;content:""}.source-rate{grid-template-columns:54px 90px}.source-rank-list,.source-suggestion-list{display:grid;gap:12px}.source-rank-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 120px;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:12px}.source-rank-list article:first-child{border-top:0;padding-top:0}.source-rank-list article>div{display:grid;gap:3px}.source-rank-list small{color:var(--muted)}.source-rank-list article>i{display:block;height:7px;border-radius:999px;background:var(--blue)}.source-suggestion-list p{margin:0;border-top:1px solid var(--border);color:#23345a;line-height:1.6;padding-top:12px}.source-suggestion-list p:first-child{border-top:0;padding-top:0}.survey-page{display:grid;gap:14px}.survey-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.survey-filters{grid-template-columns:minmax(280px,1.35fr) repeat(4,minmax(150px,.78fr)) minmax(120px,.55fr)}.survey-table{min-width:1460px}.design-page{display:grid;gap:14px}.design-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.design-filters{grid-template-columns:minmax(280px,1.35fr) repeat(5,minmax(145px,.72fr)) minmax(120px,.55fr)}.design-table{min-width:1680px}.design-type-pill{display:inline-flex;min-width:74px;justify-content:center;border:1px solid #cfe0f7;border-radius:999px;background:#f4f8ff;color:var(--blue);padding:4px 10px}.table-link{max-width:260px;border:0;background:transparent;color:var(--blue);padding:0;text-align:left}.table-link:hover{text-decoration:underline}.muted-text{color:var(--muted)}.file-count{display:inline-flex;align-items:center;gap:6px;color:#405173}.quote-page{display:grid;gap:14px}.quote-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quote-filters{grid-template-columns:minmax(280px,1.35fr) repeat(5,minmax(145px,.72fr)) minmax(120px,.55fr)}.quote-table{min-width:1840px}.quote-total{color:var(--green);font-weight:500;white-space:nowrap}.quote-grand-total{color:var(--green);font-size:20px;font-weight:500}.quote-editor-page{display:grid;gap:14px}.quote-editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.quote-editor-toolbar__left,.quote-editor-toolbar__actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.quote-editor-toolbar h1{margin:4px 0 0;color:#111a34;font-size:28px;font-weight:500}.quote-editor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.quote-editor-main{min-width:0}.quote-editor-card{overflow:hidden;padding:0}.quote-editor-status{display:flex;justify-content:flex-end;border-bottom:1px solid var(--border);background:#fbfdff;padding:12px 16px}.quote-editor-status span{min-width:150px;border:1px solid var(--border);background:#eef2f7;color:#64748b;padding:8px 16px;text-align:center}.quote-editor-status span+span{border-left:0}.quote-editor-status .active{border-color:var(--blue);background:#edf4ff;color:var(--blue)}.quote-editor-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:18px 34px;padding:22px}.quote-editor-tabs{display:flex;gap:4px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0 22px}.quote-editor-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:#405173;padding:0 16px}.quote-editor-tabs button.active{border-color:var(--blue);color:#111a34}.quote-line-table{overflow-x:auto}.quote-line-sheet{width:100%;min-width:1260px;border-collapse:collapse;table-layout:fixed}.quote-line-sheet__handle-col{width:32px}.quote-line-sheet__stt-col{width:54px}.quote-line-sheet__content-col{width:250px}.quote-line-sheet__type-col{width:300px}.quote-line-sheet__unit-col{width:72px}.quote-line-sheet__quantity-col{width:90px}.quote-line-sheet__price-col,.quote-line-sheet__total-col{width:136px}.quote-line-sheet__note-col{width:190px}.quote-line-sheet__delete-col{width:38px}.quote-line-sheet th,.quote-line-sheet td{min-height:40px;border:1px solid var(--border);color:#172341;padding:7px 9px;vertical-align:middle}.quote-line-sheet th{background:#f7faff;color:#405173;font-size:13px;font-weight:500;text-align:left}.quote-line-row input,.quote-line-row textarea{width:100%;min-width:0;border:0;background:transparent;color:#172341;padding:0;resize:vertical}.quote-line-row input[readonly]{color:#405173}.quote-line-row strong{display:block;text-align:right;color:var(--green);font-weight:500;white-space:nowrap}.quote-line-row td>button{border:0;background:transparent;color:var(--red)}.quote-line-row--section{background:var(--blue)}.quote-line-row--section td,.quote-line-row--section input{color:#fff;font-size:18px}.quote-line-row--section td>button{color:#fff}.quote-line-row--content{background:#edf4ff}.quote-line-row--content textarea{color:#111a34}.quote-line-row--note{background:#fbfdff}.quote-line-row--contentItem .quote-line-sheet__merged-cell{background:#edf4ff;vertical-align:top}.quote-line-sheet__merged-cell textarea{min-height:74px;font-weight:500}.quote-line-sheet__merged-cell button{margin-top:8px;border:0;background:transparent;color:var(--red);padding:0}.quote-line-sheet__empty-child{color:var(--muted)}.quote-line-product{display:grid;flex:1}.quote-line-product input{border-radius:0}.quote-line-product>button{min-height:26px;border:0;background:transparent}.quote-line-product__menu{min-width:420px}.quote-line-product__menu button{align-items:flex-start;min-height:52px;padding-block:8px}.quote-line-product__menu button span{display:grid;gap:4px}.quote-product-picker{min-width:0}.quote-line-row td>.quote-product-select,.quote-product-select{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:4px 10px;width:100%;min-height:38px;border:0;background:transparent;color:#172341;padding:0;text-align:left}.quote-product-select span,.quote-product-select small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-product-select span{font-weight:500}.quote-product-select small{grid-column:1 / 2;color:var(--muted);font-size:12px}.quote-product-select svg{grid-row:1 / span 2;grid-column:2;color:var(--blue)}.modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#0d173361;padding:28px}.modal-card{display:grid;gap:16px;width:min(980px,100%);max-height:calc(100vh - 56px);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0d17332e;padding:22px}.modal-card__header,.modal-card__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-card__header h2{margin:0 0 6px;color:#111a34;font-size:22px;font-weight:500}.modal-card__header p{margin:0;color:var(--muted)}.modal-card__footer{justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px}.quote-product-modal__search{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;padding:0 12px}.quote-product-modal__search input{min-width:0;flex:1;border:0;outline:0;color:#172341}.quote-product-modal__list{display:grid;gap:8px;max-height:min(560px,calc(100vh - 260px));overflow-y:auto;padding-right:4px}.quote-product-option{display:grid;grid-template-columns:minmax(0,1fr) 70px 140px;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#172341;padding:12px 14px;text-align:left}.quote-product-option:hover,.quote-product-option.active{border-color:#9fc2ff;background:#f4f8ff}.quote-product-option span{display:grid;gap:4px;min-width:0}.quote-product-option strong,.quote-product-option b{font-weight:500}.quote-product-option small,.quote-product-option em{overflow:hidden;color:var(--muted);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.quote-product-option>b{color:#405173;text-align:center}.quote-product-option>strong{color:var(--green);text-align:right;white-space:nowrap}.quote-product-modal__empty{margin:0;color:var(--muted);padding:22px;text-align:center}.quote-line-empty{color:var(--muted);padding:24px;text-align:center}.quote-line-actions{display:flex;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--border);padding:14px 22px}.quote-line-actions button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--blue)}.quote-editor-footer{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;min-height:150px;padding:22px}.quote-editor-footer textarea,.quote-editor-totals input,.quote-editor-totals select{border:1px solid var(--border);border-radius:6px;background:#fff;color:#172341;padding:10px}.quote-editor-totals{display:grid;gap:10px}.quote-editor-totals label{display:grid;gap:6px;color:#405173}.quote-editor-totals dl{display:grid;gap:8px;margin:0}.quote-editor-totals dl div{display:grid;grid-template-columns:1fr auto;gap:14px}.quote-editor-totals dd{margin:0;color:#111a34;font-weight:500}.quote-editor-totals dl div:last-child dd{color:var(--green);font-size:18px}.quote-editor-chatter{display:none;gap:16px}.quote-editor-chatter__tabs{display:flex;gap:6px}.quote-editor-chatter__tabs button{min-height:42px;border:0;border-radius:6px;background:#e7ecf3;color:#111a34;padding:0 14px}.quote-editor-chatter__tabs button.active{background:var(--blue);color:#fff}.quote-editor-chatter__body{display:grid;gap:18px;border-top:1px solid var(--border);padding-top:18px}.quote-editor-chatter__body>strong{color:#667491}.quote-editor-chatter__body article{display:flex;gap:10px;color:#405173}.quote-editor-chatter__body b{display:block;color:#111a34;font-weight:500}.quote-items-panel,.quote-terms-panel{padding:20px 22px}.quote-detail-page .detail-layout{grid-template-columns:minmax(0,1fr)}.quote-detail-page .detail-main{min-width:0}.quote-detail-page .quote-items-panel.quote-editor-card{padding:0}.quote-detail-heading{margin:0;padding:20px 22px}.quote-detail-page .detail-side{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(300px,.9fr) minmax(300px,.9fr);align-items:start;gap:14px}.quote-items-panel .section-heading p{margin:6px 0 0;color:var(--muted);line-height:1.5}.quote-items-table{display:grid;gap:0;margin-top:18px;overflow-x:auto;padding-bottom:8px}.quote-items-table__head,.quote-item-row{display:grid;grid-template-columns:44px minmax(220px,1.1fr) minmax(260px,1.3fr) 72px 90px 138px 138px minmax(190px,.9fr) 36px;min-width:1320px;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:10px 0}.quote-items-table__head{color:#667491;font-size:13px}.quote-item-row input,.quote-item-row select,.quote-item-row textarea,.quote-total-box input,.quote-total-box select{min-width:0;min-height:38px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#172341;padding:0 10px}.quote-item-row textarea{min-height:38px;padding-block:8px;resize:vertical}.quote-item-row__index{color:#667491;text-align:center}.quote-item-row small{color:var(--muted);line-height:1.4}.quote-item-row strong{color:var(--green);font-weight:500;white-space:nowrap}.quote-item-row>button{width:32px;height:32px;border:0;border-radius:6px;background:#fff1f2;color:var(--red)}.quote-total-box{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(140px,.3fr) minmax(300px,.7fr);gap:14px;margin-top:18px;border-radius:8px;background:#fbfdff;padding:16px}.quote-total-box label{display:grid;gap:8px;color:#23345a}.quote-total-box dl{display:grid;gap:8px;margin:0}.quote-total-box dl div{display:grid;grid-template-columns:1fr auto;gap:14px}.quote-total-box dt{color:var(--muted)}.quote-total-box dd{margin:0;color:#111a34;font-weight:500}.quote-total-box dl div:last-child dd{color:var(--green);font-size:18px}.quote-catalog-list{display:grid;gap:10px;margin-top:16px;max-height:560px;overflow-y:auto;padding-right:4px}.quote-catalog-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#172341;padding:12px;text-align:left}.quote-catalog-list strong,.quote-catalog-list b{font-weight:500}.quote-catalog-list small{display:block;margin-top:4px;color:var(--muted)}.quote-catalog-list b{color:var(--green);white-space:nowrap}.design-detail-page .detail-tabs button{min-width:126px}.design-tab-body{display:grid;gap:18px;padding:18px}.design-checklist{display:grid;gap:10px}.design-checklist label{display:flex;align-items:center;gap:10px;color:#23345a}.design-checklist input{width:16px;height:16px;accent-color:var(--blue)}.design-version-list{display:grid;gap:12px}.design-version-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px 16px}.design-version-card.active{border-color:#9fc2ff;background:#f7fbff}.design-version-card__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:#e8f1ff;color:var(--blue)}.design-version-card strong{color:#111a34;font-weight:500}.design-version-card p{margin:4px 0;overflow:hidden;color:#23345a;text-overflow:ellipsis;white-space:nowrap}.design-version-card small{color:var(--muted)}.design-feedback-composer{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fbfdff;padding:16px}.note-toolbar{display:flex;flex-wrap:wrap;gap:8px}.note-toolbar button{min-width:36px;min-height:32px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#23345a}.pipeline-page{display:grid;gap:18px}.pipeline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.pipeline-actions .control-select{min-width:150px}.view-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fff}.view-toggle button{display:grid;width:42px;height:44px;place-items:center;border:0;border-right:1px solid var(--border);background:transparent;color:#23345a}.view-toggle button:last-child{border-right:0}.view-toggle button.active{background:#edf4ff;color:var(--blue)}.pipeline-summary{display:grid;grid-template-columns:.85fr 1.4fr 1.25fr 1.25fr 1.45fr;padding:24px 26px}.pipeline-summary article{display:grid;gap:9px;border-right:1px solid var(--border);padding:0 34px}.pipeline-summary article:first-child{padding-left:0}.pipeline-summary article:last-child{border-right:0;padding-right:0}.pipeline-summary span,.pipeline-summary small{color:#506280}.pipeline-summary strong{color:#111a34;font-size:24px;line-height:1.1}.pipeline-summary strong.money{color:var(--green)}.pipeline-board-wrap{overflow-x:auto;padding-bottom:14px}.pipeline-board{display:grid;grid-template-columns:repeat(6,minmax(250px,1fr));min-width:1580px;gap:10px}.pipeline-column{display:grid;align-content:start;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:14px 12px}.pipeline-column header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pipeline-column h2{margin:0 0 8px;color:#111a34;font-size:16px;font-weight:500}.pipeline-column p{margin:0;color:#506280}.pipeline-column header>span{display:inline-grid;min-width:30px;height:26px;place-items:center;border-radius:7px}.pipeline-column__bar{display:block;height:5px;max-width:100%;border-radius:999px}.opportunity-list{display:grid;gap:9px}.opportunity-card{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px}.opportunity-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.opportunity-card h3{margin:0;color:#111a34;cursor:pointer;font-size:15px;font-weight:500;line-height:1.4}.opportunity-card__top button{display:grid;width:24px;height:24px;place-items:center;border:0;background:transparent;color:#263858}.opportunity-card p{margin:0;color:#506280}.opportunity-card__value{color:var(--blue)}.opportunity-card__value--green{color:var(--green)}.opportunity-card__value--purple{color:var(--purple)}.opportunity-card__value--red{color:#f43f5e}.opportunity-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;color:#506280;font-size:13px}.pipeline-add-card{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;background:transparent;color:var(--blue)}.pipeline-add-card:hover{background:#edf4ff}.opportunity-table{min-width:1180px}.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag-list span{display:inline-flex;min-height:30px;align-items:center;border:1px solid #bfd6ff;border-radius:6px;background:#eef5ff;color:var(--blue);padding:0 10px}.opportunity-stage-pill{display:inline-flex;min-height:32px;align-items:center;border-radius:7px;background:#f3e8ff;color:var(--purple);padding:0 12px}.opportunity-probability{color:#f97316;font-size:20px}.danger-text{color:#f97316}.quick-contact__person{display:flex;align-items:center;gap:10px;margin-bottom:8px}.quick-contact__person span{display:grid;gap:2px}.quick-contact__person small{color:var(--muted)}.lead-detail-page{display:grid;gap:14px}.detail-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.detail-header h1{display:flex;align-items:center;gap:12px;margin:0;font-size:28px;font-weight:500;line-height:1.15;letter-spacing:0}.detail-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.btn--success{border-color:#1ca351;background:#1ca351;color:#fff}.detail-more{width:92px}.detail-summary{display:grid;grid-template-columns:.8fr 1.35fr 1.15fr 1fr;gap:0;padding:24px 26px}.detail-summary__col{display:grid;align-content:start;gap:18px;min-height:238px;border-right:1px solid var(--border);padding:0 30px}.detail-summary__col:first-child{padding-left:0}.detail-summary__col:last-child{border-right:0;padding-right:0}.info-item{display:grid;gap:8px}.info-item__label{color:var(--muted);font-size:13px}.info-item__content{display:flex;align-items:center;gap:8px;color:#111a34;line-height:1.5}.detail-contact-name{font-size:19px}.icon-button{display:inline-grid;width:28px;height:28px;place-items:center;border:0;background:transparent;color:#64748b}.rating{display:inline-flex;gap:6px;color:var(--red);font-size:20px;line-height:1}.rating .muted{color:#cbd5e1}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:12px}.detail-main{display:grid;gap:12px;min-width:0}.detail-tabs-panel{overflow:hidden}.detail-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--border)}.detail-tabs button{min-height:52px;min-width:132px;border:0;border-bottom:2px solid transparent;background:transparent;color:#263858;padding:0 18px}.detail-tabs button.active{border-color:var(--blue);color:var(--blue)}.detail-overview{display:grid;grid-template-columns:1fr 1.05fr;gap:16px;padding:14px}.detail-card{min-height:220px;border:1px solid var(--border);border-radius:8px;padding:22px}.detail-card h2,.contact-history h2,.side-card h2{margin:0;font-size:17px;font-weight:500}.detail-card h2{margin-bottom:18px}.detail-card h3{margin:32px 0 10px;font-size:15px;font-weight:500}.detail-card p{margin:0;color:#23345a;line-height:1.7}.customer-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.customer-metric-grid div{display:grid;gap:6px;border:1px solid var(--border);border-radius:8px;background:#fbfdff;padding:14px}.customer-metric-grid span{color:var(--muted);font-size:13px}.customer-metric-grid strong{color:#111a34;font-size:22px;font-weight:500}.customer-record-list{display:grid;gap:12px;padding:18px}.customer-record-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px 16px}.customer-record-card strong{color:#111a34;font-weight:500}.customer-record-card p{margin:5px 0 0;color:var(--muted)}.customer-record-card>span{color:var(--green);font-weight:500;white-space:nowrap}.customer-file-list{display:flex;margin:0}.budget{color:var(--green);font-size:17px}.detail-list{display:grid;gap:17px;margin:0}.detail-list div{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.detail-list dt{color:#667491}.detail-list dd{margin:0;color:#172341}.detail-placeholder{min-height:220px;color:var(--muted);padding:24px}.detail-survey-tab{display:grid;gap:16px;padding:18px}.survey-tab-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.detail-survey-list{display:grid;gap:12px}.detail-survey-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:16px}.detail-survey-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.detail-survey-card header p,.detail-survey-card>p{margin:4px 0 0;color:var(--muted);line-height:1.6}.detail-survey-card dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0}.detail-survey-card dt{color:var(--muted);font-size:12px}.detail-survey-card dd{margin:5px 0 0;color:#172341;line-height:1.4}.detail-survey-card__actions{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:12px}.detail-empty-state{display:grid;min-height:260px;place-items:center;align-content:center;gap:10px;border:1px dashed #bfd0e7;border-radius:8px;background:#fbfdff;color:#506280;padding:26px;text-align:center}.detail-empty-state svg{color:var(--blue)}.detail-empty-state strong{color:#111a34;font-size:17px}.detail-empty-state p{max-width:430px;margin:0;line-height:1.6}.contact-history{padding:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-select{min-height:36px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#23345a;padding:0 12px}.history-list{display:grid;gap:18px;margin-top:20px}.history-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:18px}.history-item__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;color:#fff}.history-item__icon--green{background:#2cb560}.history-item__icon--blue{background:var(--blue)}.history-item__icon--orange{background:#f59e0b}.history-item__icon--purple{background:var(--purple)}.history-item h3{margin:0 0 4px;font-size:15px;font-weight:500}.history-item p{margin:0;color:#667491}.history-item time{display:grid;color:#44546f;line-height:1.5;text-align:right}.detail-side{display:grid;align-content:start;gap:12px}.side-card{padding:22px}.status-timeline{display:grid;gap:16px;margin:18px 0 0;padding:0;list-style:none}.status-timeline li{position:relative;display:grid;grid-template-columns:22px 1fr;gap:12px;color:#263858}.status-timeline li:before{position:absolute;top:20px;bottom:-18px;left:8px;width:2px;background:#d5deeb;content:""}.status-timeline li:last-child:before{display:none}.status-timeline li>span{display:grid;width:18px;height:18px;place-items:center;border:2px solid #b8c3d5;border-radius:999px;background:#fff}.status-timeline li.done>span{border-color:#22c55e;background:#22c55e}.status-timeline li.done>span:after{width:7px;height:4px;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(-45deg);content:""}.status-timeline li.active>span{border-color:var(--blue);box-shadow:inset 0 0 0 4px #fff;background:var(--blue)}.status-timeline small{display:block;margin-top:3px;color:#667491}.quick-contact{display:grid;gap:12px;margin-top:16px}.quick-contact button{display:grid;grid-template-columns:22px 1fr 22px;align-items:center;gap:12px;border:0;background:transparent;color:#172341;padding:0;text-align:left}.quick-contact button svg:last-child{color:var(--blue);justify-self:end}.side-count{display:inline-grid;min-width:24px;height:24px;place-items:center;border-radius:999px;background:#ffe4e7;color:var(--red)}.task-list{display:grid;gap:14px;margin-top:18px}.task-item{display:grid;grid-template-columns:20px 1fr 30px;align-items:start;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px}.task-item input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--blue)}.task-item span{display:grid;gap:6px}.task-item small{display:inline-flex;align-items:center;gap:6px;color:#667491}.add-task-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;border:0;background:transparent;color:var(--blue)}.confirm-dialog{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#0d173361;padding:24px}.confirm-dialog__panel{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;width:min(520px,100%);border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0d17332e;padding:22px}.confirm-dialog__icon{display:grid;width:46px;height:46px;place-items:center;border-radius:999px}.confirm-dialog__icon--primary{background:#e8f1ff;color:var(--blue)}.confirm-dialog__icon--success{background:#dcfce7;color:#16a34a}.confirm-dialog__content h2{margin:0 0 8px;color:#111a34;font-size:20px;font-weight:500}.confirm-dialog__content p{margin:0;color:#506280;line-height:1.6}.confirm-dialog__actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.form-modal{position:fixed;inset:0;z-index:55;display:grid;place-items:center;overflow-y:auto;background:#0d173361;padding:28px}.form-modal__panel{display:grid;gap:16px;width:min(860px,100%);max-height:calc(100vh - 56px);overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 24px 60px #0d17332e;padding:22px}.form-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.form-modal__header h2{margin:0 0 6px;color:#111a34;font-size:22px;font-weight:500}.form-modal__header p{margin:0;color:var(--muted)}.form-modal__actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:16px}.survey-form-modal textarea{resize:vertical}.overview-page{display:grid;gap:14px}.overview-updated{margin:8px 0 0;color:var(--muted)}.overview-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.overview-actions .control-select--date{min-width:238px}.overview-kpis,.overview-bottom-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.overview-kpis .stat-card,.overview-bottom-kpis .stat-card{min-height:118px}.overview-kpis .stat-card{align-items:flex-start;justify-content:space-between;flex-direction:row-reverse}.overview-kpis .stat-card__icon{width:54px;height:54px;flex-basis:54px}.overview-kpis .stat-card__value,.overview-bottom-kpis .stat-card__value{font-size:24px}.overview-grid{display:grid;gap:14px}.overview-grid--top,.overview-grid--middle{grid-template-columns:minmax(0,1.45fr) minmax(0,1.15fr) minmax(280px,.85fr)}.overview-card{min-width:0;padding:20px 22px}.overview-card h2{margin:0;color:#111a34;font-size:18px;font-weight:500}.revenue-card{min-height:352px}.revenue-chart{display:block;width:100%;min-height:286px;margin-top:12px;overflow:visible}.chart-grid line{stroke:#e4ebf5;stroke-width:1}.chart-axis text,.revenue-chart text{fill:#4c5d7a;font-size:12px}.revenue-chart g:not(.chart-axis):not(.chart-grid):not(.chart-legend) text{fill:#111a34;font-size:12px;font-weight:500}.chart-legend text{fill:#23345a;font-size:13px}.stage-card__body{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:18px;min-height:286px}.stage-legend{display:grid;gap:12px}.stage-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;color:#243557}.stage-legend span{width:10px;height:10px;border-radius:999px}.stage-legend p{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-legend strong{color:#172341}.side-list-card{display:flex;min-height:100%;flex-direction:column}.todo-list{display:grid;gap:0;margin-top:16px}.todo-list label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;border-bottom:1px solid var(--border);padding:11px 0}.todo-list input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--blue)}.todo-list span{display:grid;min-width:0;gap:4px}.todo-list strong{overflow:hidden;color:#111a34;text-overflow:ellipsis;white-space:nowrap}.todo-list small,.todo-list time{color:#667491}.todo-list time{white-space:nowrap}.side-list-card .add-task-link{margin-top:auto}.metric-table{display:grid;gap:0;margin-top:18px}.metric-table__head,.metric-row,.metric-total{display:grid;grid-template-columns:minmax(120px,1.1fr) 90px minmax(92px,.85fr) 54px;align-items:center;gap:14px}.metric-table__head{min-height:30px;color:#667491;font-size:13px}.metric-table__head span:nth-child(3){grid-column:3 / 5}.metric-row{min-height:34px;color:#172341}.metric-row>span{display:inline-flex;align-items:center;gap:8px;min-width:0}.metric-row i{display:block;height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.metric-row b{display:block;height:100%;border-radius:inherit}.metric-row em{color:#243557;font-style:normal;text-align:right}.metric-total{grid-template-columns:minmax(120px,1.1fr) 90px minmax(92px,.85fr) 54px;min-height:44px;margin-top:10px;border-top:1px solid var(--border);color:#111a34}.metric-total strong:last-child{grid-column:3 / 5;text-align:right}.service-table .metric-table__head,.service-table .metric-row,.service-table .metric-total{grid-template-columns:minmax(110px,1fr) 140px minmax(92px,.75fr) 54px}.latest-opportunity-list{display:grid;gap:0;margin-top:14px}.latest-opportunity-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-bottom:1px solid var(--border);padding:12px 0}.latest-opportunity-list article>div{display:grid;gap:5px;min-width:0}.latest-opportunity-list strong{overflow:hidden;color:#111a34;text-overflow:ellipsis;white-space:nowrap}.latest-opportunity-list span{color:var(--green)}.latest-opportunity-list time{color:#667491;white-space:nowrap}.overview-bottom-kpis .stat-card{gap:16px}.overview-bottom-kpis .stat-card__icon{width:58px;height:58px;flex-basis:58px}@media(max-width:1535px){.dashboard-content{padding-inline:26px}.lead-page__stats{gap:14px}.stat-card{padding:18px 20px}.pipeline-summary article{padding-inline:24px}.overview-kpis,.overview-bottom-kpis{gap:12px}.overview-kpis .stat-card,.overview-bottom-kpis .stat-card{padding:18px}.overview-grid--top,.overview-grid--middle{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(260px,.82fr)}.quote-editor-layout{grid-template-columns:1fr}.stage-card__body{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:1279px){.sidebar{width:78px;flex-basis:78px}.sidebar__brand{justify-content:center;padding:0 10px}.sidebar__brand img{width:58px;height:34px;object-fit:cover;object-position:left center}.sidebar__item span,.sidebar__chevron,.sidebar__subnav,.sidebar__collapse span{display:none}.sidebar__item{justify-content:center;padding:0}.sidebar__collapse{justify-content:center;margin-inline:14px}.topbar{grid-template-columns:auto 1fr auto}.quote-editor-fields,.quote-editor-footer{grid-template-columns:1fr}.quote-editor-status{justify-content:flex-start;overflow-x:auto}.lead-page__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.survey-stats,.design-stats,.quote-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-filters,.design-filters,.quote-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.search-field{grid-column:span 3}.analytics-grid{grid-template-columns:1fr}.pipeline-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.pipeline-summary article{border-right:0;border-bottom:1px solid var(--border);padding:18px}.pipeline-summary article:nth-child(odd){border-right:1px solid var(--border)}.pipeline-summary article:last-child{border-bottom:0}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-summary__col{min-height:0;border-right:0;border-bottom:1px solid var(--border);padding:18px}.detail-summary__col:nth-child(odd){border-right:1px solid var(--border)}.detail-summary__col:first-child{padding-left:18px}.detail-summary__col:last-child,.detail-summary__col:nth-last-child(2){border-bottom:0}.detail-summary__col:last-child{padding-right:18px}.detail-layout{grid-template-columns:1fr}.quote-detail-page .detail-side,.detail-survey-card dl,.quote-total-box{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-total-box dl{grid-column:1 / -1}.customer-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-kpis,.overview-bottom-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid--top,.overview-grid--middle{grid-template-columns:1fr}.stage-card__body{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:1023px){.dashboard-content{padding:20px 18px 42px}.topbar{gap:14px;padding-inline:16px}.topbar__search{max-width:none}.topbar__user span{display:none}.page-header{align-items:flex-start;flex-direction:column}.lead-filters,.survey-filters,.design-filters,.quote-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.search-field{grid-column:span 2}.lead-table{min-width:980px}.lead-table__footer{align-items:flex-start;flex-direction:column;padding-block:12px}.pagination{flex-wrap:wrap}.detail-header{align-items:flex-start;flex-direction:column}.pipeline-actions{justify-content:flex-start}.pipeline-summary{grid-template-columns:1fr}.pipeline-summary article,.pipeline-summary article:nth-child(odd){border-right:0}.detail-header__actions{justify-content:flex-start}.quote-editor-toolbar,.quote-editor-toolbar__actions{align-items:stretch;flex-direction:column}.quote-editor-toolbar__actions .btn{justify-content:center;width:100%}.detail-overview,.quote-detail-page .detail-side,.quote-total-box,.form-grid--2,.form-grid--3{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-item{grid-template-columns:44px minmax(0,1fr)}.survey-tab-actions{justify-content:flex-start}.history-item time{grid-column:2;text-align:left}.overview-actions{justify-content:flex-start}.overview-actions .control-select--date,.overview-actions .btn{width:100%}.stage-card__body{grid-template-columns:1fr;justify-items:center}.stage-legend{width:100%}}@media(max-width:639px){.dashboard-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:min(304px,82vw);height:100vh;flex-basis:auto;box-shadow:18px 0 40px #0f172a2e;transform:translate(-104%);transition:transform .22s ease}.sidebar-mobile-open .sidebar{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:35;display:block;border:0;background:#0f172a61}.sidebar__brand{justify-content:flex-start;padding:0 20px}.sidebar__brand img{width:188px;height:auto;object-fit:contain}.sidebar__item{justify-content:flex-start;padding:0 14px}.sidebar__item span,.sidebar__chevron,.sidebar__collapse span{display:inline}.sidebar__subnav{display:grid}.sidebar__collapse{justify-content:flex-start;width:calc(100% - 48px);margin-inline:24px}.topbar{grid-template-columns:auto 1fr auto;height:auto;min-height:64px}.topbar__search{order:4;grid-column:1 / -1;margin-bottom:12px}.topbar__actions{gap:8px}.page-header h1{font-size:25px}.page-header__actions{width:100%}.page-header__actions .btn{flex:1}.lead-page__stats,.survey-stats,.design-stats,.quote-stats,.lead-filters,.survey-filters,.design-filters,.quote-filters,.analytics-card__body,.legend--columns,.performance-table__row,.detail-summary,.detail-list div{grid-template-columns:1fr}.pipeline-actions .control-select,.pipeline-actions .btn,.view-toggle{width:100%}.view-toggle button{flex:1}.detail-header h1{font-size:25px}.detail-header__actions{width:100%}.detail-header__actions .btn{flex:1}.lead-form-page .detail-header__actions{width:100%}.lead-form-page .detail-header__actions .btn{min-width:100%}.form-section{padding:18px}.form-section__heading{align-items:center}.check-grid{grid-template-columns:1fr}.detail-more{flex:0 0 48px;width:48px}.detail-summary{padding:12px}.detail-summary__col,.detail-summary__col:nth-child(odd){border-right:0}.detail-summary__col:nth-last-child(2){border-bottom:1px solid var(--border)}.detail-survey-card header,.survey-tab-actions{flex-direction:column;align-items:stretch}.detail-survey-card dl,.customer-metric-grid,.customer-record-card{grid-template-columns:1fr}.contact-history,.side-card,.detail-card{padding:18px}.search-field{grid-column:auto}.stat-card{min-height:104px}.lead-table-wrap{border-top:1px solid var(--border)}.lead-tabs{padding-inline:12px}.analytics-card__body{justify-items:center}.performance-table__row{align-items:start;gap:8px;padding:12px 0}.performance-table__head{display:none}.confirm-dialog{align-items:end;padding:14px}.confirm-dialog__panel{grid-template-columns:1fr;padding:18px}.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__actions .btn{width:100%}.form-modal{align-items:end;padding:14px}.form-modal__panel{max-height:calc(100vh - 28px);padding:18px}.form-modal__header,.form-modal__actions{flex-direction:column}.form-modal__actions .btn{width:100%}.overview-kpis,.overview-bottom-kpis,.metric-table__head,.metric-row,.metric-total,.service-table .metric-table__head,.service-table .metric-row,.service-table .metric-total,.latest-opportunity-list article{grid-template-columns:1fr}.overview-card{padding:18px}.overview-kpis .stat-card{align-items:center;flex-direction:row}.revenue-chart{min-width:560px}.revenue-card{overflow-x:auto}.metric-table__head span:nth-child(3),.metric-total strong:last-child{grid-column:auto;text-align:left}.metric-row em{text-align:left}}
