/* Local CRM design system.  This is intentionally committed CSS: no CDN/build step is required. */
:root{--ink:#33475b;--accent:#ff7a59;--link:#0091ae;--bg:#f5f8fa;--muted:#7c98b6;--border:#dfe7ef;--white:#fff;--danger:#d64545;--green:#198754;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.5px;margin-bottom:5px}h2{font-size:16px;margin-bottom:16px}small,.muted{color:var(--muted)}.tiny{font-size:12px}.sidebar{background:#33475b;color:#d8e2ed;position:fixed;inset:0 auto 0 0;width:220px;display:flex;flex-direction:column;padding:22px 12px;z-index:2}.brand{display:flex;align-items:center;gap:9px;color:#fff;font-size:21px;font-weight:700;margin:0 10px 30px;text-decoration:none}.brand-mark{display:inline-grid;place-items:center;width:27px;height:27px;background:var(--accent);color:white;border-radius:7px;font-size:15px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{color:#cfdae5;padding:11px 12px;border-radius:6px;font-weight:600;text-decoration:none}.sidebar nav a.active,.sidebar nav a:hover{background:#435970;color:white;text-decoration:none}.sidebar-bottom{margin-top:auto;padding:12px 10px;border-top:1px solid #50657a;display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;font-size:12px}.user-dot{display:grid;place-items:center;background:#7890a7;color:#fff;border-radius:50%;width:23px;height:23px}.sidebar-bottom form{grid-column:1/-1}.logout{border:0;background:transparent;color:#d8e2ed;padding:5px 0}.main{margin-left:220px;min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:1}.portal-label{font-size:12px;color:var(--muted);font-weight:600}.content{max-width:1420px;margin:auto;padding:34px}.search-wrap{position:relative;width:min(420px,65vw)}#global-search{width:100%;border:1px solid var(--border);background:#f7fafc;border-radius:6px;padding:9px 12px}.search-results{display:none;position:absolute;top:42px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #33475b22;width:100%;overflow:hidden}.search-results:not(:empty){display:block}.search-results a,.search-results span{display:block;padding:10px 12px}.search-results a:hover{background:#f5f8fa;text-decoration:none}.search-results small{display:block}.page-title{margin-bottom:22px}.page-title.split{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:11px;color:var(--link);font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}.count-badge,.badge{display:inline-block;border-radius:999px;font-size:11px;font-weight:700;padding:4px 9px;vertical-align:middle}.count-badge{background:#e7f3f6;color:var(--link);margin-left:5px}.badge{background:#e8eef4;color:#53697e;text-transform:none}.badge.active{background:#d7f2f1;color:#087f83}.badge.replied{background:#dcf5e7;color:#147443}.badge.bounced{background:#fbe1e1;color:#ba3030}.badge.finished,.badge.unenrolled{background:#e9edf1;color:#627387}.badge.new,.badge.NEW{background:#dcecff;color:#2563a8}.badge.in_sequence{background:#d7f2f1;color:#087f83}.badge.REPLIED{background:#dcf5e7;color:#147443}.badge.BOUNCED{background:#fbe1e1;color:#ba3030}.card{background:var(--white);border:1px solid var(--border);border-radius:9px;box-shadow:0 1px 2px #33475b0c;padding:20px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.kpi{padding:17px}.kpi span{color:var(--muted);font-size:12px;display:block}.kpi strong{font-size:27px;margin-top:9px;display:block}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide-left{grid-template-columns:1.4fr .8fr}.funnel-row{display:grid;grid-template-columns:1fr 2fr 30px;gap:12px;align-items:center;margin:14px 0}.funnel{height:10px;background:#e7edf3;border-radius:99px;overflow:hidden}.funnel i{display:block;height:100%;background:var(--accent);border-radius:99px}.activity-list>div,.task-mini{display:flex;gap:10px;border-bottom:1px solid #edf1f5;padding:10px 0}.activity-list p{margin:0}.activity-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e7f3f6;color:var(--link);font-size:11px;font-weight:700;flex:none}.btn{border:1px solid transparent;border-radius:6px;padding:9px 13px;font-weight:700;display:inline-block}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#e86548;text-decoration:none}.btn.secondary{background:#fff;color:var(--ink);border-color:#cdd9e4}.btn.danger{background:#fff;color:var(--danger);border-color:#f0c2c2;width:100%;margin-top:7px}.full{width:100%}.filters{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.4fr auto;gap:10px;margin-bottom:16px;padding:12px}.filters input,.filters select,input,select,textarea{border:1px solid #cbd8e5;border-radius:5px;padding:8px;background:white;color:var(--ink);width:100%}textarea{resize:vertical}.table-card{padding:0;overflow:auto}.table-card>h2,.table-card>form{margin:20px 20px 0}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f9fbfc}th,td{padding:13px 16px;border-bottom:1px solid #e7edf2}td{vertical-align:middle}.click-row{cursor:pointer}.click-row:hover{background:#f8fbfd}.empty{text-align:center;color:var(--muted);padding:30px}.modal{border:0;border-radius:10px;padding:24px;width:min(500px,90vw);box-shadow:0 20px 70px #18304855}.modal::backdrop{background:#1c2d3c88}.modal-close{border:0;background:none;font-size:27px;position:absolute;right:12px;top:7px;color:var(--muted)}.modal form,label{display:block}label{font-weight:600;margin:10px 0}label input,label textarea,label select{display:block;margin-top:5px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.success{padding:12px;background:#dcf5e7;color:#147443;border-radius:5px}.field-error,.alert{background:#fce6e6;color:#a72b2b;border-radius:5px;padding:9px;display:block}.record-layout{display:grid;grid-template-columns:320px minmax(420px,1fr) 384px;gap:20px;align-items:start}.record-left,.record-right{display:grid;gap:16px}.identity{text-align:center}.avatar{width:72px;height:72px;border-radius:50%;background:#d9eef4;color:#177b92;display:grid;place-items:center;font-size:23px;font-weight:700;margin:0 auto 12px}.identity h1{font-size:22px}.identity p{color:var(--muted);margin-bottom:8px}.action-row{display:flex;justify-content:center;gap:11px;margin-top:18px;font-size:12px}.properties{padding:0}.properties h2{padding:17px 17px 0}.property{padding:10px 17px;border-top:1px solid #edf1f5}.property>label{font-size:11px;color:var(--muted);margin:0 0 4px}.property form{display:flex;gap:4px}.property form input{padding:5px;font-size:13px}.property form button{border:0;background:#e7f3f6;color:var(--link);border-radius:4px}.readonly span{font-size:13px}.tabs{border-bottom:1px solid var(--border);margin-bottom:16px;display:flex;gap:24px}.tabs a{color:var(--muted);padding:10px 2px;text-decoration:none;font-weight:700}.tabs a.active{color:var(--ink);border-bottom:2px solid var(--accent)}.chips{display:flex;gap:7px;margin-bottom:16px}.chips button{border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:18px;padding:5px 10px;font-size:12px}.timeline h3{font-size:13px;color:var(--muted);font-weight:500;margin:20px 0 10px}.timeline-card{display:flex;gap:11px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:13px;margin:9px 0}.timeline-card small{display:block;margin-top:3px}.timeline-card p{white-space:pre-wrap;margin:8px 0 0}.composer{margin-top:18px}.composer textarea{margin-top:5px}.record-right .card h2{margin-bottom:10px}.record-right .card p{margin-bottom:8px}.record-right form{margin-top:10px}.link-button{border:0;background:transparent;color:var(--link);font-weight:700;padding:5px 0}.task-mini small{display:block}.overdue td{background:#fff4f4}.check{border:0;background:none;font-size:20px;color:var(--link)}.closed{margin-top:20px}.notice{padding:12px 15px;background:#fff3e8;border:1px solid #ffd7c3;color:#8e472b;border-radius:7px;margin-bottom:18px}.step-card{margin-bottom:15px}.step-no{background:var(--ink);color:#fff;border-radius:50%;display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px}.preview{position:sticky;top:84px}.preview pre{white-space:pre-wrap;font:13px/1.5 inherit;color:var(--ink)}.inline-filter{display:flex;gap:8px;align-items:center}.inline-filter select{width:auto}.back{font-size:12px;display:block;margin-bottom:8px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f5f8fa,#e6eef5)}.login-card{width:min(390px,calc(100vw - 32px));background:#fff;padding:38px;border:1px solid var(--border);border-radius:11px;box-shadow:0 12px 32px #33475b18}.login-brand{display:flex;align-items:center;gap:9px;font-size:20px;margin-bottom:28px}.login-card h1{font-size:24px}.login-card>p{color:var(--muted)}.login-card form{margin-top:20px}.login-card .btn{margin-top:10px}.sr-only{display:none}@media(max-width:1200px){.record-layout{grid-template-columns:280px 1fr}.record-right{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.sidebar{position:static;width:auto;height:auto;flex-direction:row;align-items:center;padding:10px}.sidebar .brand{margin:0}.sidebar nav{display:flex;margin-left:auto}.sidebar nav a{font-size:0;padding:8px}.sidebar nav a:first-letter{font-size:16px}.sidebar-bottom{display:none}.main{margin:0}.topbar{padding:0 16px}.content{padding:20px}.record-layout,.grid-two{grid-template-columns:1fr}.record-right{grid-column:auto;grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.page-title.split{align-items:flex-start;gap:12px}.table-card{margin:0 -5px}.portal-label{display:none}}
