/* AtomService material system. Screen-only: print outputs retain their layout. */
@font-face { font-family: 'Golos Text'; src: url('/fonts/golos-text-variable.ttf') format('truetype'); font-weight: 400 900; font-style: normal; font-display: swap; }
@media screen {
.crm-ui .crm-loading { padding: 20px; }
.crm-ui .crm-loading-shell { display: grid; grid-template-columns: 232px minmax(0,1fr); gap: 20px; min-height: 80dvh; }
.crm-ui .crm-loading-shell aside { padding: 80px 20px 20px; border-radius: 28px; background: #f5f8fbc7; border: 1px solid #ffffffc9; }
.crm-ui .crm-loading-shell i { display: block; height: 16px; border-radius: 8px; margin: 24px 0; background: #d5dee8; }
.crm-ui .crm-loading-shell header { height: 80px; border-radius: 22px; background: #f5f8fbc7; margin-bottom: 24px; }
.crm-ui .crm-loading-shell section>div { height: 62px; margin-bottom: 1px; background: #fafcffda; }
.crm-ui .crm-loading-shell section>div:first-of-type { border-radius: 16px 16px 0 0; }
.crm-ui .crm-loading-shell section>div:last-of-type { border-radius: 0 0 16px 16px; }
.crm-ui .crm-loading p { color: #536171; text-align: center; }
@media(max-width:760px) { .crm-ui .crm-loading-shell { grid-template-columns: 1fr; } .crm-ui .crm-loading-shell aside { display: none; } }

.crm-ui {
 --text-primary: #202833; --text-secondary: #445264; --text-muted: #4f5e70;
 --accent: #075cbe; --accent-hover: #064c9d; --accent-soft: #0969da12;
 --canvas: #e9edf1; --surface-nav: #f5f9fdb8; --surface-panel: #f9fbfedb;
 --surface-data: #fcfdfff5; --surface-overlay: #fafcfffa;
 --border-glass: #ffffffc9; --separator: #28374b24;
 --radius-shell: 28px; --radius-panel: 22px; --radius-control: 12px; --radius-small: 8px; --radius-pill: 999px;
 --shadow-panel: 0 12px 32px #1d2a3c0c, 0 2px 8px #1d2a3c06, inset 0 1px 0 #ffffffc9;
 --motion-fast: 140ms; --motion-normal: 220ms; --ease-standard: cubic-bezier(.2,0,0,1);
 --success: #246446; --warning: #89520b; --danger: #b3293b; --info: #185a9d;
 --navy: #202833; --blue: var(--accent); --ink: var(--text-primary); --muted: var(--text-muted); --line: var(--separator); --bg: var(--canvas); --radius: 12px;
 --workspace-sidebar: 232px; --workspace-subnav: 188px;
 margin: 0; min-height: 100dvh; color: var(--text-primary);
 background: linear-gradient(#e8eef2d9,#e8eef2ce), url("/vision-environment.webp") center / cover no-repeat, var(--canvas);
 background-attachment: fixed;
 font: 14px/1.5 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
 font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased;
}
.crm-ui *, .crm-ui *::before, .crm-ui *::after { box-sizing: border-box; }
.crm-ui :is(button,input,select,textarea) { font-family: inherit; font-variant-numeric: tabular-nums; }
.crm-ui :is(h1,h2,h3) { color: var(--text-primary); font-weight: 600; letter-spacing: -.025em; }
.crm-ui h1 { font-size: 30px; line-height: 1.2; }
.crm-ui h2 { font-size: 19px; line-height: 1.35; }
.crm-ui h3 { font-size: 16px; line-height: 1.4; }
.crm-ui :is(small,.muted,.co-help,.fn-hint,.wh-muted,.ct-muted) { color: var(--text-muted); }
.crm-ui a { color: var(--accent); }
.crm-ui :is(button,a,summary,input,textarea,select):focus-visible { outline: 3px solid #0969da; outline-offset: 3px; }
.crm-ui :is(input,select,textarea):focus { border-color: var(--accent); box-shadow: 0 0 0 3px #0969da14; }
.crm-ui :is(input,select,textarea) { color: var(--text-primary); border: 1px solid #8291a4; background: #ffffffed; border-radius: var(--radius-control); min-height: 40px; padding: 9px 12px; max-width: 100%; font-size: 14px; }
.crm-ui input::placeholder,.crm-ui textarea::placeholder { color: #5b687a; opacity: 1; }
.crm-ui textarea { line-height: 1.65; resize: vertical; }
.crm-ui :is(input[type=checkbox],input[type=radio]) { min-height: 18px; width: 18px; height: 18px; padding: 0; flex-shrink: 0; accent-color: var(--accent); }
.crm-ui :is(input,select,textarea):disabled { background: #edf0f4; color: #647184; cursor: not-allowed; }
.crm-ui :is(input,textarea)[readonly] { background: #f2f5f8; border-color: #d1d9e3; }
.crm-ui :is(.field,.co-field,.ord-field,.fn-field,.wh-field,.ct-field,.task-field) { gap: 7px; color: var(--text-secondary); font-size: 13px; min-width: 0; }
.crm-ui :is(.field>span,.co-field>span,.ord-field>span,.task-field>span) { font-size: 13px; font-weight: 500; }
.crm-ui .field em { color: var(--danger); font-style: normal; }
.crm-ui :is(.btn,.icon-btn) { min-height: 40px; border: 1px solid #b6c1cf; border-radius: var(--radius-control); background: #ffffffdb; color: #344153; padding: 9px 14px; font-size: 13px; font-weight: 500; box-shadow: 0 1px 2px #1d2a3c04; transition: background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast); }
.crm-ui .btn:hover { background: #fff; border-color: #8295ad; box-shadow: 0 2px 5px #1d2a3c09; }
.crm-ui .btn:active { background: #e9eef5; box-shadow: inset 0 1px 3px #1d2a3c12; }
.crm-ui :is(.btn.primary,.btn.success,.btn.green,.btn.blue,.ord-card-footer .btn.primary,.fn-drawer .btn.success) { color: #fff; background: var(--accent); border-color: var(--accent); box-shadow: 0 2px 5px #0969da18; }
.crm-ui :is(.btn.primary,.btn.success,.btn.green,.btn.blue):hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.crm-ui :is(.btn.danger,.btn.danger-fill) { background: #fff0f2; color: var(--danger); border-color: #dfacb4; }
.crm-ui button:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; }
.crm-ui .icon-btn { display: inline-grid; place-items: center; padding: 8px; min-width: 40px; }
.crm-ui .sidebar { position: fixed; inset: 20px auto 20px 20px; width: var(--workspace-sidebar); height: auto; padding: 0 12px; border: 1px solid var(--border-glass); border-radius: var(--radius-shell); background: var(--surface-nav); backdrop-filter: blur(24px) saturate(1.12); box-shadow: var(--shadow-panel); }
.crm-ui .sidebar { contain: layout; }
.crm-ui .sidebar nav { min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #bbc7d6 transparent; }
.crm-ui .sidebar .nav-flyout { position: fixed; inset: 12px auto auto calc(100% + 8px); max-height: calc(100dvh - 64px); overflow-y: auto; }
.crm-ui .workspace-brand { padding: 24px 12px 20px; color: var(--text-primary); }
.crm-ui .workspace-brand small { font-size: 12px; color: var(--text-secondary); }
.crm-ui .workspace-mark { background: var(--accent); border-radius: 12px; box-shadow: inset 0 1px 0 #ffffff42; }
.crm-ui .sidebar .nav-item { color: #344357; min-height: 40px; padding: 0 12px; margin: 2px 0; border-radius: 12px; font-size: 13px; }
.crm-ui .sidebar .nav-item svg { color: #5b6b80; }
.crm-ui .sidebar .nav-item:hover { color: var(--text-primary); background: #ffffff96; }
.crm-ui .sidebar .nav-item.selected { background: #ffffffde; color: #075cbe; box-shadow: 0 2px 6px #26364d08,inset 0 0 0 1px #ffffff; }
.crm-ui .sidebar .nav-item.selected svg { color: var(--accent); }
.crm-ui .nav-divider::after { border-color: var(--separator); margin: 10px 12px; }
.crm-ui .sidebar .profile-button { color: var(--text-primary); border-color: var(--separator); min-height: 72px; margin-top: 8px; }
.crm-ui .workspace-identity small { color: var(--text-secondary); font-size: 12px; }
.crm-ui .main { margin-left: 252px; min-width: 0; padding: 20px 24px 0 20px; }
.crm-ui .main.with-settings,.crm-ui .main.with-profile { margin-left: 456px; }
.crm-ui :is(.settings-nav,.profile-nav) { left: 268px; top: 20px; bottom: 20px; width: 188px; height: auto; border: 1px solid var(--border-glass); border-radius: 22px; padding: 12px 8px; background: var(--surface-panel); box-shadow: var(--shadow-panel); }
.crm-ui :is(.settings-nav,.profile-nav) a { color: var(--text-secondary); border-radius: 10px; }
.crm-ui :is(.settings-nav,.profile-nav) a.on { color: var(--accent); background: #ffffffef; box-shadow: 0 1px 4px #1d2a3c07; }
.crm-ui .topbar { height: 80px; min-height: 80px; padding: 0 24px; border: 1px solid var(--border-glass); border-radius: var(--radius-panel); background: var(--surface-nav); backdrop-filter: blur(20px) saturate(1.08); box-shadow: var(--shadow-panel); gap: 16px; }
.crm-ui .top-title h1 { font-size: 28px; font-weight: 600; letter-spacing: -.7px; }
.crm-ui .top-actions { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.crm-ui .topbar { height: auto; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; }
.crm-ui .top-title { min-width: 0; flex-wrap: wrap; }
.crm-ui .topbar :is(.global-search,.ord-search,.search) { border: 1px solid #bdc8d5; background: #ffffffb3; border-radius: 999px; min-height: 40px; }
.crm-ui .main > main { padding: 24px 0; min-height: calc(100dvh - 124px); }
.crm-ui :is(.panel,.co-chart,.profile-card,.ct-summary-card) { background: var(--surface-data); border: 1px solid var(--border-glass); border-radius: var(--radius-panel); box-shadow: var(--shadow-panel); }
.crm-ui .panel.pad { padding: 24px; }
.crm-ui :is(.toolbar,.co-toolbar,.ord-toolbar,.fn-toolbar,.wh-toolbar,.ct-toolbar,.task-toolbar) { gap: 10px; }
.crm-ui :is(.module-tabs,.tabs,.ct-tabs,.task-tabs,.wh-subnav,.co-card-tabs,.ord-card-tabs,.ct-card-tabs,.fn-form-tabs,.wh-form-tabs,.task-event-tabs) { border-color: var(--separator); gap: 5px; }
.crm-ui :is(.module-tabs a,.tabs button,.ct-tabs button,.task-tabs button,.wh-subnav a,.co-card-tabs button,.ord-card-tabs button,.ct-card-tabs button,.fn-form-tabs button,.wh-form-tabs button,.task-event-tabs button) { color: var(--text-secondary); min-height: 40px; padding: 10px 14px; font-size: 13px; border-radius: 10px 10px 0 0; }
.crm-ui :is(.module-tabs a.on,.tabs button.on,.ct-tabs button.on,.task-tabs button.selected,.co-card-tabs button.on,.ord-card-tabs button.on,.ct-card-tabs button.on,.fn-form-tabs button.on,.wh-form-tabs button.on) { color: var(--accent); border-color: var(--accent); background: #ffffffc9; }
.crm-ui :is(.table-wrap,.co-table-scroll,.ord-table-scroll,.fn-table-wrap,.wh-table-wrap,.ct-table-scroll,.call-table-scroll,.invoice-table-wrap,.inv-table-wrap) { border: 1px solid #d4dce6; border-radius: 16px; background: var(--surface-data); overflow-x: auto; box-shadow: 0 2px 6px #26364d04; }
.crm-ui table { border-collapse: separate; border-spacing: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.crm-ui thead th { background: #f1f4f8; color: #526174; font-size: 12px; font-weight: 500; padding: 12px 14px; border-bottom: 1px solid #d4dce6; }
.crm-ui tbody td { padding: 12px 14px; border-bottom: 1px solid #e4e9f0; line-height: 1.5; vertical-align: middle; }
.crm-ui tbody tr:last-child td { border-bottom: 0; }
.crm-ui tbody tr:hover td { background: #eaf2fb66; }
.crm-ui tbody tr.selected td { background: #eaf2ff; }
.crm-ui td :is(small,.muted) { font-size: 12px; }
.crm-ui :is(.badge,.pill) { border-radius: 7px; font-size: 12px; font-weight: 500; }
.crm-ui :is(.form-grid,.wh-grid,.ct-grid) { gap: 18px 20px; }
.crm-ui :is(.form-section-heading,.co-section>h3,.ct-section>h3) { border-bottom: 1px solid var(--separator); padding-bottom: 10px; margin-bottom: 16px; }
.crm-ui :is(.form-footer,.co-form-footer,.task-footer,.ord-card-footer) { border-top: 1px solid var(--separator); background: var(--surface-overlay); padding: 16px 24px; gap: 10px; }
.crm-ui :is(.form-error,.ord-error,.error,#error) { color: var(--danger); font-size: 13px; line-height: 1.6; }
.crm-ui :is(.form-error,.ord-error):not(:empty) { border: 1px solid #e9bdc4; background: #fff2f4; border-radius: 10px; padding: 12px 16px; margin: 12px 16px; }
.crm-ui :is(.backdrop,.co-backdrop,.ord-backdrop,.task-backdrop,.co-nested-backdrop) { background: #26364d35; }
.crm-ui :is(.modal,.drawer,.co-drawer,.ord-drawer,.task-drawer,.ct-drawer,.co-nested,.partner-drawer) { background: var(--surface-overlay); color: var(--text-primary); border: 1px solid var(--border-glass); border-radius: 24px; box-shadow: 0 28px 80px #18283e2e,0 4px 14px #18283e10,inset 0 1px 0 white; }
.crm-ui :is(.drawer,.co-drawer,.ord-drawer,.task-drawer,.ct-drawer,.partner-drawer) { border-radius: 24px 0 0 24px; }
.crm-ui :is(.modal,.co-nested,.co-drawer,.task-drawer,.ct-drawer,.wh-drawer)>header { background: var(--surface-overlay); border-bottom: 1px solid var(--separator); padding: 20px 24px; }
.crm-ui [role=dialog] h2 { font-size: 20px; }
.crm-ui [role=dialog] :is(header>button,[data-dismiss],[data-close]) { min-width: 40px; min-height: 40px; border-radius: 999px; color: var(--text-secondary); }
.crm-ui :is(.co-menu,.ord-menu,.ct-menu,.fn-popover,.wh-popover,.task-add-menu,.task-people-popup,.nav-flyout) { background: var(--surface-overlay); color: var(--text-primary); border: 1px solid #d7dfe9; border-radius: 14px; box-shadow: 0 14px 38px #26364d24; padding: 6px; }
.crm-ui .nav-flyout a { color: var(--text-secondary); }
.crm-ui .nav-flyout a:hover { background: var(--accent-soft); color: var(--accent); }
.crm-ui :is(.co-menu,.ord-menu,.ct-menu) button { min-height: 38px; border-radius: 8px; }
.crm-ui #toast { border: 1px solid #d5deea; border-radius: 14px; background: #fdfefe; color: #28394b; box-shadow: 0 12px 40px #26364d22; }
.crm-ui #toast.error { color: var(--danger); border-color: #e9bdc4; background: #fff3f4; }
.crm-ui :is(.empty,.co-empty,.ord-empty,.ct-empty,.fn-empty,.wh-empty,.task-empty) { color: var(--text-secondary); background: #fbfcfeab; border-radius: 18px; font-size: 14px; }
.crm-ui .login-panel { background: var(--surface-data); border: 1px solid var(--border-glass); border-radius: 28px; box-shadow: var(--shadow-panel); padding: 36px; }
.crm-ui .login-panel button { background: var(--accent); border-radius: 12px; font-size: 14px; }
.crm-ui .login-panel :is(label,p,.help) { color: var(--text-secondary); }
.crm-ui .login-panel .help { font-size: 12px; }
.crm-ui .login-mark { background: var(--accent); border-radius: 14px; }
.crm-ui .login-intro h1 { font-weight: 500; }
.crm-ui :is(.co-nested,.modal) { animation: crm-dialog-enter 200ms var(--ease-standard); }
@keyframes crm-dialog-enter { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }
@media(max-width:1200px) {
 .crm-ui { --workspace-sidebar: 224px; }
 .crm-ui .sidebar { left: 12px; top: 12px; bottom: 12px; }
 .crm-ui .main { margin-left: 236px; padding: 12px 16px 0; }
 .crm-ui .main.with-settings,.crm-ui .main.with-profile { margin-left: 436px; }
 .crm-ui :is(.settings-nav,.profile-nav) { left: 248px; top: 12px; bottom: 12px; }
 .crm-ui .topbar { padding: 0 18px; }
}
@media(max-width:760px) {
 .crm-ui .main,.crm-ui .main.with-settings,.crm-ui .main.with-profile { margin-left: 0; padding: 12px 10px 0; }
 .crm-ui .sidebar { inset: 10px auto 10px 10px; width: min(300px,calc(100vw - 32px)); height: auto; border-radius: 24px; }
 .crm-ui .sidebar .nav-item { min-height: 44px; font-size: 14px; }
 .crm-ui .workspace-nav-close { color: #344153; background: #fff; border-radius: 999px; }
 .crm-ui .workspace-menu { color: #344153; }
 .crm-ui .topbar { height: auto; min-height: 68px; padding: 14px; border-radius: 20px; }
 .crm-ui .top-title h1 { font-size: 25px; }
 .crm-ui .main>main { padding: 18px 0; }
 .crm-ui :is(.settings-nav,.profile-nav) { position: static; width: auto; margin: 12px 10px 0; border-radius: 16px; padding: 8px; }
 .crm-ui :is(.btn,.icon-btn) { min-height: 44px; }
 .crm-ui :is(input,select,textarea) { font-size: 16px; min-height: 44px; }
 .crm-ui :is(input[type=checkbox],input[type=radio]) { min-height: 20px; height: 20px; width: 20px; }
 .crm-ui :is(.drawer,.co-drawer,.ord-drawer,.task-drawer,.ct-drawer,.partner-drawer) { border-radius: 20px 20px 0 0; }
 .crm-ui :is(.form-footer,.co-form-footer,.task-footer,.ord-card-footer) { padding: 14px 16px max(14px,env(safe-area-inset-bottom)); }
 .crm-ui :is(.form-grid,.wh-grid,.ct-grid) { gap: 16px; }
 .crm-ui .panel.pad { padding: 20px 16px; }
 .crm-ui .login-panel { padding: 28px 22px; }
}
@supports not (backdrop-filter:blur(1px)) {
 .crm-ui { --surface-nav: #f4f7fa; --surface-panel: #f9fbfd; --surface-data: #fff; --surface-overlay: #fbfcfe; }
}
@media(prefers-reduced-transparency:reduce) {
 .crm-ui { --surface-nav: #f4f7fa; --surface-panel: #f9fbfd; --surface-data: #fff; --surface-overlay: #fbfcfe; background: #e9edf1; }
 .crm-ui .sidebar,.crm-ui .topbar { backdrop-filter: none; }
}
@media(prefers-reduced-motion:reduce) {
 .crm-ui *, .crm-ui *::before, .crm-ui *::after { animation: none; transition: none; scroll-behavior: auto; }
}
@media(forced-colors:active) {
 .crm-ui { background: Canvas; color: CanvasText; }
 .crm-ui :is(.sidebar,.topbar,.panel,[role=dialog]) { border: 1px solid CanvasText; box-shadow: none; backdrop-filter: none; }
 .crm-ui :is(.nav-item.selected,[aria-pressed=true],.btn.primary) { outline: 2px solid Highlight; }
}
}
