:root{--ink:#132e36;--muted:#64767e;--bg:#f4f7fa;--line:#dfe7eb;--teal:#087c78;--lime:#d5f566;--red:#b34531;--radius:20px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #52b7d0;outline-offset:3px}button{border:0}a{color:var(--teal)}.sidebar{width:252px;background:#102b33;position:fixed;inset:0 auto 0 0;color:#fff;padding:20px 16px 14px;display:flex;flex-direction:column;height:100vh;max-height:100vh;box-sizing:border-box;overflow:hidden}.brand{color:#fff;text-decoration:none;display:flex;gap:10px;align-items:center;font-size:22px;font-weight:700;letter-spacing:-.7px;flex-shrink:0}.brand-mark{font-size:32px;display:inline-grid;place-items:center;background:var(--lime);color:#102b33;border-radius:11px;width:38px;height:38px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:1.3px;color:#a4b7b9;margin-top:4px}.workspace-label{font-size:10px;letter-spacing:1px;margin:14px 8px 8px;color:#8ea6ac;flex-shrink:0}.sidebar nav{display:grid;gap:3px;overflow-y:visible;flex:1;min-height:0;padding-right:0}.sidebar nav button,.sidebar .sidebar-logout{color:#b8c9cf;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:550;line-height:1.2;min-height:36px}.sidebar nav button span{font-size:18px;width:20px;text-align:center;display:grid;place-items:center}.sidebar nav button.active{background:#22414a;color:var(--lime)}.sidebar nav button:hover,.sidebar .sidebar-logout:hover{background:#1b3a42}.sidebar nav b{font-size:11px;background:var(--lime);color:var(--ink);border-radius:6px;padding:1px 5px;margin-left:auto}.sidebar nav b:empty{display:none}.sidebar-foot{margin-top:auto;padding:10px 8px 0;border-top:1px solid #35505a;font-size:13px;flex-shrink:0;background:#102b33;position:sticky;bottom:0}.sidebar-foot .sidebar-logout{background:rgba(239,68,68,0.12);color:#fca5a5;border:1px solid rgba(239,68,68,0.25);font-weight:700}.sidebar-foot .sidebar-logout:hover{background:rgba(239,68,68,0.25);color:#fff}.privacy-icon{color:var(--lime);display:block;font-size:20px;margin-bottom:8px}.sidebar-foot p{font-size:12px;line-height:1.4;color:#99b0b6}.shell{margin-left:252px}.topbar{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#fff;gap:20px}.unit-picker{display:grid;gap:6px;min-width:0}.unit-picker span{font-size:12px;color:var(--muted)}select{max-width:100%;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.unit-picker select{font-weight:650;border:0;padding:0;max-width:450px;font-size:15px}.top-actions{display:flex;gap:16px;align-items:center}.sync-label{font-size:12px;color:var(--muted)}.icon-button{background:transparent;border:1px solid var(--line);border-radius:11px;min-width:40px;min-height:40px;font-size:21px;color:var(--ink)}.avatar{background:#ecf1f4;color:var(--ink);border-radius:50%;width:40px;height:40px;font-size:13px;font-weight:650}.mobile-brand{display:none}main{max-width:1510px;margin:auto;padding:38px 40px 30px;min-height:calc(100vh - 140px)}h1{font-size:36px;font-weight:650;letter-spacing:-1.5px;line-height:1.15;margin:8px 0 14px}h2{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:0 0 10px}h3{font-size:17px;margin:0 0 10px}p{line-height:1.65;margin:0 0 12px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:650;color:var(--teal);margin:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p:not(.eyebrow){font-size:14px}.primary{background:var(--teal);color:#fff;padding:13px 20px;border-radius:11px;font-size:14px;font-weight:650;min-height:44px}.primary:hover{background:#05635f}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);padding:11px 17px;border-radius:11px;font-size:14px;min-height:44px}.text-button{background:none;color:var(--teal);padding:8px 0;font-size:14px;font-weight:650}.welcome-panel{padding:48px;background:#fff;border:1px solid var(--line);border-radius:24px}.feature-symbol{font-size:64px;display:block;color:var(--teal);margin-bottom:20px}.welcome-panel>p{max-width:650px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.feature-grid b{color:var(--teal);font-size:13px;display:block;margin-bottom:12px}.feature-grid strong{font-size:16px}.feature-grid p{font-size:14px;margin-top:10px}.pill{display:inline-block;background:#edf6f1;color:#256548;font-size:12px;padding:6px 10px;border-radius:7px;font-weight:550}.pill.dark{background:#27444c;color:#c6d7dc}.pill.warning{background:#fff1d7;color:#8d5910}.pill.error{background:#ffebe7;color:#a43824}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);padding:22px;border-radius:var(--radius);min-height:157px}.metric.emphasis{background:var(--ink);color:#fff;border-color:var(--ink)}.metric-label{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.metric.emphasis .metric-label{color:#bad0d4}.metric-value{font-size:31px;letter-spacing:-1.2px;font-weight:650;line-height:1.2;margin:17px 0 9px}.metric-value span{font-size:16px;font-weight:500;letter-spacing:0;color:var(--muted)}.metric.emphasis .metric-value span{color:#bfd0d3}.metric-note{font-size:12px;color:var(--muted);line-height:1.5}.metric.emphasis .metric-note{color:#bed0d4}.grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.card-header h2{margin:0}.card-header p{font-size:13px;margin:5px 0 0}.tabs{background:#f1f5f7;border-radius:10px;padding:4px;display:flex;gap:3px}.tabs button{font-size:13px;background:transparent;padding:8px 14px;border-radius:7px;color:var(--muted)}.tabs button.active{background:white;color:var(--ink);box-shadow:0 2px 5px #16303a0d}.chart-area{height:260px;margin:10px 0;position:relative}.chart-area svg{width:100%;height:100%;overflow:visible}.chart-label{font-size:12px;fill:#71838b}.chart-grid{stroke:#e7eef1;stroke-dasharray:4 5}.chart-bar{fill:#0e8d86;cursor:pointer}.chart-bar:hover{fill:#075f5b}.chart-bar-weekend{fill:#bad650}.chart-empty{height:240px;background:repeating-linear-gradient(to top,transparent 0,transparent 58px,#e9eff2 59px,#e9eff2 60px);display:grid;place-content:center;text-align:center}.chart-empty strong{font-size:17px}.chart-empty p{font-size:14px;max-width:350px;margin-top:10px}.chart-key{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted);margin:15px 0}.legend-dot{width:8px;height:8px;border-radius:2px;background:#0e8d86;display:inline-block;margin-right:7px}.legend-dot.lime{background:#bad650}.notice{background:#eaf5f4;color:#235f5b;padding:15px 18px;border-radius:12px;font-size:13px;line-height:1.6;display:flex;align-items:flex-start;gap:12px}.notice.warning{background:#fff3de;color:#7b5418}.notice.error{background:#fff0ec;color:#9a3925}.notice strong{display:block}.notice p{color:inherit;font-size:13px;margin:4px 0 0}.small-note{font-size:12px;line-height:1.6;color:var(--muted)}.insight-accent{background:#eef6dd;padding:20px;border-radius:14px;margin-bottom:18px}.insight-accent .eyebrow{color:#566624}.insight-accent h3{margin-top:10px;line-height:1.4}.insight-accent p{color:#5a684a;font-size:14px}.anomaly-list{display:grid;gap:0}.anomaly-item{display:flex;align-items:flex-start;gap:13px;padding:17px 0;border-bottom:1px solid #edf1f3}.anomaly-item:last-child{border:0}.anomaly-icon{background:#fff0dc;color:#9c6d17;width:37px;height:37px;display:grid;place-items:center;border-radius:11px;flex-shrink:0}.anomaly-item strong{font-size:14px;line-height:1.5}.anomaly-item p{font-size:12px;margin:5px 0 0;line-height:1.6}.anomaly-value{margin-left:auto;font-size:15px;font-weight:650;white-space:nowrap}.section-gap{margin-top:22px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.actions{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:8px;font-size:14px;font-weight:550}.field input,.field textarea{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;color:var(--ink);width:100%;font-size:14px}.field small{font-size:12px;color:var(--muted);font-weight:400;line-height:1.5}.field.full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6}.check input{width:18px;height:18px;accent-color:var(--teal);margin-top:3px;flex-shrink:0}.rooms{display:grid;gap:14px;margin:22px 0}.room{border:1px solid var(--line);border-radius:12px;overflow:hidden}.room summary{cursor:pointer;font-size:14px;font-weight:650;padding:15px;background:#f8fafb}.room-items{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device{display:flex;gap:8px;align-items:center;font-size:14px;line-height:1.5}.device input{width:18px;height:18px;accent-color:var(--teal)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;padding:8px 12px;font-size:13px}.chip.active{background:#e5f3f1;color:var(--teal);border-color:#9bd4ce}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;padding:13px 12px;color:var(--muted);font-weight:550;background:#f8fafb;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid var(--line);line-height:1.5;white-space:nowrap}td.wrap{white-space:normal}.empty{padding:38px 20px;text-align:center;line-height:1.6}.empty p{font-size:14px;max-width:500px;margin:10px auto}.empty-icon{font-size:35px;color:#8aa2aa;margin-bottom:15px}.chat-box{white-space:pre-wrap;background:#f1f7f7;padding:20px;border-radius:12px;line-height:1.8;font-size:14px;margin-top:18px}.ask-form{display:flex;gap:12px}.ask-form input{flex:1;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px}.status-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.status-row h3{margin-bottom:5px}.status-row p{font-size:13px;margin:0}.big-stat{font-size:26px;font-weight:650;letter-spacing:-1px}.subtle{color:var(--muted);font-size:13px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}dialog{border:0;border-radius:20px;padding:28px;width:min(540px,calc(100vw - 30px));color:var(--ink);box-shadow:0 25px 100px #0a202440}dialog::backdrop{background:#102b3380;backdrop-filter:blur(4px)}dialog p{font-size:14px}dialog form{display:grid;gap:18px}footer{font-size:11px;color:var(--muted);text-align:center;padding:12px 25px 25px}#toast{position:fixed;bottom:28px;right:28px;max-width:420px;background:#132e36;color:#fff;border-radius:12px;padding:15px 20px;font-size:14px;box-shadow:0 8px 25px #102b3320;display:none;z-index:10}.qr{max-width:250px;display:block;margin:20px auto}.login-screen{max-width:420px;margin:50px auto}.annotation-band{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:18px;background:#f3f7f9;border-radius:12px;margin-top:20px}.annotation-band p{font-size:13px;margin:0}.reading-badge{display:inline-flex;gap:8px;align-items:center;font-size:12px}.reading-badge::before{content:'';width:6px;height:6px;background:#ce9c3d;border-radius:50%}.recommendations{display:grid;gap:12px}.recommendation{padding:18px;background:#f5f8fa;border-radius:12px}.recommendation p{font-size:14px;margin:5px 0 0}.progress{height:8px;background:#eaf0f3;border-radius:20px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:#b9d853;border-radius:20px}.hide{display:none!important}
@media(min-width:1550px){main{padding-top:45px}.chart-area{height:300px}}@media(max-width:1150px){.sidebar{width:210px;padding:25px 14px}.brand{font-size:21px}.brand small{font-size:8px}.shell{margin-left:210px}.topbar{padding:0 24px}main{padding:28px 24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.metric{min-height:145px}.unit-picker select{max-width:300px}.two-columns{grid-template-columns:1fr}.sync-label{display:none}}
@media(max-width:700px){.sidebar{width:auto;inset:auto 0 0;z-index:5;height:74px;padding:0;background:#fff;border-top:1px solid var(--line)}.sidebar>.brand,.workspace-label,.sidebar-foot{display:none}.sidebar nav{display:flex;gap:0;justify-content:space-around;align-items:stretch;height:100%;padding-bottom:env(safe-area-inset-bottom)}.sidebar nav button{flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:10px;padding:7px 2px;color:#6a7e86;min-width:0;border-radius:0}.sidebar nav button[data-view="settings"],.sidebar nav button[data-view="plans"],.sidebar nav button[data-view="partner"],.sidebar nav button[data-view="trends"],.sidebar nav button[data-view="insights"],.sidebar nav button[data-view="alerts"],.sidebar nav button[data-view="admin"]{display:none!important}.sidebar nav button span{font-size:23px}.sidebar nav button.active{background:#ecf6f5;color:var(--teal)}.sidebar nav button:hover{background:#ecf6f5}.sidebar nav b{display:none}.shell{margin-left:0}.topbar{height:auto;min-height:105px;padding:16px 18px;flex-wrap:wrap;gap:13px;position:sticky;top:0;z-index:3}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700}.mobile-brand .brand-mark{width:29px;height:29px;font-size:26px;border-radius:8px}.unit-picker{order:3;width:100%;gap:0}.unit-picker>span{display:none}.unit-picker select{width:100%;max-width:100%;font-size:13px;line-height:1.6}.top-actions{gap:10px}.icon-button{min-width:34px;min-height:34px}.avatar{width:34px;height:34px;font-size:11px}main{padding:24px 16px 24px;min-height:70vh}h1{font-size:29px;letter-spacing:-1px}h2{font-size:19px}.page-heading{align-items:flex-start;gap:15px;margin-bottom:22px}.page-heading .primary,.page-heading .secondary{font-size:12px;padding:10px 13px;white-space:nowrap}.eyebrow{font-size:9px;letter-spacing:1.3px}.page-heading p:not(.eyebrow){font-size:13px}.metrics{gap:10px;margin-bottom:16px}.metric{padding:17px 14px;min-height:140px;border-radius:15px}.metric-value{font-size:27px;margin:13px 0 8px}.metric-value span{font-size:13px}.metric-label{font-size:12px}.metric-note{font-size:11px}.card{padding:19px 16px;border-radius:16px}.card-header{align-items:flex-start;margin-bottom:15px}.card-header h2{font-size:18px}.card-header p{font-size:12px}.tabs button{padding:7px 9px;font-size:12px}.chart-area{height:230px}.grid-main,.two-columns{gap:16px}.welcome-panel{padding:25px 20px}.feature-grid{grid-template-columns:1fr;gap:18px;margin-top:22px;padding-top:22px}.feature-symbol{font-size:48px}.feature-grid p{margin-bottom:0}.form-grid,.form-grid.three{grid-template-columns:1fr}.room-items{grid-template-columns:1fr}.ask-form{flex-wrap:wrap}.ask-form input{width:100%;flex-basis:100%}.ask-form button{width:100%}.status-row{flex-wrap:wrap}.anomaly-item{gap:10px}.anomaly-value{font-size:13px}.anomaly-icon{width:31px;height:31px}.anomaly-item strong{font-size:13px}.annotation-band{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}.section-gap{margin-top:16px}footer{padding-bottom:100px;font-size:10px;line-height:1.6}#toast{bottom:90px;right:16px;left:16px;max-width:none}.field input,.field select,.field textarea{font-size:16px}.device{font-size:14px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}.metric{animation:enter .35s ease-out}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.lucide{width:20px;height:20px;vertical-align:middle;stroke-width:1.75;flex-shrink:0}.brand-mark .lucide{width:27px;height:27px;stroke-width:2.2}.sidebar nav button>span{display:grid;place-items:center}.feature-symbol .lucide{width:54px;height:54px;stroke-width:1.4}.privacy-icon .lucide{width:24px;height:24px}.anomaly-icon .lucide{width:19px;height:19px}.empty-icon .lucide{width:34px;height:34px}.icon-button{display:inline-grid;place-items:center}.mobile-brand .brand-mark .lucide{width:20px;height:20px}@media(max-width:700px){.sidebar nav .lucide{width:22px;height:22px}}

.brand-mark.bulb-brand{background:transparent;color:#a1b9be;width:45px;height:50px;border-radius:0}.bulb-logo{width:40px;height:48px;overflow:visible}.bulb-halo{animation:bulb-glow 7s ease-in-out infinite}.bulb-glass,.bulb-filament,.bulb-rays{animation:bulb-light 7s ease-in-out infinite}.mobile-brand .bulb-brand{width:31px;height:37px;color:#68858d}.mobile-brand .bulb-logo{width:30px;height:36px}.mobile-brand .bulb-glass,.mobile-brand .bulb-filament,.mobile-brand .bulb-rays{stroke:#087c78}.mobile-brand .bulb-glass{fill:#b8dc46}@keyframes bulb-light{0%,12%,100%{opacity:.3}20%,65%{opacity:1}75%,90%{opacity:.35}}@keyframes bulb-glow{0%,12%,100%{opacity:0;transform:scale(.88);transform-origin:center}20%,65%{opacity:1;transform:scale(1)}75%,90%{opacity:.08;transform:scale(.9)}}@media(prefers-reduced-motion:reduce){.bulb-halo,.bulb-glass,.bulb-filament,.bulb-rays{animation:none}.bulb-halo{opacity:.5}}
.lamp-switch{width:28px;height:40px;border:1px solid #82999f;border-radius:8px;padding:5px;background:#e9f0ef;display:grid;place-items:center;flex-shrink:0}.lamp-switch span{height:27px;width:15px;border-radius:3px;background:linear-gradient(#087c78 0 50%,#b6d0cd 50%);box-shadow:0 2px 4px #102b3340;animation:switch-light 7s ease-in-out infinite}.lamp-switch[aria-checked=false] span{transform:rotate(180deg)}@keyframes switch-light{0%,12%,100%{transform:rotate(180deg)}20%,65%{transform:rotate(0)}75%,90%{transform:rotate(180deg)}}.lamp-manual .bulb-halo,.lamp-manual .bulb-glass,.lamp-manual .bulb-filament,.lamp-manual .bulb-rays,.lamp-manual .lamp-switch span{animation:none;opacity:1}.lamp-off .bulb-halo,.lamp-off .bulb-rays{opacity:0}.lamp-off .bulb-glass,.lamp-off .bulb-filament{opacity:.25}.login-lamp{display:flex;justify-content:center;align-items:center;gap:20px;background:#102b33;border-radius:18px;padding:25px;margin-bottom:25px}.login-lamp .bulb-logo{width:60px;height:72px}.login-lamp .brand-mark{width:70px;height:75px}.menu-toggle{color:#a9c1c5;border:1px solid #35505a;border-radius:8px;background:transparent;align-self:flex-end;margin-top:24px;min-width:44px;min-height:44px}.sidebar,.shell{transition:width .25s,margin-left .25s}.menu-collapsed .sidebar{width:90px;padding:25px 18px}.menu-collapsed .brand>span:not(.brand-mark),.menu-collapsed .brand>.lamp-switch,.menu-collapsed .sidebar nav,.menu-collapsed .workspace-label,.menu-collapsed .sidebar-foot{display:none}.menu-collapsed .shell{margin-left:90px}.whatsapp-pill{display:flex;align-items:center;gap:8px;font-size:13px}.login-screen .field{margin-top:16px}.plain-steps{padding-left:23px;color:var(--muted);line-height:1.8}.primary,.secondary,.field,.check,.device,.chat-box{font-size:16px}.anomaly-item p,.status-row p,.metric-note,.small-note{font-size:14px}.login-screen{max-width:520px}@media(max-width:700px){.menu-toggle{display:none}.menu-collapsed .sidebar{width:auto;padding:0}.menu-collapsed .sidebar nav{display:flex}.menu-collapsed .shell{margin-left:0}.whatsapp-pill span{display:none}.whatsapp-pill{padding:8px;min-width:40px}.top-actions{gap:6px}.top-actions #logout{font-size:12px;padding:8px}.page-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.lamp-switch span{animation:none}.sidebar,.shell{transition:none}}
.brand{position:relative;padding-left:4px;gap:8px;font-size:22px}.brand>.lamp-switch{order:-1}.lamp-switch{width:18px;height:25px;border-radius:4px;padding:3px}.lamp-switch span{height:17px;width:9px;border-radius:2px}.login-lamp{gap:9px;background:transparent;padding:0;margin:0 0 22px;justify-content:flex-start}.login-lamp .bulb-logo{width:40px;height:48px}.login-lamp .brand-mark{width:42px;height:50px;color:#7b979d}.auth-page{background:#fff}.auth-page .sidebar,.auth-page .topbar,.auth-page footer{display:none}.auth-page .shell{margin:0}.auth-page main{padding:0;max-width:none;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr)}.auth-intro{background:#102b33;color:white;position:relative;padding:70px clamp(35px,6vw,100px);overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.auth-wordmark{font-size:28px;font-weight:700;margin-bottom:65px}.auth-intro h1{font-size:clamp(36px,4vw,58px);line-height:1.15;margin:18px 0 25px;letter-spacing:-2px;z-index:1}.auth-intro>p{color:#b9cfd3;font-size:18px;max-width:520px;z-index:1}.auth-intro .eyebrow{color:#d5f566;font-size:12px}.auth-features{margin-top:35px;position:relative;z-index:1}.auth-features p{display:flex;align-items:center;gap:12px;color:#c9dcdf;font-size:16px;margin-bottom:18px}.auth-features .lucide{color:#d5f566}.auth-orbit{position:absolute;width:550px;height:550px;border-radius:50%;border:1px solid #446769;right:-280px;bottom:-270px;box-shadow:0 0 0 70px #16404a50,0 0 0 140px #16404a35}.auth-form-wrap{padding:55px clamp(30px,5vw,90px);align-self:center;width:100%;max-width:720px;justify-self:center}.auth-form-wrap .page-heading{margin-bottom:24px}.auth-form-wrap .page-heading h1{font-size:34px}.auth-form-wrap .login-screen{border:0;padding:0;margin:0;max-width:none;box-shadow:none}.auth-form-wrap .login-screen .primary{width:100%}.auth-form-wrap .field{font-size:15px}.auth-form-wrap .notice{font-size:13px;padding:16px}.auth-form-wrap .bulb-halo{opacity:.6}.auth-form-wrap .bulb-glass,.auth-form-wrap .bulb-filament,.auth-form-wrap .bulb-rays{stroke:#087c78}.auth-form-wrap .lamp-switch{width:18px;height:25px}@media(max-width:700px){.auth-page main{display:block}.auth-intro{min-height:auto;padding:32px 24px}.auth-wordmark{margin-bottom:22px;font-size:24px}.auth-intro h1{font-size:31px;letter-spacing:-1px;margin:10px 0 14px}.auth-intro>p{font-size:15px}.auth-features{display:none}.auth-orbit{width:300px;height:300px;right:-180px;bottom:-220px}.auth-form-wrap{padding:28px 24px 40px}.auth-form-wrap .page-heading h1{font-size:28px}.auth-page #toast{bottom:20px}}
.lamp-switch span{transform:none!important;box-shadow:inset 0 1px 2px #102b3325,0 1px 2px #102b3325;animation:switch-colors 7s steps(1,end) infinite;background:linear-gradient(#087c78 0 50%,#fff 50%)}@keyframes switch-colors{0%,12%,100%{background:linear-gradient(#fff 0 50%,#087c78 50%)}20%,65%{background:linear-gradient(#087c78 0 50%,#fff 50%)}75%,90%{background:linear-gradient(#fff 0 50%,#087c78 50%)}}.lamp-manual .lamp-switch span{animation:none;background:linear-gradient(#087c78 0 50%,#fff 50%)}.lamp-manual.lamp-off .lamp-switch span{background:linear-gradient(#fff 0 50%,#087c78 50%)}.lamp-off .auth-form-wrap .bulb-halo{opacity:0}@media(prefers-reduced-motion:reduce){.lamp-switch span{animation:none}}
.auth-wordmark{display:flex;align-items:center;gap:14px}.auth-logo{display:flex;align-items:center;gap:5px}.auth-logo .brand-mark{width:43px;height:50px}.auth-logo .lamp-switch{width:16px;height:23px}.auth-logo .lamp-switch span{width:8px;height:15px}.auth-wordmark>span{letter-spacing:-.7px}@media(max-width:700px){.auth-wordmark{gap:10px}.mobile-brand{gap:5px}.mobile-brand>.lamp-switch{width:14px;height:21px}.mobile-brand>.lamp-switch span{width:7px;height:13px}}
.auth-logo .brand-mark{width:58px;height:70px}.auth-logo .bulb-logo{width:56px;height:67px}.auth-logo{gap:7px}.auth-logo .lamp-switch{width:18px;height:26px}.auth-logo .lamp-switch span{width:9px;height:17px}.auth-wordmark{gap:16px}@media(max-width:700px){.auth-logo .brand-mark{width:48px;height:58px}.auth-logo .bulb-logo{width:46px;height:55px}}
.auth-legal-note{font-size:13px;line-height:1.7}.legal-page{background:#f4f7fa}.legal-page main{display:block;margin:30px auto;padding:45px;max-width:900px;background:#fff;border-radius:20px;min-height:0}.legal-page h1{font-size:32px;margin:25px 0}.legal-page h2{margin:32px 0 15px}.legal-page p{color:#394f58;font-size:16px;line-height:1.85}.legal-table-line{padding:10px;background:#f4f7fa;border-radius:8px}.legal-page a{overflow-wrap:anywhere}@media(max-width:700px){.legal-page main{padding:24px;margin:12px}.legal-page h1{font-size:27px}}
.card-header{flex-wrap:wrap}.card-header>.field{max-width:180px}.card-header .tabs{flex-shrink:0}
@media(max-width:700px){.top-actions{gap:4px}.mobile-brand{font-size:16px}.topbar{padding:14px 12px}.top-actions #logout{font-size:11px;padding:8px}.top-actions .avatar{display:none}.top-actions #refresh{display:none}.mobile-brand .bulb-logo{width:25px;height:30px}.mobile-brand .bulb-brand{width:25px;height:30px}}

@media(min-width:701px){.sidebar{position:fixed}.menu-toggle{position:absolute;top:24px;right:10px;margin:0;min-width:30px;min-height:32px;display:grid;place-items:center}.sidebar .brand{padding-right:18px;gap:7px}.sidebar .brand>.lamp-switch{display:grid;order:-1;width:18px;height:26px;padding:3px}.sidebar .brand>.lamp-switch span{width:10px;height:18px}.menu-collapsed .sidebar{width:110px;padding:70px 12px 25px}.menu-collapsed .brand{padding:0;gap:8px;justify-content:center}.menu-collapsed .brand>.lamp-switch{display:grid}.menu-collapsed .shell{margin-left:110px}.menu-collapsed .menu-toggle{right:38px;top:20px}}
@media(min-width:701px){.sidebar:not(.unused) .brand{margin-top:18px;font-size:21px}.menu-toggle{top:10px;right:12px}.menu-collapsed .brand{margin-top:0}.menu-collapsed .menu-toggle{top:12px}}
.quality-notice{margin:0 0 26px;padding:20px 22px;align-items:flex-start;border:1px solid #efd5a3;max-width:100%;gap:14px}.quality-notice>svg{width:24px;height:24px;flex-shrink:0;margin-top:2px}.quality-notice>div{min-width:0}.quality-notice strong{font-size:17px;margin-bottom:6px}.quality-notice p{font-size:15px;line-height:1.65;margin:0;overflow-wrap:anywhere}.phone-editor{display:grid;grid-template-columns:minmax(150px,1fr) 90px minmax(140px,1.4fr);gap:12px;margin-top:12px}.phone-editor select{width:100%;min-height:48px}.phone-editor label{min-width:0}.saved-phones{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.phone-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.sso-callback{display:block;overflow-wrap:anywhere;padding:12px;border-radius:10px;background:#f1f6f7}.avatar{overflow:hidden;flex-shrink:0;padding:0;display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.google-button{display:flex;width:100%;justify-content:center;align-items:center;gap:12px;margin-top:16px}.save-status{grid-column:1/-1}.country-flag{width:26px;height:18px;vertical-align:middle;border-radius:3px;margin-right:7px;box-shadow:0 0 0 1px #0001}.profile-card input{min-height:48px}@media(max-width:600px){.phone-editor{grid-template-columns:80px minmax(0,1fr)}.phone-editor>.field:first-child{grid-column:1/-1}.quality-notice{padding:17px;gap:10px}.quality-notice strong{font-size:16px}}
.sidebar .sidebar-logout{width:100%;min-height:48px;border:0;transition:background .18s,color .18s}.sidebar-logout>.lucide{width:23px;height:23px;flex-shrink:0}.sidebar-logout>span{font-size:14px;font-weight:550}.sidebar-logout:focus-visible{outline:3px solid #52b7d0;outline-offset:3px}.menu-collapsed .sidebar-foot{display:block;padding:18px 0 0}.menu-collapsed .sidebar-logout{justify-content:center;padding:12px}.menu-collapsed .sidebar-logout span{display:none}
.terms-check{align-items:flex-start}.terms-check>span{display:block;min-width:0;line-height:1.7}.terms-check a{display:inline;overflow-wrap:anywhere}
.remote-login-page main{max-width:1360px;padding:28px 24px}.remote-login-page h1{font-size:32px}.remote-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:20px 0}.remote-toolbar>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.remote-canvas-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 8px 24px #132e3610}.remote-canvas-wrap canvas{width:100%;display:block;touch-action:pan-x pan-y}.remote-keyboard{display:grid;gap:16px;margin-top:20px}.remote-keyboard input{font-size:16px;min-height:48px}@media(max-width:700px){.remote-login-page main{padding:20px 16px}.remote-canvas-wrap canvas{width:1000px;max-width:none}.remote-keyboard .actions{gap:8px}.remote-keyboard .secondary{padding:10px;font-size:14px}}
.remote-cred{display:grid;gap:14px;margin:18px 0;padding:20px}.remote-cred h2{font-size:18px;margin:0}.remote-cred form,.remote-cred #cred-captcha{display:grid;gap:14px}.remote-cred [hidden]{display:none}.remote-cred .field{margin-top:0}.remote-cred .small-note,.remote-cred #cred-captcha p{margin:0}.remote-cred .eyebrow{margin:0}@media(max-width:700px){.remote-login-page .page-heading{display:grid;gap:14px}.remote-login-page .page-heading .primary{width:100%}.remote-login-page h1{font-size:26px}.remote-cred .primary,.remote-cred .secondary{width:100%}.remote-cred{padding:16px}}
.step-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.step-bar span{height:8px;border-radius:99px;background:#d6e2e4}.step-bar span.on{background:var(--teal)}
.remote-cred .eyebrow{font-size:14px;font-weight:700}.remote-cred h2{font-size:24px;line-height:1.25}.step-help{font-size:18px;line-height:1.6;margin:0}.remote-cred .field{font-size:18px}.remote-cred .field input{font-size:20px;min-height:58px;padding:14px}.remote-cred .check{font-size:17px}.remote-cred .check input{width:24px;height:24px}
.primary.big,.secondary.big{font-size:19px;min-height:58px;padding:14px 22px;white-space:normal}.step-list{display:grid;gap:12px;margin:0;padding-left:26px;font-size:19px;line-height:1.5}.step-list li::marker{font-weight:700;color:var(--teal)}
.remote-cred .notice{font-size:17px}.remote-window-title{font-size:22px;margin:26px 0 6px}.remote-keyboard summary{cursor:pointer;font-size:16px;font-weight:600;padding:12px 0}.remote-keyboard{margin-top:18px}.remote-keyboard[open] .field,.remote-keyboard[open] .actions{margin-top:12px}
@media(max-width:700px){.remote-cred h2{font-size:22px}.remote-cred .actions{display:grid;gap:10px}}

.remote-canvas-wrap{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.step-list{font-size:16px;padding-left:22px}.step-help{font-size:16px}.remote-cred h2{font-size:20px}.primary.big,.secondary.big{font-size:17px;min-height:52px}}

.history-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}
.history-table th{background:#f3f7f8;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.history-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.history-table tr:hover td{background:#fafcfc}
.history-dest{font-weight:600;white-space:nowrap;font-family:monospace;font-size:13px}
.history-msg{max-width:320px;overflow-wrap:anywhere;font-size:12px;line-height:1.45;color:var(--ink)}
.history-error{color:#a43824;font-size:12px;margin-top:4px;background:#fff0ec;padding:6px 10px;border-radius:6px;display:inline-block;max-width:100%;overflow-wrap:anywhere;border:1px solid #ffd8cf}
.history-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.history-stat-card{flex:1;min-width:130px;background:#f8fafb;border:1px solid var(--line);border-radius:10px;padding:14px}
.history-stat-val{font-size:22px;font-weight:700;margin-top:4px}

.top-actions .avatar{display:grid;min-width:44px;min-height:44px;border:1px solid var(--line);cursor:pointer}.avatar:hover{background:#dcece9}.remote-screen-controls{margin:14px 0;align-items:center;flex-wrap:wrap}.remote-screen-controls span{font-size:14px;color:var(--muted)}.remote-canvas-wrap.fit-screen canvas{width:100%;max-width:100%}@media(max-width:700px){.top-actions{flex-wrap:wrap}.topbar{height:auto;min-height:96px}.remote-screen-controls button{flex:none}}

#whatsapp-filter{width:100%;max-width:560px;min-height:48px;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font:inherit;background:#fff;color:var(--ink)}

.venom-diagnostic{margin-top:10px}.venom-diagnostic summary{cursor:pointer;font-weight:600}.venom-diagnostic dl{display:grid;gap:5px;margin:12px 0}.venom-diagnostic dt{font-weight:650}.venom-diagnostic dd{margin:0 0 8px;overflow-wrap:anywhere}.venom-diagnostic pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:450px}

.app-update-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:10000;background:#102b33;color:white;border-radius:14px;padding:16px 20px;box-shadow:0 8px 30px #0003;display:flex;align-items:center;gap:16px;width:min(680px,calc(100% - 24px))}.app-update-notice span{line-height:1.5}.app-update-notice button{flex-shrink:0}@media(max-width:600px){.app-update-notice{flex-direction:column;align-items:stretch}}

.trend-up{color:#b34531;font-weight:650}.trend-down{color:#15803d;font-weight:650}.trend-stable{color:var(--muted);font-weight:650}
[data-theme="dark"]{--ink:#e4edf0;--muted:#95abb4;--bg:#0c191d;--line:#203840;--teal:#18b3ab;--lime:#d5f566;--red:#f87171;color-scheme:dark}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] .topbar,[data-theme="dark"] .card,[data-theme="dark"] .welcome-panel,[data-theme="dark"] .metric,[data-theme="dark"] dialog,[data-theme="dark"] select,[data-theme="dark"] .secondary,[data-theme="dark"] .field input,[data-theme="dark"] .field textarea,[data-theme="dark"] .ask-form input,[data-theme="dark"] .room summary,[data-theme="dark"] .chip,[data-theme="dark"] #whatsapp-filter{background:#13262c;color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .metric:not(.emphasis){background:#13262c;border-color:var(--line)}
[data-theme="dark"] .tabs{background:#0e1e23}
[data-theme="dark"] .tabs button.active{background:#1b363f;color:#fff}
[data-theme="dark"] th{background:#0e1e23;color:var(--muted)}
[data-theme="dark"] td{border-bottom-color:var(--line)}
[data-theme="dark"] .chat-box,[data-theme="dark"] .annotation-band,[data-theme="dark"] .recommendation,[data-theme="dark"] .history-error{background:#0e1e23;color:var(--ink)}
[data-theme="dark"] .notice{background:#0f3034;color:#a8ede8}
[data-theme="dark"] .notice.warning{background:#362610;color:#fed793}
[data-theme="dark"] .notice.error{background:#3b1814;color:#fca5a5}
[data-theme="dark"] .insight-accent{background:#213316;color:#d9f99d}
[data-theme="dark"] .insight-accent p,[data-theme="dark"] .insight-accent .eyebrow{color:#d9f99d}
[data-theme="dark"] .icon-button{color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .icon-button:hover{background:#1a3239}
[data-theme="dark"] .sidebar{background:#102b33;border-right:1px solid #1c343b}
@media(max-width:700px){
  [data-theme="dark"] .sidebar{background:#102b33;border-top:1px solid #1c343b}
  [data-theme="dark"] .sidebar nav button{color:#95abb4}
  [data-theme="dark"] .sidebar nav button.active{background:#1b363f;color:var(--lime)}
}
[data-theme="dark"] .chart-grid{stroke:#1e353d}
[data-theme="dark"] .chart-label{fill:#8299a3}
[data-theme="dark"] .chart-empty{background:repeating-linear-gradient(to top,transparent 0,transparent 58px,#142930 59px,#142930 60px)}
[data-theme="dark"] .room summary{background:#13262c}
[data-theme="dark"] .auth-page{background:#0a1518}
[data-theme="dark"] .history-table th{background:#0e1e23}
[data-theme="dark"] .history-table tr:hover td{background:#183038}
[data-theme="dark"] .history-stat-card{background:#13262c;border-color:var(--line)}
[data-theme="dark"] .trend-up{color:#f87171}
[data-theme="dark"] .trend-down{color:#4ade80}
.savings-card{background:linear-gradient(135deg,#0a4440 0%,#102b33 100%);color:#fff;border:none}
.savings-card h2,.savings-card h3{color:#fff}
.savings-card p{color:#c5dbdf}
.savings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.savings-item{background:#ffffff15;padding:16px;border-radius:12px;border:1px solid #ffffff20}
.savings-item strong{display:block;font-size:20px;color:var(--lime);margin:4px 0}
.savings-item p{font-size:12px;margin:0;line-height:1.45}
@media(max-width:700px){.savings-grid{grid-template-columns:1fr}}
.captcha-focus-wrap{position:relative;overflow:hidden;border-radius:16px;border:2px solid var(--teal);background:#000;box-shadow:0 8px 30px #0004;touch-action:none}
.captcha-focus-wrap canvas{display:block;width:100%;cursor:crosshair}
.captcha-focus-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.focus-eyebrow{color:var(--teal)}
#focus-dialog h2{margin:4px 0 0}
#close-focus-dialog{padding:6px 12px}
.focus-step-help{font-size:15px;margin-bottom:12px}
.offline-bar{position:fixed;top:0;left:0;right:0;z-index:9999;background:#b34531;color:#fff;text-align:center;padding:10px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 2px 10px #0003;animation:slideDown .3s ease-out}
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.backup-card{display:grid;gap:16px}
.report-modal{width:min(920px,calc(100vw - 32px));max-height:90vh;overflow-y:auto;padding:28px;border-radius:18px}
.report-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.printable-report{display:grid;gap:20px}
.printable-report table{font-size:13px}
.printable-report th{background:#f4f7f8;font-weight:600;padding:8px 10px}
.printable-report td{padding:8px 10px}
@media print{
  body{background:#fff!important;color:#000!important}
  .sidebar,.topbar,footer,.top-actions,.actions,.tabs,.no-print,button,.icon-button,#toast,.offline-bar,.app-update-notice,.report-toolbar,.floating-support-btn{display:none!important}
  .shell{margin:0!important;padding:0!important}
  main{padding:0!important;max-width:100%!important;min-height:0!important}
  body.printing-dossier .shell,
  body.printing-dossier main,
  body.printing-dossier aside {
    display: none !important;
  }
  dialog{position:static!important;width:100%!important;max-width:100%!important;border:none!important;box-shadow:none!important;padding:0!important;max-height:none!important;overflow:visible!important}
  dialog::backdrop{display:none!important}
  .printable-report{display:block!important;padding:0!important}
  .printable-report table{width:100%!important;border-collapse:collapse!important}
  @page {
    size: A4 portrait;
    margin: 8mm 12mm;
  }
  .official-dossier-page {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 10pt !important;
    line-height: 1.35 !important;
    color: #000 !important;
    background: #fff !important;
  }
  .official-dossier-page .dossier-block {
    page-break-inside: avoid !important;
    margin-bottom: 8px !important;
  }
}

/* Laudo Timbrado Oficial Luz Clara - Componente Visual */
.official-dossier-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: #0f172a;
  background: #fff;
  line-height: 1.35;
  font-size: 13px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}
.official-dossier-page * { box-sizing: border-box; }
.dossier-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #0f766e;
  padding-bottom: 12px;
  margin-bottom: 14px;
  gap: 16px;
}
.dossier-brand-group {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dossier-brand-group svg {
  width: 40px;
  height: 48px;
  flex-shrink: 0;
}
.dossier-org-title {
  font-size: 16px;
  font-weight: 800;
  color: #0f766e;
  letter-spacing: -0.2px;
  margin: 0;
  line-height: 1.2;
}
.dossier-org-sub {
  font-size: 11px;
  color: #475569;
  margin: 2px 0 0;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.dossier-meta-box {
  text-align: right;
  font-size: 11px;
  color: #334155;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  padding: 6px 12px;
  border-radius: 8px;
  white-space: nowrap;
}
.dossier-id-badge {
  color: #0f766e;
  font-weight: 800;
  font-family: monospace;
}
.dossier-recipient-banner {
  background: #f1f5f9;
  border-left: 4px solid #0f766e;
  padding: 10px 14px;
  margin-bottom: 14px;
  border-radius: 0 8px 8px 0;
}
.recipient-label {
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.recipient-name {
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
  margin: 2px 0;
}
.recipient-dept {
  font-size: 12px;
  color: #334155;
  font-weight: 600;
}
.recipient-note {
  font-size: 11px;
  color: #64748b;
  margin-top: 2px;
}
.dossier-block {
  margin-bottom: 12px;
}
.dossier-block-title {
  font-size: 12px;
  font-weight: 800;
  color: #0f766e;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 4px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.dossier-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  font-size: 12px;
  background: #f8fafc;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.dossier-value-highlight {
  font-size: 14px;
  font-weight: 800;
  color: #047857;
}
.dossier-text-p {
  font-size: 12px;
  color: #1e293b;
  margin: 4px 0 8px;
  line-height: 1.45;
  text-align: justify;
}
.dossier-telemetry-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  margin: 6px 0;
}
.dossier-telemetry-table th {
  background: #e2e8f0;
  padding: 5px 8px;
  text-align: left;
  font-weight: 700;
  color: #334155;
}
.dossier-telemetry-table td {
  padding: 5px 8px;
  border-bottom: 1px solid #e2e8f0;
  color: #1e293b;
}
.dossier-deadlines-box {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 11px;
  color: #78350f;
  margin-top: 6px;
  line-height: 1.4;
}
.dossier-deadlines-box ul {
  margin: 4px 0 0 16px;
  padding: 0;
}
.dossier-deadlines-box li {
  margin-bottom: 2px;
}
.dossier-stamp-container {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}
.dossier-stamp-box {
  border: 2px dashed #0f766e;
  border-radius: 8px;
  padding: 8px 14px;
  background: #f0fdfa;
  font-size: 10px;
  color: #0f766e;
  max-width: 360px;
  text-align: right;
  line-height: 1.35;
}
.stamp-seal {
  font-weight: 800;
  letter-spacing: 0.5px;
  font-size: 11px;
}
.stamp-body strong {
  display: block;
  font-size: 11px;
  margin-bottom: 2px;
}
/* Podium & Discovery Lab Styles */
.podium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}
@media(max-width:960px){.podium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.podium-grid{grid-template-columns:1fr}}
.podium-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s}
.podium-card:hover{transform:translateY(-2px)}
.podium-card.gold{border-top:4px solid #f59e0b;background:linear-gradient(180deg,#fffdf7 0%,#fff 30%)}
.podium-card.silver{border-top:4px solid #94a3b8;background:linear-gradient(180deg,#f8fafc 0%,#fff 30%)}
.podium-card.bronze{border-top:4px solid #d97706;background:linear-gradient(180deg,#fffbeb 0%,#fff 30%)}
.podium-card.other{border-top:4px solid var(--teal);background:linear-gradient(180deg,#f0fdf4 0%,#fff 30%)}
.podium-badge{font-size:24px;margin-bottom:8px}
.podium-title{font-size:16px;font-weight:700;margin:0 0 6px;color:var(--ink)}
.podium-cost{font-size:26px;font-weight:700;letter-spacing:-1px;color:var(--ink);margin:8px 0 2px}
.podium-pct{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:12px}
.podium-tip{font-size:12px;color:var(--muted);background:#f4f7fa;padding:10px;border-radius:10px;line-height:1.45;margin-top:auto}
.live-test-card{background:linear-gradient(135deg,#0d3835 0%,#102b33 100%);color:#fff;border-radius:var(--radius);padding:28px;position:relative;overflow:hidden;box-shadow:0 12px 36px #102b3325}
.live-test-card h2,.live-test-card h3{color:#fff}
.live-test-card p{color:#d0e6e7}
.live-pulse{display:inline-flex;align-items:center;gap:8px;background:#ffffff20;color:var(--lime);padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600}
.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(213,245,102,0.7);animation:pulse-glow 1.8s infinite}
@keyframes pulse-glow{0%{box-shadow:0 0 0 0 rgba(213,245,102,0.7)}70%{box-shadow:0 0 0 10px rgba(213,245,102,0)}100%{box-shadow:0 0 0 0 rgba(213,245,102,0)}}
.timer-huge{font-size:clamp(44px,7vw,64px);font-weight:800;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#fff;margin:16px 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.test-prog-track{background:rgba(255,255,255,0.18);border-radius:99px;height:14px;overflow:hidden;margin:16px 0;position:relative}
.test-prog-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--lime));border-radius:99px;transition:width .5s ease}
.celebrate-card{background:linear-gradient(135deg,#134e4a 0%,#065f46 100%);color:#fff;border-radius:var(--radius);padding:30px;text-align:center;box-shadow:0 12px 36px #065f4630}
.celebrate-card h2{color:#fff;font-size:26px;margin:12px 0 8px}
.celebrate-card p{color:#d1fae5;font-size:15px;max-width:600px;margin:0 auto 16px;line-height:1.6}
[data-theme="dark"] .podium-card{background:#13262c;border-color:var(--line)}
[data-theme="dark"] .podium-title,[data-theme="dark"] .podium-cost{color:var(--ink)}
[data-theme="dark"] .podium-tip{background:#0e1e23;color:var(--muted)}

.appliance-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:12px 0}
.appliance-chip-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;user-select:none;transition:all .18s ease}
.appliance-chip-card:hover{border-color:var(--teal);background:#f0fdf4}
.appliance-chip-card.selected{border-color:var(--teal);background:#ecfdf5;box-shadow:0 2px 8px rgba(13,148,136,0.15)}
.appliance-chip-card input[type="checkbox"]{width:18px;height:18px;accent-color:var(--teal);cursor:pointer;margin:0}
.appliance-chip-info{display:flex;flex-direction:column;flex:1;min-width:0}
.appliance-chip-title{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appliance-chip-meta{font-size:11px;color:var(--muted);margin-top:2px}
.combo-summary-banner{background:linear-gradient(135deg,#f0fdf4 0%,#e6fffa 100%);border:1px solid #99f6e4;border-radius:12px;padding:16px;margin:14px 0}
.combo-summary-title{font-size:14px;font-weight:700;color:#0f766e;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.combo-pills-wrap{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.combo-badge{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #0d948840;color:#0f766e;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600}
.combo-badge button{background:none;border:none;padding:0;cursor:pointer;color:#0f766e;font-size:14px;font-weight:700;line-height:1}
.combo-stats{font-size:13px;color:#134e4a;margin-top:8px;line-height:1.5}
[data-theme="dark"] .appliance-chip-card{background:#112228;border-color:var(--line)}
[data-theme="dark"] .appliance-chip-card:hover{background:#162f36}
[data-theme="dark"] .appliance-chip-card.selected{background:#133b3b;border-color:var(--teal)}
[data-theme="dark"] .combo-summary-banner{background:#0e2e2a;border-color:#115e59}
[data-theme="dark"] .combo-summary-title{color:#5eead4}
[data-theme="dark"] .combo-badge{background:#13262c;border-color:#115e59;color:#5eead4}
[data-theme="dark"] .combo-badge button{color:#5eead4}
[data-theme="dark"] .combo-stats{color:#ccfbf1}

/* Navegação em Abas (Tabs) */
.tabs-nav{display:flex;gap:8px;border-bottom:2px solid var(--line);margin:16px 0 24px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.tab-btn{background:none;border:none;border-bottom:3px solid transparent;padding:10px 16px;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;border-radius:8px 8px 0 0;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all .15s ease}
.tab-btn:hover{color:var(--teal);background:rgba(13,148,136,0.06)}
.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal);background:rgba(13,148,136,0.1)}
.tab-pane{display:none}
.tab-pane.active{display:block;animation:fadeInTab .2s ease-in-out}
@keyframes fadeInTab{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* CRM & Métricas de Vendas Stripe */
.crm-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:16px 0 24px}
.crm-stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,0.03)}
.crm-stat-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.5px}
.crm-stat-val{font-size:28px;font-weight:900;color:var(--ink);margin:6px 0 2px}
.crm-stat-hint{font-size:12px;color:var(--muted)}
.crm-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase}
.crm-badge.paid,.crm-badge.active{background:#d1fae5;color:#065f46}
.crm-badge.open,.crm-badge.abandoned{background:#fef3c7;color:#92400e}
.crm-badge.failed,.crm-badge.past_due{background:#fee2e2;color:#991b1b}
.crm-badge.expired,.crm-badge.canceled{background:#f3f4f6;color:#4b5563}
.crm-recover-btn{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s ease}
.crm-recover-btn:hover{transform:scale(1.03);background:#20ba5a}
.crm-table{width:100%;border-collapse:collapse;margin:14px 0}
.crm-table th,.crm-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
.crm-table th{background:#f8fafb;font-weight:700;color:var(--ink)}

[data-theme="dark"] .crm-stat-card{background:#112228}
[data-theme="dark"] .crm-table th{background:#162f36}
[data-theme="dark"] .crm-badge.paid,[data-theme="dark"] .crm-badge.active{background:#064e3b;color:#a7f3d0}
[data-theme="dark"] .crm-badge.open,[data-theme="dark"] .crm-badge.abandoned{background:#78350f;color:#fde68a}
[data-theme="dark"] .crm-badge.failed,[data-theme="dark"] .crm-badge.past_due{background:#7f1d1d;color:#fecaca}

/* Estilos Globais para Inputs e Campos de Texto */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="url"],
input:not([type]) {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  font-family: inherit;
  min-height: 44px;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input:not([type]):focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(8, 124, 120, 0.15);
}

[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input:not([type]) {
  background: #13262c;
  color: var(--ink);
  border-color: var(--line);
}

/* Barra de Aparelho Personalizado / Outros Aparelhos */
.custom-device-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 14px 0 18px;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #f8fafb;
  border: 1px dashed var(--line);
  border-radius: 12px;
}
.custom-device-input-wrap {
  flex: 1;
  min-width: 220px;
  display: flex;
  align-items: center;
}
.custom-device-input-wrap input {
  width: 100%;
}
.custom-device-watts-wrap {
  width: 150px;
  position: relative;
  display: flex;
  align-items: center;
}
.custom-device-watts-wrap input {
  width: 100%;
  padding-right: 32px;
}
.custom-device-watts-unit {
  position: absolute;
  right: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  pointer-events: none;
}
.custom-device-bar button.secondary {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  border-radius: 10px;
  white-space: nowrap;
}
.custom-device-bar button.secondary:hover {
  border-color: var(--teal);
  color: var(--teal);
  background: #f0fdf4;
}
[data-theme="dark"] .custom-device-bar {
  background: #112228;
  border-color: var(--line);
}
[data-theme="dark"] .custom-device-bar button.secondary:hover {
  background: #162f36;
}

/* Banner Global de Conta Cemig Desconectada */
.cemig-alert-bar {
  background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
  color: #fff;
  padding: 14px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 2px solid #b91c1c;
  box-shadow: 0 4px 14px rgba(185, 28, 28, 0.25);
  position: sticky;
  top: 96px;
  z-index: 99;
  animation: slideDownAlert .25s ease-out;
}
@keyframes slideDownAlert {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.cemig-alert-content {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.cemig-alert-badge {
  background: rgba(255,255,255,0.18);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.cemig-alert-badge .lucide {
  width: 24px;
  height: 24px;
  color: #fef08a;
}
.cemig-alert-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cemig-alert-text strong {
  font-size: 15px;
  font-weight: 750;
  color: #fff;
}
.cemig-alert-text span {
  font-size: 13px;
  color: #fecaca;
  line-height: 1.4;
}
.btn-reconnect-pulse {
  background: #fef08a;
  color: #7f1d1d;
  font-weight: 750;
  font-size: 13px;
  padding: 10px 18px;
  border-radius: 99px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  transition: all .18s ease;
  animation: pulseButton 2.5s infinite;
}
@keyframes pulseButton {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(254, 240, 138, 0.5); }
  70% { transform: scale(1.03); box-shadow: 0 0 0 8px rgba(254, 240, 138, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(254, 240, 138, 0); }
}
.btn-reconnect-pulse:hover {
  background: #fff;
  color: #991b1b;
  transform: translateY(-2px);
}
@media (max-width: 700px) {
  .cemig-alert-bar {
    top: 105px;
    padding: 12px 16px;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
  }
  .btn-reconnect-pulse {
    justify-content: center;
    width: 100%;
  }
}

/* Espaçamento e Estilo do Banner de Sincronização Automática 10 min */
.sync-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(37, 101, 72, 0.06);
  border: 1px solid rgba(37, 101, 72, 0.18);
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 13px;
  color: var(--ink);
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 24px !important; /* Espaçamento confortável em cima e embaixo para não colar nas métricas */
}
[data-theme="dark"] .sync-banner {
  background: rgba(37, 101, 72, 0.15);
  border-color: rgba(37, 101, 72, 0.35);
  color: var(--ink);
}

/* Indicador de Sincronização Verbosa em Tempo Real no Topo Esquerdo */
.topbar-sync-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, rgba(8, 124, 120, 0.12) 0%, rgba(213, 245, 102, 0.16) 100%);
  border: 1px solid rgba(8, 124, 120, 0.38);
  border-radius: 12px;
  padding: 6px 14px;
  max-width: 360px;
  box-shadow: 0 2px 10px rgba(8, 124, 120, 0.1);
  animation: pulse-sync-badge 2.4s infinite ease-in-out;
  transition: all 0.3s ease;
}
@keyframes pulse-sync-badge {
  0%, 100% { border-color: rgba(8, 124, 120, 0.38); box-shadow: 0 2px 8px rgba(8, 124, 120, 0.08); }
  50% { border-color: rgba(8, 124, 120, 0.8); box-shadow: 0 2px 14px rgba(8, 124, 120, 0.24); }
}
.topbar-sync-icon-wrap {
  display: grid;
  place-items: center;
  color: var(--teal, #087c78);
}
.topbar-sync-spin {
  animation: spin-cw 1.3s linear infinite;
  width: 17px;
  height: 17px;
}
@keyframes spin-cw {
  100% { transform: rotate(360deg); }
}
.topbar-sync-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.topbar-sync-line1 {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
}
.topbar-sync-line1 strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink, #102b33);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.topbar-sync-pct {
  font-size: 11px;
  font-weight: 800;
  background: var(--teal, #087c78);
  color: #fff;
  padding: 1px 6px;
  border-radius: 6px;
  letter-spacing: 0.3px;
}
.topbar-sync-detail {
  font-size: 11px;
  color: var(--muted, #64748b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}
[data-theme="dark"] .topbar-sync-badge {
  background: linear-gradient(135deg, rgba(8, 124, 120, 0.28) 0%, rgba(213, 245, 102, 0.1) 100%);
  border-color: rgba(8, 124, 120, 0.55);
}
[data-theme="dark"] .topbar-sync-line1 strong {
  color: #f1f8f7;
}
[data-theme="dark"] .topbar-sync-detail {
  color: #9ab4b9;
}
@media(max-width: 1150px) {
  .topbar-sync-badge {
    max-width: 260px;
    padding: 5px 10px;
  }
  .topbar-sync-line1 strong {
    max-width: 140px;
    font-size: 12px;
  }
  .topbar-sync-detail {
    max-width: 180px;
    font-size: 10px;
  }
}
@media(max-width: 700px) {
  .topbar-sync-badge {
    max-width: 100%;
    width: 100%;
    order: 4;
    padding: 8px 12px;
  }
  .topbar-sync-line1 strong {
    max-width: 200px;
  }
  .topbar-sync-detail {
    max-width: 240px;
  }
}

/* Status de sincronização verboso no botão à direita */
.sync-label.syncing {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: var(--teal, #087c78) !important;
  font-weight: 600;
  background: rgba(8, 124, 120, 0.1);
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(8, 124, 120, 0.3);
  font-size: 12px;
  white-space: nowrap;
}
[data-theme="dark"] .sync-label.syncing {
  background: rgba(8, 124, 120, 0.25);
  color: #a4eee6 !important;
  border-color: rgba(8, 124, 120, 0.5);
}

/* Badge de Sessão Cemig no Topo */
.cemig-session-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 99px;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--ink);
  cursor: default;
  transition: all .15s ease;
  white-space: nowrap;
}
.cemig-session-badge .session-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.cemig-session-badge.active {
  background: rgba(8, 124, 120, 0.08);
  border-color: rgba(8, 124, 120, 0.25);
  color: #087c78;
}
.cemig-session-badge.active .session-dot {
  background: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
.cemig-session-badge.expired {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.25);
  color: #b91c1c;
  cursor: pointer;
}
.cemig-session-badge.expired .session-dot {
  background: #ef4444;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
}
[data-theme="dark"] .cemig-session-badge {
  background: #122228;
  border-color: #1e3942;
  color: #d0e6e7;
}
[data-theme="dark"] .cemig-session-badge.active {
  background: rgba(8, 124, 120, 0.2);
  border-color: rgba(8, 124, 120, 0.4);
  color: #5eead4;
}
[data-theme="dark"] .cemig-session-badge.expired {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.35);
  color: #fca5a5;
}

/* Banner de progresso vivo no Dashboard */
.sync-banner.active-sync {
  background: linear-gradient(135deg, rgba(8, 124, 120, 0.08) 0%, rgba(213, 245, 102, 0.12) 100%);
  border: 1px solid rgba(8, 124, 120, 0.4);
  box-shadow: 0 4px 18px rgba(8, 124, 120, 0.09);
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 18px;
}
.sync-banner-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.sync-banner-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.pill-sync-live {
  background: var(--teal, #087c78) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
}
.sync-banner-pct {
  font-size: 15px;
  font-weight: 800;
  color: var(--teal, #087c78);
  letter-spacing: -0.5px;
}
.sync-prog-track {
  width: 100%;
  height: 8px;
  background: rgba(8, 124, 120, 0.14);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.sync-prog-fill {
  height: 100%;
  background: linear-gradient(90deg, #087c78 0%, #10b981 100%);
  border-radius: 999px;
  transition: width 0.35s ease-out;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}
.sync-banner-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 12px;
  flex-wrap: wrap;
  gap: 6px;
}
.sync-banner-detail {
  color: var(--ink, #102b33);
  font-weight: 600;
}
[data-theme="dark"] .sync-banner.active-sync {
  background: linear-gradient(135deg, rgba(8, 124, 120, 0.2) 0%, rgba(213, 245, 102, 0.06) 100%);
  border-color: rgba(8, 124, 120, 0.5);
}
[data-theme="dark"] .sync-banner-detail {
  color: #e2f4f2;
}

/* ==========================================================================
   Central de Economia & Commercial Suite Styles
   ========================================================================== */
.comm-header {
  margin-bottom: 24px;
}
.comm-header h1 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 26px;
  margin: 0 0 6px 0;
}
.comm-badge-tag {
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--lime, #d5f566);
  color: #102b33;
  text-transform: uppercase;
}
.comm-subtitle {
  color: var(--muted, #64748b);
  margin: 0;
  font-size: 15px;
}
.comm-nav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border, rgba(16, 43, 51, 0.12));
}
.comm-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--ink, #102b33);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.comm-tab-btn:hover {
  background: rgba(8, 124, 120, 0.08);
}
.comm-tab-btn.active {
  background: var(--teal, #087c78);
  color: #ffffff;
  border-color: var(--teal, #087c78);
  box-shadow: 0 2px 8px rgba(8, 124, 120, 0.25);
}
.comm-tab-btn i {
  width: 18px;
  height: 18px;
}

/* Placar de ROI Líquido */
.roi-hero-card {
  background: linear-gradient(135deg, #102b33 0%, #0d4648 100%);
  color: #ffffff;
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 24px;
  box-shadow: 0 8px 24px rgba(16, 43, 51, 0.18);
  position: relative;
  overflow: hidden;
}
.roi-hero-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.roi-title-wrap h2 {
  margin: 0 0 4px 0;
  font-size: 22px;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
}
.roi-title-wrap p {
  margin: 0;
  color: #a4c9c7;
  font-size: 14px;
}
.roi-multiplier-badge {
  background: var(--lime, #d5f566);
  color: #102b33;
  font-size: 14px;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 8px rgba(213, 245, 102, 0.35);
}
.roi-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.roi-kpi-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 16px;
  backdrop-filter: blur(8px);
}
.roi-kpi-label {
  font-size: 13px;
  color: #a4c9c7;
  margin-bottom: 6px;
  font-weight: 500;
}
.roi-kpi-value {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.5px;
}
.roi-kpi-value.profit {
  color: var(--lime, #d5f566);
}
.roi-kpi-sub {
  font-size: 12px;
  color: #79a5a3;
  margin-top: 4px;
}
.roi-breakdown-box {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  padding: 18px;
}
.roi-breakdown-title {
  font-size: 14px;
  font-weight: 700;
  color: #e2f4f2;
  margin-bottom: 12px;
}
.roi-breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.roi-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #d1ecea;
}
.roi-breakdown-val {
  font-weight: 700;
  color: var(--lime, #d5f566);
}
.roi-verdict-banner {
  margin-top: 18px;
  background: rgba(213, 245, 102, 0.12);
  border-left: 4px solid var(--lime, #d5f566);
  padding: 10px 14px;
  border-radius: 0 8px 8px 0;
  font-size: 14px;
  color: #e6f7aa;
}

/* Auditoria de Faturas */
.comm-section {
  margin-bottom: 36px;
}
.comm-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.comm-section-title h3 {
  font-size: 18px;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink, #102b33);
}
.audit-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.audit-bill-card {
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  transition: box-shadow 0.2s;
}
.audit-bill-card:hover {
  box-shadow: 0 4px 14px rgba(16, 43, 51, 0.08);
}
.audit-bill-card.has-issue {
  border-left: 4px solid #ef4444;
  background: rgba(239, 68, 68, 0.03);
}
.audit-bill-card.is-ok {
  border-left: 4px solid #10b981;
}
.audit-bill-info h4 {
  margin: 0 0 4px 0;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.audit-bill-info p {
  margin: 0;
  font-size: 13px;
  color: var(--muted, #64748b);
}
.audit-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
}
.audit-status-badge.danger {
  background: #fee2e2;
  color: #b91c1c;
}
.audit-status-badge.success {
  background: #dcfce7;
  color: #15803d;
}
.audit-bill-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Modais de Dossiê e Contestação */
.dossier-preview-box {
  background: var(--surface-alt, #f8fafc);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 8px;
  padding: 16px;
  font-family: monospace;
  font-size: 13px;
  white-space: pre-wrap;
  max-height: 380px;
  overflow-y: auto;
  line-height: 1.5;
  color: var(--ink, #102b33);
  margin: 16px 0;
}

/* Score de Eficiência */
.score-hero-container {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .score-hero-container {
    grid-template-columns: 1fr;
  }
}
.score-dial-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  padding-right: 20px;
}
@media (max-width: 768px) {
  .score-dial-wrap {
    border-right: none;
    border-bottom: 1px solid var(--border, rgba(16, 43, 51, 0.12));
    padding-bottom: 20px;
    padding-right: 0;
  }
}
.score-number {
  font-size: 54px;
  font-weight: 900;
  color: var(--teal, #087c78);
  line-height: 1;
  letter-spacing: -2px;
}
.score-denom {
  font-size: 16px;
  color: var(--muted, #64748b);
  font-weight: 500;
  margin-top: 4px;
}
.score-tier-pill {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(8, 124, 120, 0.12);
  color: var(--teal, #087c78);
}
.score-percentile-tag {
  font-size: 12px;
  color: var(--muted, #64748b);
  margin-top: 8px;
}
.score-details-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.score-factor-item {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid rgba(16, 43, 51, 0.06);
  font-size: 14px;
}
.score-factor-item:last-child {
  border-bottom: none;
}
.score-points-pill {
  font-weight: 700;
  color: #10b981;
}

/* Batalhas Gás vs Elétrico */
.battles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.battle-card {
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
}
.battle-header {
  margin-bottom: 14px;
}
.battle-header h4 {
  margin: 0 0 4px 0;
  font-size: 16px;
  color: var(--ink, #102b33);
}
.battle-task {
  font-size: 12px;
  color: var(--muted, #64748b);
  margin: 0;
}
.battle-versus-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface-alt, #f8fafc);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 14px;
}
.battle-contestant {
  flex: 1;
}
.battle-contestant-label {
  font-size: 11px;
  color: var(--muted, #64748b);
  text-transform: uppercase;
  margin-bottom: 2px;
}
.battle-contestant-cost {
  font-size: 18px;
  font-weight: 800;
  color: var(--ink, #102b33);
}
.battle-vs-badge {
  font-size: 12px;
  font-weight: 900;
  color: #94a3b8;
  padding: 0 8px;
}
.battle-winner-bar {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 8px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.battle-verdict {
  font-size: 12px;
  color: var(--muted, #64748b);
  line-height: 1.4;
  margin: 0;
}

/* Modos Férias e Airbnb */
.modes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.mode-card {
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 14px;
  padding: 22px;
}
.mode-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.mode-header h4 {
  margin: 0;
  font-size: 17px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mode-status-pill {
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
}
.mode-status-pill.active {
  background: #dcfce7;
  color: #15803d;
}
.mode-status-pill.inactive {
  background: #f1f5f9;
  color: #64748b;
}

/* Desafio 21 Dias */
.challenge-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.challenge-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border, rgba(16, 43, 51, 0.12));
  border-radius: 12px;
  padding: 14px 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.challenge-item:hover {
  background: rgba(8, 124, 120, 0.04);
}
.challenge-item.done {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.05);
}
.challenge-check {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  border: 2px solid #cbd5e1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  color: transparent;
}
.challenge-item.done .challenge-check {
  background: #10b981;
  border-color: #10b981;
  color: #ffffff;
}
.challenge-body {
  flex: 1;
}
.challenge-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 2px;
  color: var(--ink, #102b33);
}
.challenge-desc {
  font-size: 13px;
  color: var(--muted, #64748b);
  margin: 0;
}
.challenge-reward {
  font-size: 13px;
  font-weight: 700;
  color: var(--teal, #087c78);
  white-space: nowrap;
}

/* Checkout Transformation Components */
.ck-radio-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; }
.ck-radio-card { position: relative; background: var(--ck-card); border: 2px solid var(--line); border-radius: 14px; padding: 16px; cursor: pointer; transition: all .2s ease; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.ck-radio-card:hover { border-color: var(--teal); background: rgba(8, 124, 120, 0.02); }
.ck-radio-card.active { border-color: var(--teal); background: rgba(8, 124, 120, 0.08); box-shadow: 0 4px 12px rgba(8, 124, 120, 0.1); }
.ck-radio-card input { position: absolute; opacity: 0; }
.ck-radio-card img { width: 48px; height: 48px; object-fit: contain; margin-bottom: 4px; }
.ck-radio-card span { font-weight: 700; font-size: 14px; color: var(--ink); }

.ck-tooltip { position: relative; display: inline-block; cursor: help; margin-left: 4px; }
.ck-tooltip .tooltip-text { visibility: hidden; width: 200px; background-color: var(--ink); color: #fff; text-align: center; border-radius: 6px; padding: 8px; position: absolute; z-index: 100; bottom: 125%; left: 50%; transform: translateX(-50%); opacity: 0; transition: opacity .2s; font-size: 11px; font-weight: normal; line-height: 1.4; pointer-events: none; }
.ck-tooltip:hover .tooltip-text { visibility: visible; opacity: 1; }

.ck-modal { display: none; position: fixed; inset: 0; z-index: 1000; background: rgba(16, 43, 51, 0.8); backdrop-filter: blur(4px); align-items: center; justify-content: center; padding: 20px; }
.ck-modal.active { display: flex; }
.ck-modal-content { background: var(--bg); border-radius: 24px; padding: 32px; width: 100%; max-width: 900px; max-height: 90vh; overflow-y: auto; position: relative; border: 1px solid var(--line); }
.ck-modal-close { position: absolute; top: 20px; right: 20px; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--muted); }

.ck-accordion { margin-top: 40px; border-top: 1px solid var(--line); padding-top: 20px; }
.ck-accordion-item { border-bottom: 1px solid var(--line); }
.ck-accordion-trigger { width: 100%; text-align: left; padding: 16px 0; background: none; border: none; display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 15px; color: var(--ink); cursor: pointer; }
.ck-accordion-content { max-height: 0; overflow: hidden; transition: max-height .3s ease-out; font-size: 14px; color: var(--muted); line-height: 1.6; }
.ck-accordion-item.active .ck-accordion-content { max-height: 300px; padding-bottom: 16px; }
.ck-accordion-trigger i { transition: transform .3s ease; }
.ck-accordion-item.active .ck-accordion-trigger i { transform: rotate(180deg); }

.ck-aside-trust { transition: opacity .3s ease; }
.ck-aside-summary { display: none; }
.ck-aside-summary.active { display: block; }

/* Espaçamento elegante para banners de destaque no dashboard */
.dash-promo-banner {
  border: none !important;
  border-radius: 14px;
  padding: 20px 24px;
  margin: 24px 0 !important;
  color: #fff;
  box-shadow: 0 4px 16px rgba(16, 43, 51, 0.08);
}
.overview-metrics {
  margin: 24px 0 !important;
}
.overview-grid {
  margin-top: 24px !important;
}
@media (max-width: 700px) {
  .dash-promo-banner {
    padding: 16px 18px;
    margin: 18px 0 !important;
  }
  .overview-metrics {
    margin: 18px 0 !important;
  }
  .overview-grid {
    margin-top: 18px !important;
  }
}
[data-theme="dark"] .dash-promo-banner {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Seletor de Distribuidoras no Modal de Conexão */
.dist-selector-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}
@media (max-width: 600px) {
  .dist-selector-grid {
    grid-template-columns: 1fr;
  }
}
.dist-opt {
  border: 1px solid var(--border, rgba(16, 43, 51, 0.15));
  border-radius: 10px;
  padding: 12px;
  cursor: pointer;
  background: var(--surface, #ffffff);
  transition: all 0.2s ease;
}
.dist-opt:hover {
  border-color: var(--teal, #087c78);
  background: rgba(8, 124, 120, 0.03);
}
.dist-opt.active {
  border-color: var(--teal, #087c78);
  border-width: 2px;
  background: rgba(8, 124, 120, 0.06);
}
.dist-opt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.dist-opt-header strong {
  font-size: 14px;
  color: var(--ink, #102b33);
}
.dist-opt small {
  display: block;
  font-size: 11px;
  color: var(--muted, #64748b);
  line-height: 1.3;
}

/* Dark mode adjustments */
[data-theme="dark"] .dist-opt {
  background: #112228;
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme="dark"] .dist-opt.active {
  background: rgba(8, 124, 120, 0.2);
  border-color: var(--teal, #087c78);
}

/* Botão Flutuante de Suporte & Atendimento */
.floating-support-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 998;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #102b33;
  color: #d5f566;
  border: 1.5px solid #d5f566;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(16, 43, 51, 0.35);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
}
@media (max-width: 700px) {
  .floating-support-btn {
    bottom: 86px;
    right: 14px;
    padding: 7px 12px;
    font-size: 12px;
  }
}
.floating-support-btn:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 6px 22px rgba(16, 43, 51, 0.45);
  background: #183e49;
}
.floating-support-btn:active {
  transform: translateY(0) scale(0.98);
}
.floating-support-btn i {
  width: 18px;
  height: 18px;
}
[data-theme="dark"] .floating-support-btn {
  background: #0d2127;
  color: #d5f566;
  border-color: #d5f566;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5);
}
/* Ocultar botão flutuante de suporte na tela de login/cadastro/autenticação e telas públicas */
body.auth-page .floating-support-btn,
body.remote-login-page .floating-support-btn {
  display: none !important;
}

/* Aperfeiçoamento Estrutural e Visual dos Diálogos e Modais Luz Clara */
dialog#modal,
dialog {
  width: min(780px, calc(100vw - 32px)) !important;
  max-width: 820px !important;
  max-height: 88vh;
  overflow-y: auto;
  box-sizing: border-box;
  border-radius: 20px !important;
  border: 1px solid var(--line, #e2e8f0) !important;
  border-top: 4px solid var(--teal, #087c78) !important;
  padding: 28px 32px !important;
  background: #ffffff !important;
  color: var(--ink, #132e36) !important;
  box-shadow: 0 25px 80px rgba(16, 43, 51, 0.35) !important;
  line-height: 1.5;
}

[data-theme="dark"] dialog#modal,
[data-theme="dark"] dialog {
  background: #13262c !important;
  color: #e4edf0 !important;
  border-color: #203840 !important;
  border-top-color: var(--teal, #18b3ab) !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.6) !important;
}

dialog::backdrop {
  background: rgba(16, 43, 51, 0.65) !important;
  backdrop-filter: blur(8px) !important;
}

dialog#modal form,
dialog form {
  display: grid;
  gap: 16px;
}

dialog#modal table,
dialog table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  font-size: 13.5px;
}

dialog#modal th,
dialog th {
  padding: 10px 12px;
  background: #f8fafb;
  border-bottom: 2px solid var(--line);
  font-weight: 600;
  text-align: left;
}

[data-theme="dark"] dialog#modal th,
[data-theme="dark"] dialog th {
  background: #0e1e23;
  border-bottom-color: #203840;
}

dialog#modal td,
dialog td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}

dialog#modal .actions,
dialog .actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}


.dialog-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  position: sticky;
  top: -28px;
  background: inherit;
  padding: 8px 0;
  z-index: 10;
}

.dialog-heading .icon-button#close-modal,
.modal-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--line, #cbd5e1);
  background: #f1f5f9;
  color: var(--ink, #1e293b);
  cursor: pointer;
  transition: all 0.15s ease;
  font-weight: 700;
  flex-shrink: 0;
}

.dialog-heading .icon-button#close-modal:hover,
.modal-close-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
  transform: scale(1.06);
}

[data-theme="dark"] .dialog-heading .icon-button#close-modal,
[data-theme="dark"] .modal-close-btn {
  background: #1e3a44;
  border-color: #335560;
  color: #e2e8f0;
}

/* Medidor de Força de Senha Interativo */
.pwd-meter-box {
  background: #f8fafc;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 8px;
}
.pwd-meter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  margin-bottom: 6px;
}
.pwd-meter-bars {
  display: flex;
  gap: 5px;
  height: 6px;
  margin-bottom: 8px;
}
.pwd-segment {
  flex: 1;
  background: #e2e8f0;
  border-radius: 99px;
  transition: background-color 0.25s ease;
}
.pwd-segment.lvl-1 { background: #ef4444; }
.pwd-segment.lvl-2 { background: #f59e0b; }
.pwd-segment.lvl-3 { background: #3b82f6; }
.pwd-segment.lvl-4 { background: #10b981; }

.pwd-checklist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
  font-size: 11.5px;
  color: var(--muted, #64748b);
  margin-top: 6px;
}
.pwd-check-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
.pwd-check-item.valid {
  color: #15803d;
  font-weight: 600;
}
.pwd-check-item.invalid {
  color: #94a3b8;
}

/* Funil de Vendas e Conversão Visual */
.funnel-container {
  display: grid;
  gap: 12px;
  margin: 20px 0;
}
.funnel-stage {
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 12px;
  padding: 14px 18px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.funnel-stage::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: var(--funnel-bg, #087c7815);
  width: var(--funnel-width, 100%);
  z-index: 0;
  transition: width 0.4s ease;
}
.funnel-stage-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}
.funnel-stage-metrics {
  position: relative;
  z-index: 1;
  text-align: right;
}
.funnel-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--teal, #087c78);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
}

/* SEO e Telemetria Dashboard */
.traffic-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
@media(max-width: 900px) {
  .traffic-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 500px) {
  .traffic-stats-grid { grid-template-columns: 1fr; }
  .pwd-checklist { grid-template-columns: 1fr; }
}
.traffic-stat-card {
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 14px;
  padding: 18px;
}
.traffic-stat-val {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.5px;
  margin: 6px 0 2px;
  color: var(--ink, #102b33);
}
.traffic-stat-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.seo-bar-chart {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 130px;
  padding: 16px 0 6px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
}
.seo-bar-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
  gap: 6px;
}
.seo-bar-val {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.seo-bar-pill {
  width: 100%;
  max-width: 42px;
  background: var(--teal);
  border-radius: 6px 6px 0 0;
  min-height: 4px;
  transition: height 0.3s ease;
}
.seo-bar-pill.today {
  background: #0284c7;
}
.seo-bar-date {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}

/* Banners de Anúncios e Afiliados Estilo Portal de Notícias */
.ad-portal-banner {
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal, #087c78);
  border-radius: 14px;
  background: #ffffff;
  padding: 14px 18px;
  margin: 18px 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.ad-portal-banner:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(8, 124, 120, 0.12);
  border-color: var(--teal, #087c78);
}
.ad-portal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 700;
  color: var(--muted);
}
.ad-portal-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--teal, #087c78);
}
.ad-portal-secure {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  padding: 2px 8px;
  background: #f1f5f9;
  border-radius: 99px;
  color: #64748b;
}
.ad-portal-body {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
  flex-wrap: wrap;
}
.ad-portal-media {
  width: 110px;
  height: 80px;
  min-width: 110px;
  border-radius: 10px;
  overflow: hidden;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ad-portal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ad-portal-fallback-icon {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e6f4f2 0%, #d1ecea 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--teal, #087c78);
}
.ad-portal-content {
  flex: 1;
  min-width: 240px;
}
.ad-portal-badge-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.ad-portal-cat-pill {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(8, 124, 120, 0.1);
  color: var(--teal, #087c78);
}
.ad-portal-advertiser {
  font-size: 11px;
  color: var(--muted);
}
.ad-portal-title {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.3;
}
.ad-portal-desc {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
.ad-portal-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  min-width: 140px;
}
.ad-portal-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 8px;
  background: var(--teal, #087c78);
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(8, 124, 120, 0.25);
  transition: opacity 0.15s;
}
.ad-portal-banner:hover .ad-portal-btn {
  opacity: 0.92;
}
.ad-portal-guarantee {
  font-size: 10px;
  color: var(--muted);
}
[data-theme="dark"] .ad-portal-banner {
  background: #13262c;
  border-color: #203840;
}
[data-theme="dark"] .ad-portal-title {
  color: #f1f5f9;
}
[data-theme="dark"] .ad-portal-secure {
  background: #1e3842;
  color: #94a3b8;
}
[data-theme="dark"] .ad-portal-media {
  background: #1e3842;
}

/* Ajustes de Centralizacao e Alinhamento Preciso do Menu Inferior Mobile */
@media (max-width: 700px) {
  .sidebar {
    height: 64px !important;
    background: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -2px 12px rgba(16, 43, 51, 0.06) !important;
  }

  [data-theme="dark"] .sidebar {
    background: #0d2127 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.4) !important;
  }

  .sidebar nav {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-evenly !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .sidebar nav button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
    padding: 6px 2px 8px !important;
    margin: 0 !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    color: #64748b !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    letter-spacing: -0.2px !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  [data-theme="dark"] .sidebar nav button {
    color: #94a3b8 !important;
  }

  .sidebar nav button > span,
  .sidebar nav button span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 auto !important;
    font-size: inherit !important;
    line-height: 1 !important;
  }

  .sidebar nav button .lucide,
  .sidebar nav button svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 2.1 !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .sidebar nav button.active {
    background: rgba(8, 124, 120, 0.08) !important;
    color: var(--teal, #087c78) !important;
    font-weight: 700 !important;
  }

  [data-theme="dark"] .sidebar nav button.active {
    background: rgba(213, 245, 102, 0.12) !important;
    color: var(--lime, #d5f566) !important;
  }

  /* Posicionamento do botao flutuante de suporte acima da barra */
  .floating-support-btn {
    bottom: 74px !important;
    right: 12px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }
}

.equipment-photo-popup{position:fixed;width:min(1040px,calc(100vw - 32px));max-width:1040px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #31535b;border-radius:20px;background:#102b33;overflow:auto;box-shadow:0 24px 100px #0007}
.equipment-photo-popup::backdrop{background:rgba(8,24,29,.66);backdrop-filter:blur(5px)}
.equipment-photo-popup>img{width:100%;height:auto;display:block}
.equipment-popup-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:1px solid #ffffff66;border-radius:50%;background:#102b33;color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:1}
.equipment-popup-close:focus-visible{outline:3px solid #d9f279;outline-offset:2px}
.equipment-photo-action{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 24px;color:#f7f6f0;font-size:13px}
.equipment-photo-action .primary{background:#d9f279;color:#102b33;font-weight:800}
@media(max-width:600px){.equipment-photo-action{padding:14px}.equipment-photo-action .primary{width:100%;justify-content:center}.equipment-photo-popup{border-radius:14px}.equipment-popup-close{width:34px;height:34px;top:8px;right:8px}}
/* O anúncio usa seu próprio visual, sem o preenchimento dos formulários. */
dialog.equipment-photo-popup{width:min(1040px,calc(100vw - 32px))!important;max-width:1040px!important;padding:0!important;background:#102b33!important;border:1px solid #31535b!important;border-top:1px solid #31535b!important;color:#f7f6f0!important;border-radius:20px!important;line-height:1.5}
@media(max-width:600px){dialog.equipment-photo-popup{border-radius:14px!important}}
.equipment-popup-optout{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.equipment-popup-optout input{width:18px;height:18px;accent-color:#d9f279}
/* Flex e grid devem encolher com a tela sem cortar os campos. */
.shell,#content,.card,.section-gap,.tab-pane,.field,.form-grid,.metrics,.metric,.top-actions,.unit-picker{min-width:0}
#content input:not([type=checkbox]):not([type=radio]),#content select,#content textarea{min-width:0;max-width:100%;box-sizing:border-box}
#content .field{overflow-wrap:anywhere}
#content .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
#refund-control form{min-width:0;max-width:100%;overflow-wrap:anywhere}
#refund-control input,#refund-control select,#refund-control textarea{width:100%}
#refund-control textarea{min-height:90px}
#content .seo-bar-chart{min-width:0;max-width:100%;gap:6px}
#content .seo-bar-col{min-width:0}
#content .seo-bar-date{font-size:9px;white-space:normal;overflow-wrap:anywhere;text-align:center}
@media(max-width:1100px){.topbar{height:auto;min-height:96px;flex-wrap:wrap;gap:12px;padding:16px 24px}.top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%;gap:8px}.unit-picker{flex:1 1 200px}.topbar-sync-badge{max-width:100%}}
@media(max-width:700px){
 #content [style*="grid-template-columns:1fr 1fr"],#content [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}
 #content .form-grid{grid-template-columns:minmax(0,1fr)!important}
 #content .primary,#content .secondary,#content label.primary{max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-content:center;text-align:center}
 #content [style*="min-width:220px"],#content [style*="min-width: 220px"]{min-width:0!important;width:100%}
 .topbar{padding:12px 16px}.top-actions{width:100%;justify-content:flex-start}.unit-picker{width:100%;flex-basis:100%}
 #content h1,#content h2,#content h3,#content p,#content strong{overflow-wrap:anywhere}
}
#content .form-grid>.full{grid-column:1 / -1}
@media(max-width:700px){#content .full{grid-column:1 / -1}}
.topbar{height:auto;min-height:96px;flex-wrap:wrap}.top-actions{flex-wrap:wrap;max-width:100%;gap:8px}.topbar>.unit-picker{flex:1 1 180px}
#content .tabs-nav{max-width:100%;min-width:0;flex-wrap:wrap;white-space:normal}
#content .tabs-nav .tab-btn{white-space:normal;max-width:100%}
@media(max-width:900px){#content .page-heading{flex-wrap:wrap}#content .page-heading>.actions{flex-wrap:wrap;max-width:100%}}
.page-heading{flex-wrap:wrap;gap:16px}.page-heading>div{min-width:0;max-width:100%}.heading-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0;max-width:100%}
@media(max-width:900px){.page-heading>div:last-child{display:flex;flex-wrap:wrap;gap:10px;max-width:100%;min-width:0}}
.prospect-tabs{flex-wrap:wrap;min-width:0;max-width:100%}.prospect-tabs .tab-btn{white-space:normal;max-width:100%}
.ai-photo-message{background:var(--teal);color:#fff;padding:12px 16px;border-radius:14px 14px 2px 14px;max-width:80%;align-self:flex-end;margin-left:auto;min-width:0;overflow-wrap:anywhere}
.ai-upload-preview{display:block;width:260px;max-width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:10px;margin:8px 0;background:#102b33}
.ai-photo-message small{display:block;font-size:11px}.ai-msg{min-width:0;overflow-wrap:anywhere}
.prospect-hero{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:28px;border-radius:20px;background:#102b33;color:#f4f7fa;margin-bottom:24px}.prospect-hero h2{margin:6px 0 12px;color:#fff;font-size:26px}.prospect-hero p{max-width:650px;line-height:1.6;color:#bed2d7}.prospect-hero-pill{padding:14px 18px;border-radius:14px;background:#d5f566;color:#102b33;font-weight:800;white-space:nowrap}.prospect-preview{background:#e9ede5;padding:24px;border-radius:16px;display:flex;justify-content:center}.prospect-message{width:min(100%,420px);background:#d9fdd3;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px #102b3312;min-width:0}.prospect-message img{display:block;width:100%;height:auto}.prospect-message p{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;font-size:13px;line-height:1.65;color:#183027;margin:0}.prospect-preview-time{display:block;padding:0 16px 14px;text-align:right;font-size:10px;color:#5b7260}
@media(max-width:700px){.prospect-hero{flex-direction:column;align-items:flex-start;padding:20px;gap:8px}.prospect-hero h2{font-size:22px}.prospect-hero-pill{white-space:normal}.prospect-preview{padding:10px}#prospect-campaign-form .actions{flex-wrap:wrap}}
@media(min-width:701px){
 body.menu-collapsed .sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 0}
 body.menu-collapsed .sidebar nav button{font-size:0;justify-content:center;gap:0;min-height:40px;padding:9px;width:100%;flex-shrink:0}
 body.menu-collapsed .sidebar nav button>span{display:grid;place-items:center;width:24px;font-size:20px}
 body.menu-collapsed .sidebar nav button .lucide{display:block;width:22px;height:22px}
 body.menu-collapsed .sidebar nav button>b{display:none}
 body.menu-collapsed .sidebar nav button.hide{display:none}
}
@media(max-width:700px){body .shell,body.menu-collapsed .shell{margin-left:0!important;transition:none!important}.sidebar{transition:none!important}}

.prospect-row.success>td{background:#e6f8ee!important}.prospect-row.failure>td{background:#feecec!important}.prospect-row.uncertain>td{background:#fff6db!important}.prospect-row.processing>td{background:#eaf5ff!important}.prospect-spinner{display:inline-block;width:15px;height:15px;border:2px solid #bad6ed;border-top-color:#087b91;border-radius:50%;animation:prospect-spin .8s linear infinite;vertical-align:middle;margin-right:6px}@keyframes prospect-spin{to{transform:rotate(360deg)}}

.prospect-spinner[hidden]{display:none!important}.prospect-spinner{width:18px;height:18px;border-width:3px;flex-shrink:0}

.prospect-audiences,.prospect-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.prospect-audience,.prospect-insights>article{padding:22px;border:1px solid var(--line);border-radius:16px;background:#f8fbfb;min-width:0}.prospect-audience>strong{display:block;font-size:36px;color:#10343b;margin:12px 0}.prospect-audience small{font-size:13px;font-weight:500}.prospect-audience-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px}.prospect-audience-stats span{display:flex;justify-content:space-between;gap:8px}.prospect-meter{height:8px;background:#e2ebed;border-radius:8px;overflow:hidden}.prospect-meter span{height:100%;display:block;background:#0b887e}.prospect-chart-row{display:grid;grid-template-columns:110px minmax(0,1fr) 35px;align-items:center;gap:10px;margin:13px 0;font-size:12px}.prospect-chart-row>div{height:12px;background:#edf1f2;border-radius:5px;overflow:hidden}.prospect-chart-row i{display:block;height:100%;background:#0b887e;border-radius:5px}.prospect-setup{margin-top:20px;border:1px solid var(--line);border-radius:12px;background:#f8fbfb}.prospect-setup>summary{padding:18px;font-weight:700;cursor:pointer}@media(max-width:700px){.prospect-audiences,.prospect-insights{grid-template-columns:1fr}.prospect-audience,.prospect-insights>article{padding:16px}.prospect-chart-row{grid-template-columns:100px minmax(0,1fr) 28px}}

.prospect-routine-card{padding:20px;background:#edf6f2;border:1px solid #cfe3da;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.prospect-routine-card h3{margin:8px 0}.prospect-routine-card button{flex-shrink:0}@media(max-width:700px){.prospect-routine-card{display:block}.prospect-routine-card button{margin-top:10px}}

.marketing-assets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.marketing-assets-grid article{min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px}.marketing-assets-grid img{width:100%;aspect-ratio:4/5;object-fit:contain;border-radius:8px}.marketing-assets-grid h3{font-size:15px}.marketing-assets-grid .actions{flex-wrap:wrap}.meta-setup-values{padding:16px;background:#f3f8f6;border-radius:12px}.meta-setup-values input{width:100%;min-width:0}@media(max-width:1000px){.marketing-assets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.marketing-assets-grid{grid-template-columns:1fr}}

/* WhatsApp: workspace follows the shared Luz Clara components. */
.wa-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 24px}.wa-heading h2{margin:6px 0 10px;font-size:28px}.wa-heading p:not(.eyebrow){color:var(--muted);line-height:1.6}.wa-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.wa-tabs button{font:inherit;border:1px solid var(--line);border-radius:12px;padding:11px 16px;color:var(--ink);background:var(--card-bg,var(--surface,#fff));cursor:pointer}.wa-tabs button[aria-pressed=true]{background:#087f78;border-color:#087f78;color:white}.wa-pane[hidden]{display:none!important}.wa-history-list{display:grid;gap:12px}.wa-history-item{border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}.wa-history-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.wa-history-top small{display:block;color:var(--muted);margin-top:6px}.wa-history-preview{font-size:13px;color:var(--muted);line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.wa-history-item details{border-top:1px solid var(--line);padding-top:12px;font-size:13px}.wa-history-item details p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.wa-history-item summary{cursor:pointer;color:var(--ink);font-weight:650}.wa-workspace .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wa-workspace .card{min-width:0}.wa-workspace .actions{flex-wrap:wrap}.wa-workspace #meta-templates-result>details{padding:14px;border:1px solid var(--line);border-radius:12px}.wa-workspace #meta-template-editor{border-top:1px solid var(--line);padding-top:20px}.wa-workspace #meta-template-editor>details>summary{cursor:pointer;padding:12px 0}.wa-workspace .history-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.wa-history-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin:20px 0}.wa-history-filters input,.wa-history-filters select{width:100%;min-width:0}@media(max-width:700px){.wa-heading{align-items:flex-start;flex-direction:column;gap:12px}.wa-heading h2{font-size:24px}.wa-workspace .form-grid,.wa-history-filters{grid-template-columns:minmax(0,1fr)}.wa-workspace .history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wa-tabs button{flex:1 1 140px}.wa-history-item{padding:14px}.wa-history-top{align-items:flex-start}}
.wa-pagination{align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:12px;margin:16px 0}.wa-pagination .field{margin:0;max-width:130px}.wa-pagination button:disabled{opacity:.45;cursor:default}

/* Native admin insight panels */

.admin-insight-panel{font-family:Inter,system-ui,sans-serif;color:#143c40;background:#f2f7f5;--teal:#075f60;--lime:#d8f584;--line:#d9e6e0}
.admin-insight-panel *{box-sizing:border-box}
.admin-insight-panel body{margin:0}
.admin-insight-panel main{max-width:1200px;padding:28px;margin:auto}
.admin-insight-panel header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.admin-insight-panel a{color:var(--teal);text-decoration:none;font-weight:650}
.admin-insight-panel button,.admin-insight-panel .button{border:0;background:var(--teal);color:white;border-radius:12px;padding:13px 18px;font:inherit;font-weight:650;cursor:pointer}
.admin-insight-panel button:disabled{opacity:.5}
.admin-insight-panel .hero{margin:34px 0 22px;border-radius:24px;background:#103a40;color:#fff;padding:36px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.admin-insight-panel .hero button{background:var(--lime);color:#173f3f;flex-shrink:0}
.admin-insight-panel h1{font-size:clamp(28px,4vw,46px);letter-spacing:-1.5px;margin:8px 0 14px}
.admin-insight-panel .eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#b7d883}
.admin-insight-panel .intro{max-width:620px;line-height:1.6;color:#d1e3df}
.admin-insight-panel .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.admin-insight-panel .columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin-top:20px}
.admin-insight-panel .card{background:white;border:1px solid var(--line);padding:24px;border-radius:20px;min-width:0;overflow-wrap:anywhere}
.admin-insight-panel .metric{font-size:32px;font-weight:750;display:block;margin:12px 0}
.admin-insight-panel .muted{font-size:13px;color:#667f7e;line-height:1.6}
.admin-insight-panel .card h2{font-size:19px;margin:0 0 16px}
.admin-insight-panel .quality{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.admin-insight-panel .ring{width:86px;height:86px;border:9px solid var(--quality,#9ba9a5);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:27px}
.admin-insight-panel .pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#e8f2ed;font-size:12px;font-weight:700}
.admin-insight-panel .alert{padding:16px;border-radius:12px;background:#eef4f2;margin-top:12px;line-height:1.5}
.admin-insight-panel .alert.warning{background:#fff5db}
.admin-insight-panel .alert.danger{background:#fff0ef}
.admin-insight-panel .alert p{margin:6px 0 0;font-size:13px}
.admin-insight-panel .row{display:grid;grid-template-columns:90px minmax(0,1fr) 48px;align-items:center;gap:12px;margin:16px 0;font-size:13px}
.admin-insight-panel .bar{height:10px;background:#edf3ef;border-radius:9px;overflow:hidden}
.admin-insight-panel .bar i{display:block;height:100%;background:var(--teal);border-radius:9px}
.admin-insight-panel .timeline{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:20px 0}
.admin-insight-panel .timeline span{width:12px;height:34px;border-radius:5px;background:var(--quality)}
.admin-insight-panel details{padding:12px 0;border-top:1px solid var(--line)}
.admin-insight-panel summary{cursor:pointer}
.admin-insight-panel .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.admin-insight-panel .actions a{padding:12px;background:#edf5f0;border-radius:10px}
.admin-insight-panel footer{margin-top:28px;font-size:12px;color:#667f7e;line-height:1.6}
.admin-insight-panel #message{overflow-wrap:anywhere;font-size:14px}@media(max-width:800px){
.admin-insight-panel .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-insight-panel .columns{grid-template-columns:minmax(0,1fr)}
.admin-insight-panel .hero{align-items:flex-start;flex-direction:column;padding:24px}}@media(max-width:420px){
.admin-insight-panel main{padding:16px}
.admin-insight-panel .grid{gap:10px}
.admin-insight-panel .card{padding:18px}
.admin-insight-panel .metric{font-size:26px}
.admin-insight-panel .hero{margin-top:22px}
.admin-insight-panel header{font-size:13px}
.admin-insight-panel .row{grid-template-columns:75px minmax(0,1fr) 35px}}
.admin-insight-panel .section-gap{margin-top:24px}
.admin-insight-panel .growth-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-insight-panel .growth-form label,.admin-insight-panel .utm-output{display:grid;gap:8px;font-size:14px;font-weight:600;min-width:0}
.admin-insight-panel .full{grid-column:1/-1}
.admin-insight-panel input,.admin-insight-panel select,.admin-insight-panel textarea{font:inherit;border:1px solid #ccddd5;border-radius:10px;padding:12px;background:white;color:#173d40;min-width:0;width:100%}
.admin-insight-panel textarea{resize:vertical}
.admin-insight-panel .hero select{margin-bottom:12px}
.admin-insight-panel .utm-output{margin:20px 0}
.admin-insight-panel .card{margin-bottom:20px}
.admin-insight-panel .growth-table-wrap{overflow-x:auto;max-width:100%}
.admin-insight-panel table{border-collapse:collapse;width:100%;font-size:13px}
.admin-insight-panel th,.admin-insight-panel td{text-align:left;border-bottom:1px solid #e0eae5;padding:12px;overflow-wrap:anywhere}
.admin-insight-panel th{color:#647c78}
.admin-insight-panel td:first-child{max-width:330px;min-width:130px}
.admin-insight-panel summary{cursor:pointer;font-weight:700;padding:14px 0}
.admin-insight-panel li{line-height:1.7;margin:10px 0;overflow-wrap:anywhere}
.admin-insight-panel .growth-chart{height:150px;display:flex;align-items:flex-end;gap:3px;margin:20px 0 10px}
.admin-insight-panel .growth-chart span{flex:1;min-width:2px;background:#087f78;border-radius:4px 4px 0 0}
.admin-insight-panel .growth-chart.search span{background:#407ca6}
.admin-insight-panel .growth-error{background:#fff6df;padding:14px;border-radius:12px;overflow-wrap:anywhere}
.admin-insight-panel .growth-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-insight-panel .source-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#567a78}
.admin-insight-panel .growth-list p{margin:8px 0 16px}
.admin-insight-panel .empty{padding:22px;color:#667f7e;text-align:center}@media(max-width:650px){
.admin-insight-panel .growth-form{grid-template-columns:minmax(0,1fr)}
.admin-insight-panel .growth-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-insight-panel th,.admin-insight-panel td{padding:10px}
.admin-insight-panel .hero>div:last-child{width:100%}}

.admin-insight-panel{min-width:0}.admin-insight-panel .hero{margin-top:0}.admin-insight-panel .card{background:var(--card-bg,var(--surface,#fff));color:var(--ink,#143c40)}

/* Company identification remains visible before login for business verification. */
footer.company-footer,.auth-page footer.company-footer{display:block;text-align:center;border-top:1px solid var(--line,#dbe7e1);padding:10px 16px;font-size:11px;line-height:1.45;color:var(--muted,#667a75);background:transparent;overflow-wrap:anywhere}
footer.company-footer p,footer.company-footer address{margin:0;font:inherit}
footer.company-footer nav{display:flex;gap:2px 14px;justify-content:center;flex-wrap:wrap;margin:3px 0 0}
footer.company-footer a{color:inherit;text-decoration:none}
footer.company-footer a:hover{text-decoration:underline;text-underline-offset:3px}
footer.company-footer a:focus-visible{outline:2px solid var(--teal,#087f78);outline-offset:2px}
@media(max-width:480px){footer.company-footer,.auth-page footer.company-footer{padding:10px 12px}footer.company-footer p span{display:block}footer.company-footer nav{gap:3px 12px}}

/* Meter readings: image and inputs stay inside the available width. */
.meter-photo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.meter-photo-grid>*{min-width:0}.meter-photo-preview{display:block;width:100%;max-height:340px;object-fit:contain;border-radius:12px;margin:12px 0;background:var(--surface)}.meter-photo-preview[hidden]{display:none}.meter-photo-panel input,.meter-photo-panel select{max-width:100%;min-width:0}.meter-confirm{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}.meter-confirm input{flex:none;margin-top:4px}.meter-photo-panel p{overflow-wrap:anywhere}.meter-result{border:1px solid var(--teal);background:var(--surface);border-radius:12px;padding:18px}.meter-result>strong{display:block;font-size:28px;color:var(--teal);overflow-wrap:anywhere}.meter-history{border-bottom:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}.meter-history p{margin:4px 0}.meter-photo-panel .actions{flex-wrap:wrap}.meter-photo-panel button{white-space:normal}@media(max-width:800px){.meter-photo-grid{grid-template-columns:minmax(0,1fr)}.meter-photo-panel .form-grid{grid-template-columns:minmax(0,1fr)}.meter-photo-panel .form-grid .full{grid-column:auto}}

.editorial-review-list{display:grid;gap:12px;margin-top:16px}.editorial-review{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0;overflow-wrap:anywhere}.editorial-review summary{cursor:pointer;font-weight:650}.editorial-review form{display:grid;gap:14px}.editorial-review form>label{display:block;line-height:1.6}.editorial-review input[type=checkbox]{margin-right:6px}.editorial-review textarea{width:100%;min-height:90px}.editorial-review button{white-space:normal}.seo-hub .card{overflow-wrap:anywhere}.seo-hub footer{font-size:11px}.seo-hub input,.seo-hub button{max-width:100%}

/* Guided meter reading with larger controls and one task per step. */
.meter-easy{max-width:900px;margin-inline:auto;font-size:17px;line-height:1.6}.meter-easy h2{font-size:clamp(24px,4vw,30px)}.meter-easy h3{font-size:23px;line-height:1.35}.meter-easy .small-note{font-size:15px;line-height:1.6}.meter-easy label.field{display:grid;gap:8px;margin:18px 0;font-size:17px;font-weight:650}.meter-easy input:not([type=checkbox]){font-size:20px;min-height:56px;padding:12px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.meter-easy input[readonly]{border-style:dashed}.meter-easy input[type=checkbox]{width:24px;height:24px;flex:none;margin:2px 0 0;accent-color:var(--teal)}.meter-easy button,.meter-easy summary{font-size:17px;line-height:1.4;min-height:52px}.meter-easy button{padding:14px 20px;white-space:normal}.meter-easy summary{cursor:pointer;padding:10px 0;font-weight:650}.meter-easy [data-step][hidden]{display:none}.meter-steps{display:flex;list-style:none;padding:0;gap:10px;margin:24px 0;flex-wrap:wrap}.meter-steps li{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);padding:9px 12px;border-radius:12px;font-size:16px}.meter-steps b{border:1px solid currentColor;border-radius:50%;height:27px;width:27px;text-align:center;line-height:25px;flex:none}.meter-steps [aria-current=step]{background:var(--teal);border-color:var(--teal);color:#fff}.meter-photo-actions,.meter-easy-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.meter-photo-actions>*,.meter-easy-actions>*{flex:1 1 220px}.meter-previous-card,.meter-current-card{padding:18px;border:1px solid var(--line);border-radius:14px;margin:18px 0}.meter-easy .meter-check{display:flex;gap:12px;align-items:flex-start;margin:22px 0;line-height:1.6;font-weight:500}.meter-easy .meter-status{min-height:0;margin:12px 0;overflow-wrap:anywhere}.meter-status:empty{display:none}.meter-status-error{border-left:4px solid #a52c25;padding:12px;background:var(--surface);color:var(--ink)}.meter-summary{padding:14px;border-radius:10px;background:var(--surface);font-weight:600}.meter-easy .meter-result>strong{font-size:clamp(32px,6vw,46px)}.meter-easy :focus-visible{outline:3px solid var(--teal);outline-offset:4px}.meter-easy [data-review-preview]{max-height:220px}.meter-easy input[type=datetime-local],.meter-easy input[type=date]{min-width:0;max-width:100%;box-sizing:border-box}@media(max-width:480px){.meter-steps{gap:5px}.meter-steps li{padding:7px;font-size:14px;gap:5px}.meter-steps b{height:24px;width:24px;line-height:22px}.meter-previous-card,.meter-current-card{padding:12px}.meter-easy{font-size:17px}.meter-easy .small-note{font-size:15px}}

.lc-ai-launch{position:fixed;right:22px;bottom:90px;z-index:90;padding:12px 18px;border-radius:30px;background:var(--teal);color:#fff;box-shadow:0 6px 24px #102b3325}.auth-page .lc-ai-launch{display:none}.lc-ai-dialog{width:min(680px,94vw);max-height:88vh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.lc-ai-dialog::backdrop{background:#102b3370}.lc-ai-dialog textarea{width:100%;min-height:100px;margin:15px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}.lc-ai-dialog button{padding:9px 12px;border-radius:9px;background:var(--teal);color:white}.lc-ai-actions{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.lc-ai-actions button{font-size:12px}.lc-ai-answer{white-space:pre-wrap;line-height:1.7;margin-top:18px}
