/* System fonts keep the private dashboard self-hosted and fast. */
:root{font-family:'DM Sans',Inter,system-ui,sans-serif;color:#172420;background:#f7f8f5;font-synthesis:none;font-size:14px}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:Manrope,Inter,system-ui,sans-serif}h1{letter-spacing:-.055em}h2{letter-spacing:-.045em}input,textarea,select{outline:0}input:focus,textarea:focus,select:focus{border-color:#2b8464!important;box-shadow:0 0 0 3px #b8e6d025}button:focus-visible,a:focus-visible{outline:3px solid #4ca989;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:#73817a;margin-bottom:12px}.eyebrow.accent{color:#228363}.muted{color:#8b978f}.dot{color:#2e9b6e}
.primary-btn,.secondary-btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border-radius:11px;padding:12px 17px;font-weight:750;transition:transform .15s,background .15s}.primary-btn{background:#1f7658;color:white;box-shadow:0 3px 8px #063c2620}.primary-btn:hover{background:#14593f;transform:translateY(-1px)}.secondary-btn{border:1px solid #dde5df;background:#fff;color:#2b4137}.secondary-btn:hover{border-color:#8eba9f;background:#f7faf8}.wide{width:100%}
.login-scene{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);min-height:100vh}.login-brand{background:#143e31;color:#f7f9f1;padding:clamp(32px,6vw,110px);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.login-brand:after{content:'';position:absolute;width:580px;height:580px;border:1px solid #ffffff19;border-radius:50%;bottom:-380px;left:-170px;box-shadow:0 0 0 100px #ffffff06,0 0 0 200px #ffffff04;pointer-events:none}.mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:#c3f2cc;color:#184936;font:800 36px Manrope;border-radius:19px;letter-spacing:-.1em;margin-bottom:44px}.mark span{font-size:20px;align-self:flex-start;position:relative;top:17px;left:3px;color:#2c7b51}.mark.small{width:42px;height:42px;margin:0;font-size:22px;border-radius:12px;flex-shrink:0}.mark.small span{font-size:12px;top:9px;left:1px}.login-brand .eyebrow{color:#99bea9}.login-brand h1{font-size:clamp(70px,11vw,166px);line-height:1;letter-spacing:-.09em;margin:0 0 28px}.login-lead{font:500 clamp(20px,2.2vw,30px)/1.45 Manrope;max-width:590px;letter-spacing:-.045em;color:#daecdf}.login-decoration{margin-top:12vh}.signal{height:45px;display:flex;align-items:flex-end;gap:5px}.signal i{display:block;width:7px;height:17px;background:#85cda5;border-radius:6px}.signal i:nth-child(2n){height:35px}.signal i:nth-child(3n){height:24px}.signal i:nth-child(5n){height:42px}.login-decoration p{font:700 10px Manrope;letter-spacing:.15em;color:#a9d1b5;margin-top:20px}.login-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 28px}.login-card{width:min(100%,440px)}.login-card-icon{font-size:34px;color:#238d61;margin-bottom:35px}.login-card h2{font-size:clamp(34px,3vw,49px);line-height:1.19;margin:0 0 15px}.login-card>p:not(.eyebrow){color:#69756d;max-width:320px;line-height:1.7;margin-bottom:35px}.login-card form label{display:block;font-size:12px;font-weight:750;margin-bottom:9px}.login-card input{width:100%;border:1px solid #d8e2db;background:#fff;border-radius:10px;padding:15px;margin-bottom:14px}.login-card .primary-btn{padding:16px 19px}.login-card small{display:block;margin-top:25px;color:#87938a;font-size:11px}.form-error{font-size:12px;color:#b12435;background:#fff1f1;padding:11px;border-radius:9px;margin-bottom:15px}.login-footer{color:#87918a;font-size:11px;margin-top:70px}.login-footer a{text-decoration:underline}
.app-shell{min-height:100vh;display:flex}.sidebar{width:242px;flex-shrink:0;background:#f3f5f0;border-right:1px solid #e3e9e1;display:flex;flex-direction:column;padding:28px 17px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:2px 8px 45px}.sidebar-brand strong{display:block;font-size:15px;letter-spacing:-.055em;white-space:nowrap}.sidebar-brand strong span{color:#238965}.sidebar-brand small{display:block;font-size:8px;letter-spacing:.14em;color:#8d9c91;margin-top:3px}.nav-label{color:#9aa69c;font-size:9px;font-weight:800;letter-spacing:.17em;margin:0 0 12px;padding-left:13px}.nav-label-lower{margin-top:35px}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border:0;border-radius:9px;background:none;color:#5b6d62;text-align:left;width:100%;padding:12px 11px;font-weight:650}.nav-item:hover{background:#e9eee8;color:#234738}.nav-item.active{color:#176544;background:#dfece1}.nav-icon{font-size:20px;color:#7c9384;line-height:1}.nav-item.active .nav-icon{color:#1d7a51}.count-badge{border-radius:100px;font-size:10px;background:#1c805b;color:white;padding:3px 7px;margin-left:auto}.sidebar-bottom{margin-top:auto;border-top:1px solid #dfe5dc;padding:23px 8px 0;display:flex;gap:11px;align-items:center}.sidebar-bottom strong{display:block;font-size:11px}.sidebar-bottom small{display:block;color:#839486;font-size:10px;margin-top:4px}.online-dot,.live-chip i{display:inline-block;width:8px;height:8px;background:#39ac75;border-radius:50%;box-shadow:0 0 0 4px #c8ead6;flex-shrink:0}
.main-shell{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:77px;border-bottom:1px solid #e8ece7;padding:0 clamp(20px,3vw,52px);display:flex;align-items:center;justify-content:space-between;background:#fff;gap:15px}.breadcrumb{font-size:12px;color:#9aa69e}.breadcrumb strong{color:#243e2e}.slash{padding:0 12px;color:#c7d0ca}.header-actions{display:flex;align-items:center;gap:17px}.updated-at{color:#9aa39b;font-size:11px}.icon-button{width:36px;height:36px;border:1px solid #dfe8df;background:#fff;border-radius:9px;font-size:21px;color:#52725e}.user-pill{display:flex;align-items:center;gap:11px;padding:4px 9px 4px 4px;border-radius:100px;background:#f4f6f1;border:1px solid #e3e9e2;font-size:11px;color:#506158}.user-pill>span:first-child{background:#d3e9d6;color:#246e42;font-weight:800;padding:10px;border-radius:50%;font-size:10px}.user-name{font-weight:650}.mobile-nav,.mobile-brand{display:none}
.page-view{padding:clamp(24px,3vw,49px);flex:1;width:100%;max-width:1900px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px}.page-head .eyebrow{margin-bottom:7px}.page-head h1{font-size:clamp(29px,3vw,42px);margin:0 0 7px;color:#1a2e25}.page-head p:not(.eyebrow){font-size:13px;color:#829189;margin:0}.page-head-actions{display:flex;align-items:center;gap:10px}.live-chip{border:1px solid #cde5d1;background:#e9f7eb;color:#22754e;padding:9px 12px;border-radius:100px;font-weight:750;font-size:11px;white-space:nowrap}.live-chip i{width:6px;height:6px;box-shadow:none;margin-right:8px}.page-head select{background:white;border:1px solid #dce4dd;padding:12px;border-radius:10px;color:#364d3f}
.inbox-stats{display:flex;gap:0;border:1px solid #e3e8e0;background:white;border-radius:13px;margin-bottom:23px;overflow:hidden}.inbox-stats>div{flex:1;padding:16px 22px;border-right:1px solid #edf0ec;display:flex;align-items:center;justify-content:space-between;gap:12px}.inbox-stats>div:last-child{border:0}.inbox-stats span{font-size:11px;color:#74867b}.inbox-stats strong{font-size:21px}
.inbox-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(340px,1fr) minmax(190px,245px);background:white;border:1px solid #e2e8e0;border-radius:15px;overflow:hidden;min-height:580px;height:calc(100vh - 355px);max-height:930px}.thread-panel{min-width:0;border-right:1px solid #e9ede8;display:flex;flex-direction:column}.thread-toolbar{padding:17px 15px;border-bottom:1px solid #e9ede8;display:grid;gap:9px}.search-wrap{position:relative}.search-wrap>span{position:absolute;left:12px;top:5px;color:#85968a;font-size:23px}.search-wrap input{width:100%;border:1px solid #dde6de;background:#f7f9f5;padding:12px 12px 12px 33px;border-radius:9px;font-size:11px}.thread-toolbar select{border:0;color:#688273;background:transparent;padding:5px 0;font-size:11px}.thread-list{flex:1;overflow-y:auto}.thread-item{background:white;width:100%;border:0;border-bottom:1px solid #eef1ed;display:flex;gap:11px;padding:18px 15px;text-align:left;min-width:0;position:relative}.thread-item:hover{background:#f9fcf9}.thread-item.active{background:#ebf5ef}.thread-item.unread:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#218a60}.avatar{display:flex;align-items:center;justify-content:center;background:#e2ece0;border-radius:12px;color:#376e4d;font-weight:800;font-size:15px;flex-shrink:0;width:41px;height:41px}.thread-item .thread-content{flex:1;min-width:0}.thread-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.thread-row strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row small{font-size:9px;color:#9ca89c;flex-shrink:0}.thread-content p{font-size:11px;color:#819086;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:5px 0 7px}.thread-item .mini-status{font-size:9px;color:#247c57;font-weight:750}.thread-item .unread-dot{display:inline-block;background:#1c9664;width:6px;height:6px;border-radius:50%;margin-left:6px}
.conversation-panel{display:flex;min-width:0;min-height:0;flex-direction:column}.conversation-empty{margin:auto;max-width:275px;text-align:center;padding:30px 14px}.conversation-empty h2{font-size:22px;margin-bottom:10px}.conversation-empty p{font-size:12px;color:#91a096;line-height:1.7}.empty-graphic{margin:0 auto 31px;position:relative;border:1px solid #d6e7dc;background:#f2f8f2;border-radius:28px;width:97px;height:92px;display:flex;align-items:center;justify-content:center}.empty-graphic span{color:#3c9674;font-size:44px}.empty-graphic i{position:absolute;width:14px;height:14px;background:#badfc8;border-radius:50%;right:-12px;top:0}.empty-graphic i:last-child{top:auto;bottom:10px;left:-16px;width:10px;height:10px}
.conversation-live{display:flex;flex-direction:column;min-height:0;height:100%}.conversation-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ebefeb;padding:17px 22px;min-height:82px}.conversation-title{flex:1;min-width:0}.conversation-title h2{margin:0;font-size:15px}.conversation-title p{margin:4px 0 0;color:#91a096;font-size:10px}.status-pill{background:#e5f4e9;color:#247954;padding:7px 10px;border-radius:100px;font-size:9px;white-space:nowrap;font-weight:750}.status-pill.closed{background:#f1f2f0;color:#899287}.status-pill.waiting{background:#ebf0f9;color:#5274ad}.message-list{flex:1;overflow-y:auto;padding:23px;display:flex;flex-direction:column;gap:15px;background:linear-gradient(180deg,#fbfdfb,#fff)}.message-row{max-width:82%;align-self:flex-start}.message-row.admin{align-self:flex-end}.message-bubble{background:#f0f4ef;border:1px solid #e7ece5;border-radius:15px 15px 15px 4px;padding:13px 16px;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message-row.admin .message-bubble{background:#277c5a;color:white;border-color:#277c5a;border-radius:15px 15px 4px 15px}.message-meta{color:#9daa9d;font-size:9px;margin-top:5px;padding:0 5px}.message-row.admin .message-meta{text-align:right}.reply-form{border-top:1px solid #e7ede7;padding:12px 17px}.reply-form textarea{width:100%;border:1px solid #e1e8e1;background:#fbfcfa;border-radius:9px;padding:12px;resize:vertical;min-height:70px;max-height:160px;font-size:12px}.reply-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.reply-bottom>span{color:#a1afa2;font-size:9px}.reply-bottom .primary-btn{padding:10px 13px;font-size:11px}
.lead-panel{border-left:1px solid #e9ede8;padding:23px 18px;overflow-y:auto;min-width:0}.lead-field{padding:12px 0;border-bottom:1px solid #edf1ec}.lead-field span,.lead-label{display:block;color:#8c9a8e;font-size:10px;margin-bottom:6px}.lead-field strong{display:block;font-size:11px;overflow-wrap:anywhere;line-height:1.5}.lead-label{margin:19px 0 7px;font-weight:750}.lead-panel select,.lead-panel textarea{width:100%;border:1px solid #e0e8df;border-radius:8px;background:#fff;padding:10px;font-size:11px}.lead-panel textarea{resize:vertical}.lead-panel .secondary-btn{margin-top:10px;font-size:11px}.danger-btn{border:1px solid #ead4d4;background:#fff7f6;color:#ad4c4c;padding:11px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer;margin-top:9px}.danger-btn:hover{background:#ffe8e5}.back-button{display:none}
.loading-state,.empty-list{padding:35px 20px;color:#94a398;font-size:12px;text-align:center;line-height:1.7}.error-state{color:#ae4242}
.privacy-hint{border-left:3px solid #80b498;padding:11px 14px;background:#ecf5ec;font-size:11px;color:#61806c;margin-bottom:20px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid #e5ebe5;border-radius:13px;padding:23px}.kpi-card span{font-size:11px;color:#839287;display:block;margin-bottom:24px}.kpi-card strong{font-size:clamp(24px,2.5vw,37px);letter-spacing:-.07em}.kpi-card small{display:block;margin-top:9px;font-size:10px;color:#80a68a}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.data-card{background:white;border:1px solid #e6ece5;border-radius:13px;padding:24px;min-width:0;min-height:240px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-head .eyebrow{font-size:9px;margin:0 0 6px}.card-head h2{font-size:17px;margin-bottom:20px}.card-head>span{font-size:10px;color:#96a297}.traffic-chart{display:flex;align-items:flex-end;gap:5px;min-height:188px;height:188px;border-bottom:1px solid #dae9dd;padding:9px 0}.bar-wrap{flex:1;min-width:2px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.bar{background:linear-gradient(0deg,#47a87e,#a7dcb9);min-height:2px;border-radius:4px 4px 0 0;transition:filter .2s}.bar:hover{filter:brightness(.85)}.chart-legend{display:flex;align-items:center;font-size:9px;color:#849388;margin-top:15px;gap:6px}.chart-legend i{width:8px;height:8px;background:#46a87f;border-radius:3px}
.vitals-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vital{background:#f6f8f5;padding:14px 12px;border-radius:9px}.vital span{display:block;color:#849488;font-size:10px;margin-bottom:13px}.vital strong{font-size:22px}.vital small{color:#94a197;font-size:9px;display:block;margin-top:6px}.vital.good{background:#e8f6ec}.vital.warn{background:#fff4e1}.microcopy{font-size:10px;color:#9caba0;margin:13px 0 0;line-height:1.5}
.ranking{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.rank-row .rank-label{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px;font-weight:650}.rank-row .rank-val{font:800 11px Manrope;color:#386b51}.rank-track{grid-column:1/-1;height:5px;background:#edf2ed;border-radius:3px;overflow:hidden}.rank-track i{display:block;height:100%;background:#68b38d;border-radius:3px}.rank-empty{font-size:11px;color:#99a79c;line-height:1.7;margin:20px 0}
.table-scroller{overflow-x:auto;background:white;border:1px solid #e5ebe4;border-radius:14px}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.data-table th{text-align:left;letter-spacing:.08em;font-size:9px;color:#8ea096;background:#f8faf7;padding:18px 15px}.data-table td{border-top:1px solid #eff1ed;padding:16px 15px;max-width:260px;overflow:hidden;text-overflow:ellipsis;color:#506858}.data-table td:first-child{color:#1f3929;font-weight:650}.data-table tr:hover td{background:#f9fcf9}.data-table td strong{font-weight:650;color:#23432f}.table-empty{text-align:center!important;padding:60px!important;color:#96a596!important}
.app-footer{border-top:1px solid #e7ece6;padding:23px clamp(20px,3vw,49px);display:flex;justify-content:space-between;color:#9ca99f;font-size:10px;gap:15px}
.toast{position:fixed;z-index:50;right:24px;bottom:25px;padding:13px 18px;background:#1e543d;color:white;border-radius:11px;box-shadow:0 13px 35px #0e251b40;font-size:12px;max-width:350px}.toast.error{background:#8f3535}
@media(max-width:1440px){.inbox-layout{grid-template-columns:minmax(240px,300px) minmax(290px,1fr) minmax(175px,215px)}.sidebar{width:218px}.page-view{padding:28px}.lead-panel{padding:20px 13px}}
@media(max-width:1170px){.inbox-layout{grid-template-columns:minmax(230px,330px) minmax(280px,1fr)}.lead-panel{grid-column:1/-1;border-left:0;border-top:1px solid #e9ede8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;padding:15px 20px}.lead-panel>.eyebrow{grid-column:1/-1}.lead-panel .lead-field{padding:4px 0}.lead-label{margin:8px 0 0}.lead-panel select,.lead-panel textarea{align-self:start}.inbox-layout{height:auto;min-height:570px;max-height:none}.conversation-panel,.thread-panel{height:610px}.inbox-stats>div{padding:15px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.sidebar{display:none}.topbar{height:66px;padding:0 19px}.mobile-brand{display:block;font-weight:800;letter-spacing:-.04em}.mobile-mark{color:#278b65;font-size:22px;margin-right:7px}.breadcrumb{display:none}.mobile-nav{display:flex;overflow-x:auto;gap:5px;padding:9px 12px;border-bottom:1px solid #e5ece6;background:#fff;position:sticky;top:0;z-index:10}.mobile-nav button{white-space:nowrap;background:transparent;border:0;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:700;color:#839285}.mobile-nav button.active{background:#e6f3e9;color:#246747}.page-view{padding:24px 16px}.page-head{align-items:flex-start;flex-direction:column;gap:15px}.inbox-layout{grid-template-columns:minmax(0,1fr)}.thread-panel,.conversation-panel{height:560px}.conversation-panel{display:none}.inbox-layout.chat-active .thread-panel{display:none}.inbox-layout.chat-active .conversation-panel{display:flex}.inbox-layout.chat-active .lead-panel{display:none!important}.back-button{display:block;flex-shrink:0;background:transparent;border:0;font-size:23px;padding:6px}.inbox-stats{gap:0}.inbox-stats>div{display:block;text-align:center;padding:14px 7px}.inbox-stats span{display:block;font-size:9px;margin-bottom:8px}.inbox-stats strong{font-size:18px}.analytics-grid{grid-template-columns:1fr}.kpi-grid{gap:9px}.kpi-card{padding:17px}.kpi-card span{margin-bottom:13px;font-size:10px}.kpi-card strong{font-size:26px}.lead-panel{display:none}.user-name,.updated-at{display:none}.app-footer{padding:22px 16px;font-size:9px}}
@media(max-width:460px){.login-scene{display:flex;flex-direction:column}.login-brand{padding:30px 27px 25px;min-height:auto}.login-brand .mark{width:48px;height:48px;font-size:27px;margin-bottom:17px}.mark span{font-size:13px;top:12px}.login-brand h1{font-size:63px;margin-bottom:10px}.login-lead{font-size:14px;max-width:310px;margin:0}.login-decoration{display:none}.login-panel{padding:38px 27px;flex:1;justify-content:start}.login-card-icon{display:none}.login-card h2{font-size:31px}.login-card>p:not(.eyebrow){margin-bottom:23px}.login-footer{margin-top:55px}.topbar{padding:0 13px}.user-pill{padding:4px}.user-pill>span:last-child{display:none}.header-actions{gap:8px}.page-head h1{font-size:29px}.page-head-actions{width:100%;justify-content:space-between}.live-chip{font-size:10px}.inbox-layout{min-height:520px}.thread-panel,.conversation-panel{height:calc(100dvh - 290px);min-height:450px}.conversation-head{padding:14px 12px;gap:8px}.conversation-head .avatar{width:34px;height:34px}.conversation-title h2{font-size:13px}.status-pill{padding:6px;font-size:8px}.message-list{padding:15px}.reply-form{padding:11px}.reply-bottom>span{display:none}.reply-bottom .primary-btn{margin-left:auto}.data-card{padding:18px}.vitals-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer>span:last-child{display:none}}
.lead-title{display:flex;align-items:center;justify-content:space-between}.lead-title #lead-close,.lead-toggle{display:none}
@media(max-width:780px){.inbox-head .page-head-actions{flex-wrap:wrap}.inbox-head .page-head-actions .secondary-btn{font-size:10px;padding:9px}.lead-toggle{display:block;border:1px solid #dce5df;background:#fff;color:#367856;border-radius:8px;padding:7px 9px;font-size:17px;flex-shrink:0}.inbox-layout.chat-active .lead-panel.show{display:block!important;position:fixed;z-index:60;left:12px;right:12px;top:9vh;bottom:9vh;overflow:auto;background:#fff;border:1px solid #dbe7dd;border-radius:17px;padding:24px;box-shadow:0 20px 80px #1c342350}.lead-title #lead-close{display:block;border:0;background:#eef5ee;color:#477458;border-radius:8px;padding:8px 11px;cursor:pointer}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}