/* EXO 3.1 — shared component adapter for the existing CRM runtime. */
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth){--ink:var(--exo-ink);--muted:var(--exo-muted);--line:var(--exo-border);--bg:var(--exo-bg);--accent:var(--exo-accent);--dark:var(--exo-primary);color:var(--exo-ink);background:var(--exo-bg)}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(button,input,select,textarea){font-family:inherit}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(h1,h2,h3){color:var(--exo-ink);font-weight:700}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) h1{font-size:clamp(26px,2.6vw,34px);letter-spacing:-1.05px;line-height:1.2}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .kicker{color:var(--exo-primary);font-size:10px;font-weight:700;letter-spacing:1.45px}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(.panel,.metric,.empty,.deal-card){border-color:var(--exo-border);border-radius:var(--exo-radius);box-shadow:none}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .panel{padding:24px;background:var(--exo-surface)}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(button,.input){border-radius:8px;border-color:var(--exo-border);color:var(--exo-ink);font-size:12px;min-height:44px}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) button:not(.exo-mobile-overlay):hover{background:#edf3eb}
body:is(.exo-workspace,.exo-team,.exo-connections) :is(.exo-menu-button,.exo-nav-close){font-size:22px;padding:0}
body:is(.exo-workspace,.exo-team,.exo-connections) .exo-mobile-overlay{border-radius:0}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(button.primary,a.primary){background:var(--exo-primary);border-color:var(--exo-primary);color:#fff;font-weight:650;box-shadow:none}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(button.primary,a.primary):hover{background:#1b4435;border-color:#1b4435}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .input{font-size:13px;line-height:1.6;background:#fff;padding:11px 13px;width:100%;max-width:100%}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .input:focus{border-color:var(--exo-primary);outline:3px solid #2457441c;outline-offset:1px}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .field{font-size:12px;color:var(--exo-ink);font-weight:650}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .field small{color:var(--exo-muted)}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(.help-note,.summary-banner){background:#edf3e9;border-color:#c3d9b1;color:#466446;border-radius:8px;font-size:12px}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .badge{border-radius:6px;background:#edf3e9;color:#416642;padding:6px 9px}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .badge.warning{background:#fff1d6;color:#785300}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) .badge.neutral{background:#eef1ed;color:var(--exo-muted)}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) dialog{border:1px solid var(--exo-border);border-radius:16px;padding:28px;color:var(--exo-ink);box-shadow:0 24px 90px #17372d26;font-family:inherit}
body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) dialog::backdrop{background:#122a2259;backdrop-filter:blur(3px)}
.exo-workspace .rail.exo-sidebar{width:var(--exo-sidebar);padding:0;flex-direction:column;background:var(--exo-surface);color:var(--exo-ink);border-right:1px solid var(--exo-border)}
.exo-workspace .logo.exo-brand{padding:0 24px;font-size:0;letter-spacing:normal;min-height:var(--exo-topbar);display:flex;align-items:center;flex-shrink:0}
.exo-workspace .logo img{display:block;width:156px;height:34px}
.exo-workspace .rail-heading{margin:28px 24px 12px;color:var(--exo-muted);font-size:10px;letter-spacing:1.2px;font-weight:700}
.exo-workspace .rail #crm-nav{display:grid;gap:5px;margin:0;padding:0 14px;overflow:visible}
.exo-workspace .nav-button{display:flex;align-items:center;width:100%;min-height:44px;margin:0;padding:11px 13px;gap:12px;background:transparent;border:0;border-radius:8px;color:var(--exo-muted);font-size:13px;font-weight:600;text-decoration:none}
.exo-workspace .nav-button:hover{background:#edf3eb;color:var(--exo-ink)}
.exo-workspace .nav-button[aria-current=page]{background:var(--exo-soft);color:var(--exo-primary);font-weight:700;box-shadow:inset 3px 0 var(--exo-primary)}
.exo-workspace .nav-symbol{font-size:19px;width:20px;color:inherit}
.exo-workspace .rail-bottom{display:block;margin-top:auto;padding:26px 26px 18px}
.exo-workspace .rail-bottom>a:first-child{font-size:12px;color:var(--exo-primary);text-decoration:none;font-weight:650}
.exo-workspace .rail-bottom p{font-size:11px;color:var(--exo-muted);line-height:1.75;margin:16px 0}
.exo-workspace .rail-bottom .exo-account{margin:18px -12px 0;padding:13px 12px;text-decoration:none}
.exo-workspace .shell.exo-shell{margin-left:var(--exo-sidebar);min-width:0}
.exo-workspace .topbar.exo-topbar{height:var(--exo-topbar);padding:0 32px;background:var(--exo-surface);border-bottom:1px solid var(--exo-border);gap:16px}
.exo-workspace .workspace-name{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--exo-muted)}
.exo-workspace #breadcrumb{color:var(--exo-ink);font-size:12px;font-weight:650}
.exo-workspace .separator{color:#b7c2ba;margin:0 12px}
.exo-workspace .top-actions{margin-left:auto;flex-shrink:0;gap:8px}
.exo-workspace .local-banner{display:flex;min-height:48px;padding:8px 32px;gap:10px;flex-wrap:wrap;background:#f8faf7;border-color:var(--exo-border);color:var(--exo-muted);font-size:11px;line-height:1.5}
.exo-workspace .local-banner button{border:1px solid var(--exo-border);border-radius:6px;background:transparent;min-height:30px;font-size:10px;padding:5px 9px}
.exo-workspace .local-banner #crm-status{color:var(--exo-primary);font-size:10px}
.exo-workspace #crm-main{max-width:1544px;min-width:0;padding:32px 36px 52px}
.exo-workspace .view-head{margin-bottom:26px}
.exo-workspace .view-head p{max-width:750px;font-size:13px;line-height:1.75}
.exo-workspace .metrics{gap:16px}.exo-workspace .metric{padding:22px}.exo-workspace .metric strong{font-size:32px;font-weight:650;color:var(--exo-ink)}
.exo-workspace .tabs{border-color:var(--exo-border);gap:4px}.exo-workspace .tabs button[aria-current=page]{background:var(--exo-accent);color:var(--exo-ink)}
.exo-workspace :is(.table-list,.settings-table){font-size:12px}.exo-workspace .table-list th{background:#f4f7f1;color:var(--exo-muted);font-size:11px}.exo-workspace :is(.table-list,.settings-table) :is(th,td){border-color:var(--exo-border);padding:14px 12px}
.exo-workspace .column{background:#edf2eb;border-color:var(--exo-border);border-radius:var(--exo-radius)}
.exo-workspace .context-strip{border-color:var(--exo-border);border-radius:var(--exo-radius)}
.exo-workspace .crm-choice{border-color:var(--exo-border)}.exo-workspace .crm-choice:has(input:checked){border-color:#8ba871;background:#f1f6eb}
.exo-workspace .group-selector button[aria-pressed=true]{background:var(--exo-primary);border-color:var(--exo-primary)}
.exo-workspace :is(.ticket-history-message,.ticket-history-message.from-client,.ticket-history-message.from-team){border-color:var(--exo-border);border-radius:10px}
@media(max-width:1180px){.exo-workspace #crm-main{padding:28px 24px 48px}.exo-workspace .topbar.exo-topbar{padding:0 24px}.exo-workspace .local-banner{padding:8px 24px}.exo-workspace .top-actions button{font-size:11px}}
@media(max-width:960px){.exo-workspace .rail.exo-sidebar{position:fixed;inset:0 auto 0 0;height:100dvh;width:var(--exo-sidebar);z-index:1000;display:flex;overflow-y:auto}.exo-workspace .shell.exo-shell{margin-left:0}.exo-workspace .rail-heading{display:block}.exo-workspace .topbar.exo-topbar{height:auto;min-height:var(--exo-topbar);padding:12px 20px;flex-wrap:wrap}.exo-workspace .topbar .workspace-name{display:inline}.exo-workspace .separator{display:inline}.exo-workspace .rail-bottom{display:block}.exo-workspace #crm-main{padding:26px 20px 40px}.exo-workspace .local-banner{padding:10px 20px}.exo-workspace .local-banner #crm-status{margin-left:0}.exo-workspace .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exo-workspace .grid2,.exo-workspace .grid-equal,.exo-workspace .call-layout{grid-template-columns:1fr}.exo-workspace .call-sticky{position:static}.exo-workspace .tabs{position:static}}
@media(max-width:580px){.exo-workspace .topbar.exo-topbar{gap:10px}.exo-workspace .top-actions{width:100%;padding-left:0;justify-content:flex-end}.exo-workspace .top-actions button{flex:1}.exo-workspace .exo-breadcrumb{flex:1;min-width:0}.exo-workspace .workspace-name{font-size:11px}.exo-workspace #breadcrumb{font-size:11px}.exo-workspace #crm-main{padding:24px 16px 36px}.exo-workspace .local-banner{padding:10px 16px;gap:8px}.exo-workspace .local-banner #crm-status{width:100%}.exo-workspace .view-head{gap:16px}.exo-workspace .metric{padding:16px}.exo-workspace .metric strong{font-size:29px}.exo-workspace :is(.panel,.empty){padding:18px}.exo-workspace .view-head h1{font-size:27px}.exo-workspace .table-list :is(th,td){padding:12px 10px}.exo-workspace .head-buttons{width:100%}.exo-workspace .head-buttons button{flex:1}.exo-workspace .quote-line{grid-template-columns:minmax(0,1fr) 75px 60px}}
@media(max-width:760px){body:is(.exo-workspace,.exo-team,.exo-connections,.exo-auth) :is(input.input,textarea.input,select.input){font-size:16px}}
@media print{.exo-workspace .rail.exo-sidebar,.exo-workspace .topbar.exo-topbar,.exo-workspace .local-banner{display:none!important}.exo-workspace .shell.exo-shell{margin:0}.exo-workspace #crm-main{padding:0}}
