.crm-shell{background:var(--bg);color:#26374b}
.crm-app{grid-template-columns:224px minmax(0,1fr)}
.crm-app>.sidebar{background:#fff;border-right:1px solid #e0e6ee;padding:18px 12px;gap:20px;overflow-y:auto}
.crm-app .sidebar nav a{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;padding:8px 10px;border-radius:5px}
.crm-app .sidebar nav a>span{width:16px;font-size:15px;text-align:center;color:#78909f}
.crm-app .sidebar nav a.active{background:#e8f3f6;color:#006a80}
.crm-nav-label{color:#627482;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:14px 10px 5px}
.crm-app>.main{padding:0 32px 32px;min-width:0}
.crm-topbar{height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dfe6ee;margin:0 -32px;padding:0 32px;background:#fff;color:#7d8c9f;font-size:14px}
.crm-topbar>span{white-space:nowrap}
.crm-topbar form{display:flex;gap:6px;margin-left:auto;max-width:440px;flex:1}
.crm-topbar form input{background:#f7f9fb;border-color:#e3e9ef;font-size:14px;min-height:32px}
.crm-topbar form button{font-size:14px;min-height:32px}
.crm-topbar>button{white-space:nowrap;font-size:14px;min-height:32px}
.crm{min-width:0}
.crm-page-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-section);margin:0}
.crm-page-heading h1{font-size:28px;line-height:1.25;margin:0 0 5px;color:#19344a;font-weight:600}
.crm-page-heading p{font-size:14px;color:#627482;margin:0}
.crm .panel{margin:0;padding:var(--space-card);border:1px solid #e0e6ee;border-radius:7px;background:#fff;box-shadow:0 2px 4px #192e4403}
.crm .panel h2{font-size:14px;margin:0 0 12px}
.crm .panel p{font-size:14px;line-height:1.55}
.crm button,.crm .button-light,.crm .button-primary{font-size:14px;min-height:32px;line-height:1.4;height:auto;white-space:normal;padding:6px 10px;border-radius:5px;font-weight:600;max-width:100%;overflow:visible}
.crm label{font-size:13px;line-height:1.4;color:#50627a;font-weight:600}
.crm input:not([type=checkbox]):not([type=hidden]),.crm select,.crm textarea{font-size:13px;min-height:34px;padding:7px 9px;border-radius:5px;border-color:#dbe3ed;color:#24374a;font-weight:400}
.crm textarea{min-height:76px;resize:vertical}
.crm .crm-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;margin:16px 0}
.crm-form>label{min-width:0}
.crm-form>label:has(textarea),.crm-form>p,.crm-form>button,.crm-form>label.crm-check{grid-column:1/-1}
.crm-form>button{justify-self:start}
.crm-form .crm-check{display:flex;gap:8px;align-items:flex-start}
.crm-check input{flex:none}
.crm-form:has(input[name=extension]){grid-template-columns:minmax(0,1fr) auto;align-items:end;border-top:1px solid #edf1f6;padding-top:10px;margin:10px 0}
.crm-form:has(input[name=extension])>button{grid-column:auto}
.crm-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.crm-actions>.crm-form{display:block;margin:0}
.crm-actions>.crm-form>button{width:auto}
.crm-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crm-section-head h2{margin-bottom:4px!important}
.crm-section-head>p{margin:0}
.crm-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-section);margin:0}
.crm-metrics .panel{display:flex;flex-direction:column;gap:7px;margin:0;padding:var(--space-card)}
.crm-metrics span{font-size:13px;color:#627482}
.crm-metrics strong{font-size:26px;font-weight:600;line-height:1.1;color:#17364d}
.crm-metrics .panel:first-child{border-top:2px solid #cb8940}
.crm-overview{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:var(--space-section);align-items:start}
.crm-quick{display:grid;gap:7px}
.crm-quick a,.crm-quick button{justify-content:flex-start;font-size:14px}
.crm-mini-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:14px}
.crm-mini-row:last-child{border:0}
.crm small{display:block;font-size:13px;color:#627482;margin-top:4px;line-height:1.4}
.crm-table,.crm table{font-size:14px;width:100%;border-collapse:collapse}
.crm th{background:#f8fafc;color:#627482;font-size:14px;letter-spacing:.04em;padding:9px 10px;text-transform:none;font-weight:600;white-space:nowrap}
.crm td{padding:11px 10px;border-bottom:1px solid #edf1f6;line-height:1.45;vertical-align:middle}
.crm tr:last-child td{border-bottom:0}
.crm tbody tr:hover{background:#f9fbfd}
.crm-title{font-weight:600;color:#29475f;font-size:14px;text-decoration:none}
.crm-title:hover{color:#007299;text-decoration:underline}
.crm-table td:first-child{min-width:190px}
.crm-badge{font-size:14px;padding:3px 7px;display:inline-block;border-radius:4px;background:#eef4f8;color:#506b85;white-space:nowrap}
.crm-warning{background:#fff0de;color:#9d671d}
.crm-overdue,.crm-overdue small{color:#b15140;font-weight:600}
.crm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;align-items:end;margin:16px 0}
.crm-filters button{align-self:end}
.crm-filters input{max-width:100%}
.crm-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:var(--space-section);align-items:start}
.crm-columns>.panel,.crm-columns>aside{min-width:0}
.crm-detail-side .crm-form{grid-template-columns:1fr}
.crm-timeline{display:grid;gap:0}
.crm-timeline article{padding:10px 0 10px 13px;margin:0;border-left:2px solid #e1eaf1;font-size:13px;color:#627482;overflow-wrap:anywhere}
.crm-timeline article>strong{color:#354e65;font-size:13px}
.crm-timeline article>div{font-size:14px;line-height:1.55;color:#536779;margin-top:3px}
.crm-timeline details{margin-top:6px}
.crm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.crm-cards .panel{margin:0}
.crm-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.crm details>summary{cursor:pointer;font-size:14px;font-weight:600;color:#366179}
.crm .panel,.crm p,.crm td,.crm h2,.crm h3,.crm code{overflow-wrap:anywhere}
.crm-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-section);align-items:start}
.crm-settings-grid>.panel{margin:0}
.crm-settings-grid>.panel:last-child{grid-column:1/-1}
.crm-settings-grid .crm-form{margin-bottom:0}
.crm-pipeline{display:grid;grid-template-columns:repeat(5,minmax(185px,1fr));gap:12px;overflow-x:auto;align-items:start;min-height:400px;padding-bottom:12px}
.crm-lane{background:#edf1f5;border-radius:7px;padding:10px;min-width:0}
.crm-lane>h2{display:flex;justify-content:space-between;font-size:14px;font-weight:600;padding:4px 2px 11px;margin:0;border-top:2px solid #839fc0;color:#415d74}
.crm-lane[data-stage=won]>h2{border-color:#4d997e}
.crm-lane[data-stage=lost]>h2{border-color:#b77979}
.crm-lane[data-stage=proposal]>h2{border-color:#c0a169}
.crm-lane h2 span{font-size:14px;color:#8090a3}
.crm-deal{background:#fff;border:1px solid #dde5ee;border-radius:6px;padding:12px;margin:9px 0;box-shadow:0 2px 3px #172b4405}
.crm-deal>.crm-title{display:block;font-size:14px;line-height:1.5}
.crm-deal>strong{font-size:14px;font-weight:600;display:block;margin:10px 0;color:#243f57}
.crm-deal>p{font-size:13px;line-height:1.5;color:#72849a;min-height:30px;margin:0}
.crm-deal>.crm-form{margin:12px 0 0;display:flex;gap:5px;align-items:end}
.crm-deal .crm-form label{font-size:14px;flex:1}
.crm-deal .crm-form select{font-size:13px;padding:5px;min-height:28px}
.crm-deal .crm-form button{font-size:14px;min-height:28px;padding:5px 7px}
.crm-lane-empty{font-size:13px;text-align:center;color:#8d9cac;padding:15px 0}
.crm-phone-dock{--phone-content-height:172px;position:fixed;right:20px;bottom:16px;width:366px;max-width:calc(100vw - 24px);height:calc(var(--phone-content-height) + 53px);max-height:calc(100dvh - 24px);background:#fff;z-index:1000;border:1px solid #d7e2eb;border-radius:10px;box-shadow:0 8px 32px #102b3a26;overflow:hidden}
.crm-phone-dock>header{height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f7fafb;padding:6px 10px;border-bottom:1px solid #dfe7ee}
.crm-phone-heading{display:grid;gap:1px;min-width:0;line-height:1.3}
.crm-phone-heading strong{font-size:13px;font-weight:600;color:#203746}
.crm-phone-heading span{font-size:11px;color:#526975;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-phone-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.crm-phone-dock button{background:transparent;border:0;border-radius:5px;color:#335369;font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;min-height:32px;padding:4px 8px;cursor:pointer}
.crm-phone-dock button:hover{background:#e7f0f3}
.crm-phone-dock button:focus-visible{outline:2px solid #007c9e;outline-offset:-2px}
.crm-phone-dock [data-phone-disconnect]{font-size:21px;min-width:32px}
.crm-phone-dock iframe{display:block;border:0;width:100%;height:min(var(--phone-content-height),calc(100dvh - 78px))}
.crm-phone-dock.is-minimized{height:53px;width:274px}
.crm-phone-dock.is-minimized iframe{visibility:hidden;pointer-events:none}
.crm-phone-dock.has-call{border-color:#0086a4}
.crm-phone-dock.has-call .crm-phone-heading span{color:#006d83;font-weight:600}
.crm-phone-alert{position:fixed;right:20px;top:80px;z-index:999;max-width:300px;background:#fff;border:1px solid #aacdd8;box-shadow:0 6px 25px #12374c15;padding:14px;border-radius:8px;font-size:13px}
.crm-phone-alert a{display:block;color:#007299;margin-top:8px}
.crm .notice,.crm-notifications:not(:empty){padding:12px;background:#fff4e5;color:#76532a;font-size:14px;border-radius:6px;margin-bottom:12px}
.crm-loading{opacity:.55;pointer-events:none}


@media(max-width:1180px){.crm-overview{grid-template-columns:minmax(0,1fr)}
.crm-overview>aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.crm-columns{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}
}

@media(max-width:900px){.crm-app{grid-template-columns:180px minmax(0,1fr)}
.crm-app>.main{padding:0 16px 20px}
.crm-topbar{padding:0 16px;margin:0 -16px 18px}
.crm-topbar>span{display:none}
.crm-columns,.crm-settings-grid{grid-template-columns:1fr}
.crm-metrics{gap:10px}
.crm-metrics .panel{padding:13px}
.crm-overview>aside{grid-template-columns:1fr}
.crm .crm-form{gap:12px}
}

@media(max-width:900px){.crm-app{display:block}
.crm-app>.sidebar{height:auto;overflow:visible;padding:12px 16px}
.crm-nav-label{padding-top:10px}
.crm-app .sidebar nav a{min-height:38px}
.crm-app>.main{padding:0 14px 20px}
.crm-topbar{height:auto;min-height:58px;padding:10px 14px;margin:0 -14px 16px;gap:8px}
.crm-topbar form button{display:none}
.crm-topbar>button{min-height:38px}
.crm-topbar form input{min-height:38px;font-size:16px}
.crm-page-heading{margin-bottom:16px;align-items:flex-start}
.crm-page-heading h1{font-size:22px}
.crm-page-heading p{font-size:14px}
.crm-metrics{grid-template-columns:1fr 1fr}
.crm .crm-form{grid-template-columns:1fr}
.crm .crm-form input:not([type=hidden]),.crm .crm-form select,.crm .crm-form textarea,.crm-filters input,.crm-filters select{font-size:16px;min-height:40px}
.crm .crm-form button,.crm button{min-height:40px}
.crm-filters{grid-template-columns:1fr 1fr}
.crm-columns{grid-template-columns:1fr}
.crm-overview{gap:var(--space-section)}
.crm-pipeline{grid-template-columns:repeat(5,230px)}
.crm-deal .crm-form select{font-size:14px}
.crm-phone-dock{right:12px;bottom:12px}
.crm-section-head{align-items:flex-start;flex-wrap:wrap}
.crm-settings-grid .crm-form:has(input[name=extension]){grid-template-columns:1fr auto}
.crm-settings-grid .crm-form:has(input[name=extension])>button{grid-column:auto}
}

@media(max-width:370px){.crm-filters{grid-template-columns:1fr}
.crm-page-heading{flex-wrap:wrap}
}

@media print{.crm-topbar,.crm-form,.crm-filters,.crm-actions,.crm-quick,.crm-phone-dock,.crm-phone-alert,.crm .no-print{display:none!important}
.crm-app{display:block}
.crm-columns,.crm-overview{display:block}
.crm .table-wrap{overflow:visible}
.crm table{min-width:0!important}
.crm a{color:#000}
.crm-pipeline{display:block}
.crm-lane{break-inside:avoid}
.crm .panel{box-shadow:none}
}


.crm-mail-row>summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.5}
.crm-mail-row>summary strong{font-size:14px;color:#304b63}
.crm-mail-row>p{margin-top:16px}
.crm-mail-row[open]{grid-column:1/-1;max-width:850px}


.crm-topbar>button{width:auto;flex:none}
.crm-topbar form{min-width:0}
.crm-topbar form input{min-width:0}


/* Shared visual rhythm: containers own the gaps, cards own their padding. */
.crm { display:flex; flex-direction:column; gap:var(--space-section); }

.crm-shell .crm > :not(script):not(style) { margin-block:0; }

.crm-notifications:empty { display:none; }

.crm .panel { border-radius:8px; box-shadow:none; }

.crm .panel h2 { font-size:18px; font-weight:600; margin-bottom:16px; }

.crm .panel p { font-size:14px; }

.crm button, .crm .button-light, .crm .button-primary { font-size:14px; font-weight:500; min-height:38px; padding:8px 12px; border-radius:6px; }

.crm label { font-size:14px; font-weight:500; }

.crm input:not([type=checkbox]):not([type=hidden]), .crm select, .crm textarea { font-size:15px; min-height:38px; border-radius:6px; }

.crm table, .crm-title { font-size:14px; }

.crm th { font-size:12px; padding:12px; letter-spacing:.02em; }

.crm td { padding:12px; }

.crm small, .crm-timeline article, .crm-timeline article>strong, .crm-badge { font-size:13px; }

.crm-timeline article>div { font-size:14px; }

.crm-page-heading, .crm-metrics, .crm-filters.panel, .crm .crm-pipeline { margin-block:0; }

.crm-metrics { gap:var(--space-section); }

.crm-metrics .panel { padding:var(--space-card); border-top-width:1px; }

.crm-metrics span { font-size:14px; }

.crm-metrics strong { font-size:30px; font-weight:500; font-variant-numeric:tabular-nums; }

.crm-metrics .panel:first-child { border-top-color:var(--line); }

.crm-overview, .crm-columns, .crm-cards, .crm-settings-grid { gap:var(--space-section); }

.crm-overview>div, .crm-overview>aside, .crm-columns>aside { display:grid; gap:var(--space-section); align-content:start; min-width:0; }

.crm-overview .panel, .crm-columns .panel { margin:0; }

.crm .panel>.crm-section-head { margin-bottom:16px; }

.crm .crm-form { gap:var(--space-field); }

.crm .panel>.crm-form, .crm .panel>.crm-filters { margin-block:0; }

.crm details.panel[open]>.crm-form { margin-top:16px; }

.crm-section-head { gap:16px; }

.crm-nav-label { font-size:11px; font-weight:600; letter-spacing:.08em; }

.crm-app .sidebar nav a { font-size:14px; font-weight:500; }

.crm-quick { gap:8px; }

.crm-quick a, .crm-quick button { font-size:14px; }

.crm-lane { padding:12px; }

.crm-lane>h2 { font-size:14px; }

.crm-deal { padding:16px; margin:12px 0 0; box-shadow:none; }

.crm-deal>.crm-title { font-size:15px; }

.crm-deal>strong { font-size:18px; font-weight:500; }

.crm-deal>p { font-size:14px; }

.crm-deal .crm-form label { font-size:12px; }

.crm-deal .crm-form select, .crm-deal .crm-form button { font-size:13px; }

.crm-topbar { gap:16px; min-height:72px; }

.crm-topbar form input, .crm-topbar form button, .crm-topbar>button { font-size:14px; min-height:38px; }

.crm-app>.sidebar { padding:24px 16px; gap:24px; }

@media(max-width:1180px) { .crm-overview>aside { gap:var(--space-section); }
 }

@media(max-width:900px) {
 .crm-app>.main { padding:0 16px 24px; }

 .crm-topbar { margin:0 -16px; padding:12px 16px; }

 .crm-page-heading { margin:0; }

 .crm-page-heading h1 { font-size:26px; }

 .crm-page-heading p { font-size:14px; }

 .crm .panel { padding:var(--space-card); }

 .crm-metrics { gap:12px; }

 .crm-metrics .panel { padding:16px; }

 .crm-metrics strong { font-size:28px; }

 .crm .crm-form input:not([type=hidden]), .crm .crm-form select, .crm .crm-form textarea, .crm-filters input, .crm-filters select, .crm-topbar form input { font-size:16px; min-height:40px; }

 .crm button { min-height:40px; }

 .crm .panel>.crm-section-head .button-light { width:auto; }

}

@media print { .crm { display:block; }
 .crm .panel { margin-bottom:16px; }
 }


.crm-app .sidebar nav a>span {display:inline-flex;width:18px;align-items:center;color:#687f8c;flex:none;}
.crm-app .sidebar nav a>span svg {display:block;}
.crm-page-heading {flex-wrap:wrap;}
.crm-page-heading>div:first-child {flex:1 1 200px;}
.crm-page-heading>.crm-actions {flex:none;}
