:root{color-scheme:light;--surface: #f7f7f6;--surface-raised: #ffffff;--surface-sunken: #ededeb;--text-primary: #171717;--text-secondary: #525252;--text-muted: #737373;--border: #d4d4d0;--border-subtle: #e7e5e0;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-muted: #dbeafe;--success: #15803d;--success-muted: #dcfce7;--warning: #a16207;--warning-muted: #fef3c7;--danger: #b91c1c;--danger-muted: #fee2e2;--shadow: 0 1px 2px rgb(23 23 23 / 8%)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--surface: #171717;--surface-raised: #262626;--surface-sunken: #111111;--text-primary: #fafafa;--text-secondary: #d4d4d4;--text-muted: #a3a3a3;--border: #404040;--border-subtle: #303030;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-muted: #172554;--success: #86efac;--success-muted: #14532d;--warning: #fbbf24;--warning-muted: #713f12;--danger: #fca5a5;--danger-muted: #7f1d1d;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--surface: #171717;--surface-raised: #262626;--surface-sunken: #111111;--text-primary: #fafafa;--text-secondary: #d4d4d4;--text-muted: #a3a3a3;--border: #404040;--border-subtle: #303030;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-muted: #172554;--success: #86efac;--success-muted: #14532d;--warning: #fbbf24;--warning-muted: #713f12;--danger: #fca5a5;--danger-muted: #7f1d1d;--shadow: none}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text-primary);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card,.panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.auth-card{width:min(100%,400px);padding:24px}.auth-card h1,.topbar h1,.panel h2{margin:0;line-height:1.15;letter-spacing:0}.auth-card h1,.topbar h1{font-size:22px}.auth-card p,.topbar p,.panel-header p,.muted,.meta-item span,.stat span,small{color:var(--text-muted)}.stack{display:grid;gap:16px}.field{display:grid;gap:6px;color:var(--text-secondary);font-size:13px}.field input,.search-field input,.select-input,.edit-grid input,.edit-grid select,.add-contact-form input,.org-edit-form input,.org-edit-form textarea{width:100%;min-width:0;border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-primary);border-radius:8px;padding:10px 12px}.org-edit-form textarea{min-height:76px;resize:vertical}.app-shell{min-height:100vh}.topbar{min-height:64px;border-bottom:1px solid var(--border);background:var(--surface-raised);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100vw - 1120px)/2))}.topbar p{margin:4px 0 0;font-size:13px}.toolbar,.actions-row,.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-grid{width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.panel{min-width:0;padding:18px}.panel.wide{grid-column:1 / -1}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header h2{font-size:18px}.panel-header p{margin:4px 0 0;font-size:13px}.button,.icon-button,.filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.button{padding:0 14px;border:1px solid transparent;font-weight:600;color:var(--text-primary)}.button.large{width:100%;min-height:44px}.button.small{min-height:32px;padding:0 10px;font-size:13px}.button svg,.icon-button svg,.search-field svg,.empty-state svg,.alert svg{width:18px;height:18px;flex:0 0 auto}.button.primary{background:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{background:var(--surface-sunken);border-color:var(--border)}.button.secondary:hover:not(:disabled),.button.ghost:hover:not(:disabled),.icon-button:hover:not(:disabled),.filter-chip:hover{background:var(--surface-sunken)}.button.ghost{background:transparent;color:var(--text-secondary)}.icon-button{width:38px;background:transparent;color:var(--text-secondary)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.meta-grid,.stats-grid{display:grid;gap:12px;margin:14px 0}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.meta-item,.stat{min-width:0;background:var(--surface-sunken);border-radius:8px;padding:12px}.meta-item{display:grid;gap:4px}.meta-item strong,.stat strong{min-width:0;overflow-wrap:anywhere}.stat{text-align:center}.metric-button{display:grid;gap:2px;width:100%;border:1px solid transparent;color:var(--text-primary);cursor:pointer}.metric-button:hover,.metric-button.active{border-color:var(--accent);background:var(--accent-muted)}.stat strong{display:block;font-size:24px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;text-transform:capitalize}.badge.success{background:var(--success-muted);color:var(--success)}.badge.warning{background:var(--warning-muted);color:var(--warning)}.badge.danger{background:var(--danger-muted);color:var(--danger)}.badge.neutral{background:var(--surface-sunken);color:var(--text-secondary)}.progress-bar{height:10px;background:var(--surface-sunken);border-radius:999px;overflow:hidden;margin-bottom:16px}.progress-bar>div{height:100%;background:var(--accent);transition:width .18s ease}.token-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px}.alert{display:flex;align-items:flex-start;gap:8px;border-radius:8px;padding:10px 12px;margin-top:12px;font-size:13px}.alert.danger{background:var(--danger-muted);color:var(--danger)}.alert.success{background:var(--success-muted);color:var(--success)}.empty-state{text-align:center;display:grid;gap:8px;justify-items:center;padding:12px 0}.empty-state svg{width:36px;height:36px;color:var(--accent)}.log-list{display:grid;gap:8px}.log-list.compact{max-height:276px;overflow:auto}.log-row,.detail-log-row{border:1px solid var(--border-subtle);border-radius:8px;padding:10px;background:var(--surface-raised)}.log-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.log-row span,.detail-log-row strong{overflow-wrap:anywhere}.detail-log-row>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:11px 10px;font-size:13px}th{color:var(--text-muted);font-weight:700}tbody tr{cursor:pointer}tbody tr:hover td{background:var(--surface-sunken)}.filter-row{margin-bottom:12px}.filter-chip{border:1px solid var(--border);background:transparent;color:var(--text-secondary);padding:0 10px;min-height:32px;text-transform:capitalize}.filter-chip.active{background:var(--accent-muted);color:var(--accent);border-color:transparent}.search-field{display:flex;align-items:center;gap:8px;color:var(--text-muted);width:min(320px,100%)}.search-field input{padding-left:10px}.tabbar{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tab-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;font-weight:700;text-decoration:none}.tab-button svg{width:18px;height:18px}.tab-button:hover,.tab-button.active{background:var(--accent-muted);border-color:transparent;color:var(--accent)}.small-note{margin:10px 0 0;font-size:12px}.crm-stats{margin-bottom:8px}.crm-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border-subtle);padding-top:14px;margin:16px 0}.crm-controls .search-field{flex:1 1 320px;width:auto}.select-input{width:auto;min-height:38px;padding-right:32px}.active-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;color:var(--text-muted);font-size:13px}.crm-grid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:14px}.subpanel{min-width:0;min-height:420px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-raised);overflow:hidden}.subpanel-header{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-bottom:1px solid var(--border-subtle)}.subpanel-header.split{justify-content:space-between}.subpanel-title{min-width:0;display:flex;align-items:center;gap:8px}.subpanel-title strong{min-width:0;overflow-wrap:anywhere}.subpanel-header svg{width:18px;height:18px;color:var(--text-muted)}.org-list,.contact-list{display:grid;max-height:640px;overflow:auto}.org-row{width:100%;display:grid;gap:3px;text-align:left;padding:11px 12px;border-top:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);cursor:pointer}.org-row:first-child{border-top:0}.org-row:hover,.org-row.active{background:var(--surface-sunken)}.org-row span,.org-row small,.contact-main strong,.contact-main span,.contact-main small{min-width:0;overflow-wrap:anywhere}.contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border-top:1px solid var(--border-subtle)}.contact-row:first-child{border-top:0}.contact-main{min-width:0;display:grid;gap:3px}.contact-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkbox-row{display:inline-flex;align-items:center;gap:6px;min-height:38px;color:var(--text-secondary);font-size:13px}.checkbox-row input{width:16px;height:16px;margin:0}.org-profile{border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken);padding:12px}.org-profile-view{display:grid;gap:12px}.org-profile-main{min-width:0}.org-profile-main h3{margin:0;font-size:18px;line-height:1.2}.org-profile-main p{margin:4px 0 0;color:var(--text-secondary);overflow-wrap:anywhere}.org-profile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.org-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin:0}.org-facts div{min-width:0}.org-facts dt,.org-note span{color:var(--text-muted);font-size:12px}.org-facts dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}.org-note{display:grid;gap:3px}.org-note p{margin:0;overflow-wrap:anywhere}.org-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.org-edit-form input:first-child,.org-edit-form textarea,.org-edit-form .actions-row{grid-column:1 / -1}.add-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken)}.add-contact-form>strong{grid-column:1 / -1}.add-contact-form .button{justify-self:start}.relationship-action{grid-column:1 / -1;justify-self:start;min-height:32px;padding:0 10px;font-size:13px}.changes{display:grid;gap:4px;margin-top:10px;padding-left:12px;border-left:2px solid var(--border);font-size:13px}.changes div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.changes span{color:var(--text-muted)}.changes del{color:var(--danger)}.changes ins{color:var(--success);text-decoration:none}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite}.large-spinner{width:32px;height:32px}.danger-text{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:820px){.topbar{align-items:flex-start;flex-direction:column}.main-grid{grid-template-columns:1fr;width:min(100% - 24px,1120px);padding-top:12px}.meta-grid,.stats-grid,.token-form,.log-row,.crm-grid,.org-facts,.org-edit-form,.add-contact-form,.edit-grid{grid-template-columns:1fr}.subpanel{min-height:0}.org-list,.contact-list{max-height:420px}.contact-row{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}}
