/* IBG MART CRM · Minimal Phase 2. UI only; no framework/dependencies. */
:root{--ibg-ink:#111827;--ibg-muted:#788397;--ibg-blue:#1664e9;--ibg-line:#e9edf2;--ibg-bg:#f6f8fb}
html,body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif}
button,a,input{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9cc1ff;outline-offset:3px}
/* ---------------------------------------------------
   AUTHENTICATION · calm, responsive, premium
   --------------------------------------------------- */
.auth-premium{background:#f5f7fb;padding:clamp(16px,4vw,48px);min-height:100dvh}
.auth-premium-grid{max-width:1120px;min-height:min(710px,calc(100dvh - 96px));grid-template-columns:1fr 1fr;border-radius:30px;box-shadow:0 30px 90px rgba(14,27,52,.10);border:1px solid #e8edf6}
.auth-premium-hero{background:radial-gradient(circle at 100% 100%,#245d9d4d,transparent 50%),linear-gradient(153deg,#0e1a32 0%,#14294a 58%,#1c3b69 100%);padding:48px 50px}
.auth-premium-hero:after{content:"";position:absolute;right:-115px;bottom:-165px;width:510px;height:510px;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}
.auth-premium-hero:before{content:"";position:absolute;right:-65px;bottom:-110px;width:410px;height:410px;border:1px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.auth-brand-logo{display:block;flex:0 0 48px;width:48px;height:48px;background:#ffffffed;border-radius:15px;padding:5px;overflow:hidden;box-shadow:0 10px 30px #030b1e36}
.auth-brand-logo img{width:100%;height:100%;object-fit:contain}
.auth-premium-hero .wordmark{font-size:17px;gap:13px;letter-spacing:-.02em}
.auth-premium-hero .wordmark small{color:#a5b8d5;letter-spacing:.14em;font-size:8px}
.auth-premium-hero .hero-copy{max-width:465px;z-index:1}
.auth-premium-hero .hero-copy .eyebrow{font-size:10px;letter-spacing:.21em;color:#9cb6dc}
.auth-premium-hero .hero-copy h1{font-weight:670;letter-spacing:-.068em;font-size:clamp(50px,5.1vw,76px);line-height:1.045;margin:22px 0 26px}
.auth-premium-hero .hero-copy em{color:#91baff}
.auth-premium-hero .hero-copy p{font-size:16px;line-height:1.75;color:#c5d2e7}
.auth-hero-footer{z-index:1;color:#9badc7;letter-spacing:.15em;font-size:10px;display:flex;align-items:center;gap:10px}
.auth-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#48dca1;box-shadow:0 0 0 4px #48dca120}
.auth-premium-right{background:#fff;padding:50px clamp(32px,5vw,75px)}
.auth-premium-card{max-width:380px}
.auth-lock-icon{display:grid;place-items:center;width:52px;height:52px;color:#1262e4;border:1px solid #e7eefc;border-radius:16px;background:#f2f6ff;font-size:29px;font-weight:700;margin-bottom:38px}
.auth-premium-card .eyebrow{color:#79899f;font-size:10px;letter-spacing:.19em}
.auth-premium-card h2{font-size:clamp(31px,3.1vw,41px);font-weight:700;line-height:1.1;letter-spacing:-.06em;margin:15px 0 12px}
.auth-premium-card p{font-size:14px;line-height:1.75;margin:0 0 30px;color:#78859a}
.auth-premium-form label{font-size:12px;color:#39475b;margin:0 0 9px;font-weight:650}
.auth-premium-form input{height:56px;border-radius:13px;background:#f9fafc;border:1px solid #e1e7f0;padding:0 17px;font-size:15px;width:100%}
.auth-premium-form .primary{height:55px;border-radius:13px;background:#1368ed;margin-top:17px;font-size:14px;box-shadow:0 8px 21px #1665eb25}
.auth-premium-form .primary:hover{background:#0a58d7;box-shadow:0 10px 24px #1665eb33}
.auth-premium-form .otp-field{font-size:29px!important;letter-spacing:.32em}
.auth-premium-card .auth-foot{margin-top:50px;padding-top:26px;font-size:11px;line-height:1.6;color:#99a3b1;flex-wrap:wrap}
.auth-foot-divider{color:#c6ced8}
.auth-premium-card .auth-back{margin-top:23px;font-size:13px}
.auth-mobile-brand{display:none}
/* ---------------------------------------------------
  Dashboard · small, purposeful information density
  --------------------------------------------------- */
.workspace{background:#f7f9fc}
.rail{background:#fff;border-right:1px solid #e9edf4;padding:24px 0 18px;gap:52px;width:76px}
.rail .rail-nav{gap:12px}
.rail-nav a{color:#8a96a9;font-size:22px}
.rail-nav a.on,.rail-nav a:hover{background:#edf4ff;color:#176de9}
.rail-glyph{font-size:22px;line-height:1}
.dash-main{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;background:#f7f9fc;scrollbar-gutter:stable}
.dash-content{max-width:1150px;margin:auto;padding:0 clamp(24px,4.4vw,68px) 28px}
.dash-topbar{height:88px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e8edf5}
.dash-brandline{display:flex;align-items:center;gap:12px}
.dash-logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:white;border:1px solid #edf0f5;overflow:hidden}
.dash-logo img{width:100%;height:100%;object-fit:contain}
.dash-brandname{font-size:13px;font-weight:760;letter-spacing:.03em;white-space:nowrap}
.dash-brandname small{display:block;margin-top:4px;color:#8d98aa;font-size:9px;font-weight:600;letter-spacing:.12em}
.dash-user{display:flex;align-items:center;gap:9px;font-size:12px;color:#525e72;font-weight:600}
.dash-user-dot{display:block;background:#16b67e;border-radius:50%;width:7px;height:7px}
.dash-role{background:#edf2fa;color:#8190a5;border-radius:20px;padding:6px 11px;font-size:10px}
.dash-menu{display:none;border:0;background:transparent;color:#738095;font-size:24px;line-height:1;padding:5px}
.dash-greeting{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:46px 0 31px}
.dash-kicker{font-size:10px;letter-spacing:.18em;color:#8391a5;font-weight:700;display:flex;align-items:center;gap:10px}
.dash-kicker-line{display:inline-block;width:22px;height:1px;background:#b6c1d0}
.dash-greeting h1{font-size:clamp(34px,4vw,51px);font-weight:730;margin:13px 0 9px;letter-spacing:-.067em;line-height:1.1}
.dash-period{color:#196cf0}
.dash-greeting p{color:#8190a5;font-size:13px;line-height:1.7;margin:0}
.dash-toplink{display:flex;align-items:center;gap:9px;border:1px solid #e2e9f2;border-radius:12px;background:#fff;padding:12px 16px;color:#2a456a;font-weight:650;font-size:12px;white-space:nowrap}
.dash-toplink:hover{border-color:#bbd0ee}
.dash-toplink span{color:#176ce9;font-size:18px}
.dash-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:19px}
.dash-metric{background:white;border:1px solid #e7ecf3;border-radius:18px;padding:24px 26px;min-width:0;box-shadow:0 7px 22px #27354e05}
.dash-metric-label{font-weight:660;color:#7b899c;font-size:12px}
.dash-metric-number{font-size:37px;line-height:1;letter-spacing:-.06em;font-weight:730;margin:15px 0 11px;color:#15233a;font-variant-numeric:tabular-nums}
.dash-metric-caption{font-size:11px;color:#a1adbc}
.dash-main-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px}
.dash-panel{background:#fff;border:1px solid #e7ecf3;border-radius:20px;box-shadow:0 6px 25px #17294305;min-width:0}
.dash-entry,.dash-sources{padding:28px}
.dash-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dash-mini-label{font-size:10px;letter-spacing:.18em;color:#8997aa;font-weight:700}
.dash-panel-heading h2{font-size:21px;font-weight:720;letter-spacing:-.045em;margin:9px 0 0;color:#18253a}
.dash-round-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:#1669ee;background:#edf4ff;font-size:24px;font-weight:400}
.dash-panel-desc{margin:14px 0 26px;max-width:390px;font-size:12px;color:#8a97a8;line-height:1.8}
.dash-save-form label{display:block;font-size:11px;color:#566479;font-weight:700;margin:0 0 9px}
.dash-input-line{display:flex;align-items:center;overflow:hidden;border:1px solid #dfe7f1;border-radius:14px;background:#f9fbfe;height:58px;transition:border-color .2s,box-shadow .2s}
.dash-input-line:focus-within{border-color:#82b1f4;box-shadow:0 0 0 4px #176ff011}
.dash-input-line>span{padding:0 15px;color:#5d6b80;font-weight:700;border-right:1px solid #e5ebf2;font-size:14px}
.dash-input-line input{border:0;outline:0;box-shadow:none!important;flex:1;min-width:0;padding:0 15px;font-size:17px;font-weight:590;color:#1a283d;background:transparent;height:100%;letter-spacing:.025em}
.dash-input-line input::placeholder{color:#bbc6d2;font-weight:420}
.dash-save-btn{border:0;background:#1769e9;color:#fff;border-radius:14px;margin-top:13px;width:100%;height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:13px;font-weight:700;box-shadow:0 10px 24px #1769e925}
.dash-save-btn:hover{background:#0756d2}
.dash-save-btn span{font-size:22px;font-weight:420}
.dash-entry-foot{margin-top:18px;display:flex;gap:9px;align-items:center;font-size:11px;color:#9ba7b6;line-height:1.5}
.dash-safe-dot{width:7px;height:7px;background:#23bc86;border-radius:50%;flex:none}
.dash-source-list{display:grid;gap:2px;margin-top:-9px}
.dash-source-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f0f2f6}
.dash-source-row:last-child{border-bottom:0}
.dash-source-icon{height:40px;width:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:20px;flex:none;background:#edf3ff;color:#2674e2}
.dash-src-missed{background:#f0f4f9;color:#5f778f}.dash-src-whatsapp{background:#ecf8f3;color:#198c63}.dash-src-manual{background:#f5f2fd;color:#7563b0}
.dash-source-text{flex:1;min-width:0}
.dash-source-text strong{display:block;font-size:12px;font-weight:690;color:#334057}
.dash-source-text small{display:block;color:#a1acba;font-size:10px;margin-top:5px}
.dash-source-count{color:#344257;font-size:17px;font-weight:740;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.dash-source-foot{padding-top:13px;font-size:10px;line-height:1.7;color:#9aa6b7}
.dash-recents{margin-top:18px;padding:26px 28px}
.dash-inline-link{font-size:12px;color:#1769df;font-weight:690;white-space:nowrap}
.dash-recent-list{margin-top:20px}
.dash-recent-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #f1f3f7}
.dash-recent-avatar{width:38px;height:38px;border-radius:11px;background:#f2f5f9;display:grid;place-items:center;color:#8493a9;font-size:16px;flex:none}
.dash-recent-info{display:block;flex:1;min-width:0}
.dash-recent-info strong{font-size:13px;color:#374459;display:block;font-weight:720}
.dash-recent-info small{font-size:11px;color:#9aa7b6;display:block;margin-top:4px}
.dash-recent-arrow{color:#a9b8cb;font-size:18px}
.dash-recent-row:hover .dash-recent-arrow{color:#1669e9}
.dash-recent-empty{text-align:center;padding:32px 12px 20px;color:#8391a3}
.dash-empty-icon{margin:auto auto 12px;width:48px;height:48px;background:#f1f5fb;color:#8b9fba;display:grid;place-items:center;border-radius:50%;font-size:27px}
.dash-recent-empty strong{display:block;font-size:13px;color:#526278}
.dash-recent-empty p{font-size:12px;color:#a6b0bd;margin:7px 0 0}
.dash-footer{font-size:10px;color:#a1abbb;display:flex;justify-content:space-between;gap:10px;padding:25px 5px 0;letter-spacing:.08em}
.dash-alert{padding:14px 18px;border-radius:12px;margin:0 0 18px;font-size:13px;border:1px solid}
.dash-alert-ok{background:#edfaf4;color:#1b825b;border-color:#ccefe0}
.dash-alert-error{background:#fff3f3;color:#a94848;border-color:#f7d6d6}
/* Keep existing inbox / team features intact and operable. */
@media(max-width:1100px){.dash-content{padding:0 30px 24px}.dash-main-grid{gap:13px}.dash-entry,.dash-sources{padding:22px}.dash-metric{padding:21px}}
@media(max-width:850px){.auth-premium-grid{min-height:620px}.auth-premium-hero{padding:32px}.auth-premium-right{padding:40px}.dash-main-grid{grid-template-columns:1fr}.dash-source-list{display:grid;grid-template-columns:1fr 1fr;column-gap:17px}.dash-source-row:nth-last-child(2){border-bottom:0}}
@media(max-width:680px){
 .auth-premium{padding:0;min-height:100dvh;background:white}
 .auth-premium-grid{min-height:100dvh;display:flex;flex-direction:column;box-shadow:none;border:0;border-radius:0}
 .auth-premium-hero{min-height:168px;flex:0 0 auto;padding:27px 25px 26px;display:block;background:linear-gradient(145deg,#11203a,#193a68)}
 .auth-premium-hero:before,.auth-premium-hero:after{display:none}
 .auth-premium-hero .wordmark{font-size:16px}
 .auth-premium-hero .wordmark small{font-size:7px}
 .auth-brand-logo{width:43px;height:43px;flex-basis:43px;border-radius:12px}
 .auth-premium-hero .hero-copy{margin-top:22px}
 .auth-premium-hero .hero-copy .eyebrow,.auth-hero-footer{display:none}
 .auth-premium-hero .hero-copy h1{font-size:30px;margin:0;line-height:1.12;letter-spacing:-.06em}
 .auth-premium-hero .hero-copy p{display:none}
 .auth-premium-right{padding:34px 26px 30px;flex:1;display:block}
 .auth-premium-card{max-width:460px;margin:auto}
 .auth-lock-icon{height:43px;width:43px;font-size:24px;margin-bottom:22px}
 .auth-premium-card h2{font-size:34px;margin:13px 0 10px}
 .auth-premium-card p{font-size:13px;margin-bottom:26px}
 .auth-premium-form input{height:56px;font-size:16px}
 .auth-premium-card .auth-foot{margin-top:42px}
 .auth-mobile-brand{display:none}
 .workspace{height:100dvh;min-height:0}
 .dash-main{width:100%;padding-bottom:65px}
 .dash-content{padding:0 17px 18px}
 .dash-topbar{height:72px}
 .dash-menu{display:block}
 .dash-brandname{font-size:11px}
 .dash-brandname small{font-size:8px}
 .dash-user{font-size:0;gap:0}
 .dash-user-dot{display:none}
 .dash-role{font-size:10px}
 .dash-greeting{margin:30px 0 24px;align-items:end}
 .dash-greeting h1{font-size:38px}
 .dash-greeting p{font-size:12px}
 .dash-kicker{font-size:9px;letter-spacing:.12em}
 .dash-kicker-line{width:10px}
 .dash-toplink{padding:10px;font-size:11px}
 .dash-metrics{gap:8px;margin-bottom:12px}
 .dash-metric{padding:15px 12px;border-radius:15px}
 .dash-metric-label{font-size:10px;min-height:24px}
 .dash-metric-number{font-size:28px;margin:10px 0 8px}
 .dash-metric-caption{font-size:9px;line-height:1.5}
 .dash-entry,.dash-sources{padding:22px 19px}
 .dash-panel{border-radius:17px}
 .dash-panel-heading h2{font-size:20px}
 .dash-main-grid{gap:12px}
 .dash-source-list{display:block}
 .dash-source-row:nth-last-child(2){border-bottom:1px solid #f0f2f6}
 .dash-recents{margin-top:12px;padding:22px 19px}
 .dash-footer{font-size:9px;display:flex;flex-wrap:wrap;line-height:1.6}
}
@media(max-width:390px){.dash-brandline{gap:7px}.dash-logo{display:none}.dash-content{padding:0 12px 20px}.dash-greeting h1{font-size:34px}.dash-metric{padding:12px 10px}.dash-metric-label{font-size:9px}.dash-metric-number{font-size:26px}.dash-kicker{letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
