*,:before,:after{box-sizing:border-box;margin:0;padding:0}#root{width:100%;min-height:100vh}:root{--orange:#ef7f31;--orange-deep:#d45a1a;--orange-mid:#f4a15a;--orange-lt:#f7d9b8;--orange-pale:#fff6ee;--orange-bg:#fff8f2;--text:#2b1408;--text-2:#6b3a1c;--text-3:#9a6a48;--border:#f0d2b8;--white:#fff;--radius:14px;--shadow-sm:0 2px 10px #d45a1a1a;--shadow-md:0 8px 32px #d45a1a24;--shadow-lg:0 20px 60px #d45a1a2e;--gold:var(--orange-deep);--gold-mid:var(--orange);--gold-lt:var(--orange-lt);--gold-pale:var(--orange-pale);--gold-bg:var(--orange-bg)}html{scroll-behavior:smooth}body{background:var(--orange-bg);color:var(--text);min-height:100vh;font-family:Inter,Segoe UI,sans-serif;line-height:1.55}a{color:inherit}.app-boot{min-height:100vh;color:var(--text-2);place-items:center;font-weight:600;display:grid}.brand-mark{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;border-radius:10px;width:42px;height:42px}.brand-text{text-align:left;line-height:1.15}.brand-name{letter-spacing:-.3px;font-size:18px;font-weight:800}.brand-tag{color:var(--text-3);max-width:180px;font-size:10px;font-weight:600}.brand-mark.compact .brand-logo{width:36px;height:36px}.btn{cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);box-shadow:0 4px 14px #d45a1a47}.btn.ghost{border-color:var(--border);background:#fff}.btn.danger{color:#b42318;background:#fff1ee;border-color:#f5c2c0}.btn.sm{border-radius:8px;padding:6px 12px;font-size:12px}.btn.icon-only{border-radius:8px;width:32px;height:32px;padding:7px}.btn.icon-only svg{display:block}.btn.lg{padding:12px 22px;font-size:15px}.btn:disabled{opacity:.55;cursor:not-allowed}.app-shell{background:var(--orange-bg);min-height:100vh}.app-topbar{border-bottom:1px solid var(--border);z-index:20;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:12px;min-width:0;display:flex}.tenant-chip{border-left:2px solid var(--orange);flex-direction:column;min-width:0;padding:4px 12px;display:flex}.tenant-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:10px;font-weight:700}.tenant-chip strong{white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.user-chip{align-items:center;gap:8px;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.user-meta{flex-direction:column;line-height:1.2;display:flex}.user-meta small{color:var(--text-3);font-size:11px}.role-badge{background:var(--orange-lt);color:var(--orange-deep);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.app-body{grid-template-columns:220px 1fr;min-height:calc(100vh - 64px);display:grid}.app-sidebar{border-right:1px solid var(--border);background:#fff;padding:16px 12px}.nav-link{color:var(--text-2);border-radius:10px;margin-bottom:4px;padding:10px 12px;font-weight:600;text-decoration:none;display:block}.nav-link.active,.nav-link:hover{background:var(--orange-pale);color:var(--orange-deep)}.app-main{padding:24px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page h1{letter-spacing:-.4px;font-size:28px}.range-apply-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef7f31,#d45a1a);border:none;border-radius:30px;height:42px;margin-top:20px;padding:10px 20px;font-size:14px;font-weight:600}.eyebrow{color:var(--orange-deep);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.muted{color:var(--text-3)}.banner{border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:14px}.banner.error{color:#b3261e;background:#fdecec}.banner.info{color:#9a3412;background:#fff3e6}.banner.success{color:#1e7e34;background:#eef7ee}.stat-grid,.chart-grid,.card-grid,.feature-grid{gap:16px;display:grid}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.chart-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat-card,.panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin:4px 0 16px;padding:18px}.stat-card{box-sizing:border-box;min-width:0;margin:0;transition:transform .2s ease-out,box-shadow .2s ease-out;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card span,.stat-card small{color:var(--text-3);text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.stat-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:6px 0;font-size:24px;display:block;overflow:hidden}.stat-card.positive strong{color:#15803d}.stat-card.negative strong{color:#b42318}.chart-box{width:100%;height:260px}.chart-box.tall{height:280px}.preview .chart-box{height:220px}.page-head-actions{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.quick-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.code-chip{letter-spacing:.08em;background:var(--orange-pale);color:var(--orange-deep);border:1px dashed var(--orange);border-radius:8px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800}.sidebar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:0 12px 8px;font-size:11px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;font-size:14px}.row-actions{gap:8px;display:flex}.empty-state{text-align:center;color:var(--text-2);padding:36px 16px}.page-loading{text-align:center;color:var(--text-3);padding:40px}.stack-form,.inline-form,.range-form{gap:12px;display:flex}.stack-form{flex-direction:column}.stack-form label,.range-form label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}input,select,textarea{font:inherit;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px}.modal-backdrop{z-index:50;background:#2b140873;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{width:min(520px,100%);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px}.modal-head,.modal-foot{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-body{padding:0 18px 18px}.icon-btn{cursor:pointer;background:0 0;border:none;font-size:22px}.pill{background:var(--orange-pale);color:var(--orange-deep);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.auth-screen{background:radial-gradient(circle at 15% 10%, #ef7f3138, transparent 55%), radial-gradient(circle at 85% 90%, #d45a1a24, transparent 55%), var(--orange-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.marketing{background:radial-gradient(circle at 10% 20%,#ef7f311f,#0000 45%),radial-gradient(circle at 90% 60%,#f4b9421a,#0000 50%),linear-gradient(160deg,#fffdf9 0%,#fff7ef 40%,#fed 100%);min-height:100vh}.m-nav{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9e6;border-bottom:1px solid #f0d2b8b3;justify-content:space-between;align-items:center;padding:14px 6%;display:flex;position:sticky;top:0}.m-nav-actions{gap:10px;display:flex}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:32px;padding:40px 6% 56px;display:grid}.centered-hero{text-align:center;flex-direction:column;align-items:center;padding:60px 6% 80px;display:flex;position:relative}.centered-hero:before{content:"";filter:blur(40px);pointer-events:none;z-index:0;background:radial-gradient(#ef7f3126 0%,#f4b9420d 60%,#0000 80%);width:500px;height:300px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.centered-hero .hero-copy{z-index:1;flex-direction:column;align-items:center;max-width:800px;display:flex;position:relative}.mandal-title{color:var(--orange-deep);margin-bottom:12px;font-size:clamp(32px,6vw,56px);line-height:1.15}.centered-hero h2{margin-bottom:20px;font-size:clamp(24px,4vw,36px)}.hero-points{color:var(--text-2);margin:22px 0 0;padding:0;list-style:none}.hero-points li{margin-bottom:8px;padding-left:18px;position:relative}.hero-points li:before{content:"";background:var(--orange);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:0}.hero-stage{place-items:center;min-height:340px;display:grid;position:relative}.float-card{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fff;border-radius:14px;min-width:140px;padding:10px 14px;position:absolute}.float-card span{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;display:block}.float-card strong{font-size:18px}.float-card-a{top:28px;left:8px}.float-card-b{bottom:36px;right:8px}.steps{padding:0 6% 48px}.steps h2,.section-head h2{margin-bottom:8px}.section-head p,.steps>p{color:var(--text-3);margin-bottom:18px}.steps-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.steps-grid article{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:20px}.step-num{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);border-radius:50%;place-items:center;width:28px;height:28px;margin-bottom:10px;font-size:13px;font-weight:800;display:inline-grid}.steps-grid code{background:var(--orange-pale);border-radius:6px;padding:2px 6px;font-weight:700}.cat-legend{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.cat-legend li{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.cat-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.cat-legend span{color:var(--text);margin-left:auto;font-weight:700}.cta-band{color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#ef7f31,#d45a1a);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin:0 6% 40px;padding:28px 32px;display:flex}.cta-band h2{margin:0 0 6px}.cta-band p{opacity:.92;margin:0}.cta-band .btn.primary{color:var(--orange-deep);box-shadow:none;background:#fff}.hero h1{letter-spacing:-1px;margin:8px 0 14px;font-size:clamp(36px,5vw,56px);line-height:1.05}.lead{color:var(--text-2);max-width:540px;font-size:18px}.hero-cta{gap:12px;margin-top:22px;display:flex}.hero-visual{place-items:center;display:grid}.hero-visual img{filter:drop-shadow(0 18px 30px #d45a1a40);width:min(320px,80%)}.feature-grid{grid-template-columns:repeat(3,1fr);padding:0 6% 40px}.feature-grid article,.preview-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:20px}.preview{padding:0 6% 48px}.preview h2{margin-bottom:16px}.m-footer{color:var(--text-3);justify-content:space-between;padding:20px 6% 32px;display:flex}.m-footer a{margin-left:16px;font-weight:600;text-decoration:none}.legal-nav .brand-name,.legal-nav .brand-tag{color:#fff}.legal-nav .brand-tag{opacity:.85}.date-input-wrap{width:100%;position:relative}.date-placeholder{color:#8a7465;pointer-events:none;z-index:2;font-size:15px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.date-input-wrap input[type=date]{box-sizing:border-box;width:100%}@media (width<=900px){.app-body{width:100%;min-height:auto;grid-template-columns:none!important;display:block!important}.app-main{width:100%;min-width:0;min-height:auto}.hero,.chart-grid,.feature-grid,.steps-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 16px;padding:0;display:grid;overflow:hidden}.stat-grid>article{width:100%;min-width:0}.stat-card{padding:12px 10px}.stat-card span{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stat-card strong{white-space:nowrap;text-overflow:ellipsis;margin:4px 0;font-size:clamp(14px,3.8vw,22px);overflow:hidden}.stat-card small{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.float-card-a,.float-card-b{margin-top:12px;position:static}.hero-stage{min-height:0}.cta-band,.page-head-actions,.m-footer{flex-direction:column;align-items:flex-start}.app-sidebar{border-right:none;border-bottom:1px solid var(--border);box-sizing:border-box;-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;margin:0;padding:8px 12px;overflow:auto hidden;height:auto!important;min-height:0!important;display:block!important;position:static!important}.app-sidebar nav{flex-direction:row;align-items:center;gap:8px;width:max-content;min-width:max-content;margin:0;padding:0;display:flex}.user-meta,.tenant-label,.sidebar-label{display:none!important}.nav-link{white-space:nowrap;box-sizing:border-box;flex:none;justify-content:center;align-items:center;min-width:auto;padding:10px 14px;font-size:14px;display:inline-flex;width:auto!important}.nav-link.active{flex:none;width:auto!important}.page-head,.inline-form{flex-direction:column}.range-form{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.range-form .range-apply-btn{justify-self:center;width:120px;min-width:120px;height:42px;margin-top:4px;padding:0 20px}.page-head-actions{align-items:stretch;width:100%}.quick-links{justify-content:flex-start}}.code-chip-wrapper{align-items:center;display:inline-flex;position:relative}.code-chip{cursor:pointer}.code-tooltip{color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:100;background:#1e293b;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px)}.code-chip-wrapper:hover .code-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.filter-container{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;margin:14px 0 18px;padding:12px 16px}.filter-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.filter-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.btn-clear-filter{color:var(--orange-deep);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;transition:opacity .2s}.btn-clear-filter:hover{opacity:.85;text-decoration:underline}.filter-chips-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent;align-items:center;gap:8px;margin-bottom:-4px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-chips-scroll::-webkit-scrollbar{height:4px}.filter-chips-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.filter-chip{white-space:nowrap;cursor:pointer;border:1px solid var(--border);background:var(--orange-pale);color:var(--text-2);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;min-height:36px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.filter-chip:hover{border-color:var(--orange);color:var(--orange-deep);background:#fff}.filter-chip.active{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);border-color:#0000;box-shadow:0 3px 12px #d45a1a47}.chip-count{color:var(--text-2);background:#00000012;border-radius:10px;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.filter-chip.active .chip-count{color:#fff;background:#ffffff40}@media (width<=640px){.filter-container{margin:12px 0 14px;padding:10px 12px}.filter-chip{padding:8px 12px;font-size:12.5px}.stat-grid{gap:6px}.stat-card{border-radius:12px;padding:10px 8px}.stat-card span{font-size:11px;font-weight:600}.stat-card strong{letter-spacing:-.3px;margin:3px 0;font-size:clamp(13px,3.8vw,18px)}.stat-card small{font-size:10px;line-height:1.15}}@media (width<=400px){.stat-grid{gap:4px}.stat-card{border-radius:10px;padding:8px 5px}.stat-card span{font-size:10px}.stat-card strong{font-size:clamp(11.5px,3.2vw,15px)}.stat-card small{font-size:9px}}.notification-icon-btn{background:var(--bg-card,#ffffff0d);border:1px solid var(--border,#ffffff1a);width:36px;height:36px;color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex;position:relative}.notification-icon-btn:hover{background:var(--orange-pale,#f973161f);color:var(--orange-deep,#f97316);border-color:var(--orange-light,#f973164d);transform:translateY(-1px)}.notification-icon-btn.active{color:var(--orange-deep,#f97316);background:var(--orange-pale,#f973161a);border-color:#f9731640}.notification-icon-btn .dot{border:1.5px solid var(--bg-main,#0f172a);background:#10b981;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px;box-shadow:0 0 8px #10b981cc}.notification-icon-btn.loading svg{animation:1s linear infinite notification-spin}@keyframes notification-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.in-app-toast-alert{z-index:9999;background:var(--bg-card,#0f172af2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--orange-deep,#f97316);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-width:320px;max-width:440px;padding:14px 18px;animation:.35s cubic-bezier(.16,1,.3,1) toast-slide-in;display:flex;position:fixed;top:72px;right:24px;box-shadow:0 10px 30px #00000059,0 0 15px #f9731633}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.in-app-toast-alert .toast-content{align-items:flex-start;gap:12px;display:flex}.in-app-toast-alert .toast-icon{font-size:20px;line-height:1}.in-app-toast-alert .toast-text strong{color:var(--text-main,#f8fafc);margin-bottom:2px;font-size:14px;display:block}.in-app-toast-alert .toast-text p{color:var(--text-muted,#94a3b8);margin:0;font-size:12.5px;line-height:1.4}.in-app-toast-alert .toast-actions{align-items:center;gap:8px;display:flex}.in-app-toast-alert .toast-close{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:14px;transition:background .2s}.in-app-toast-alert .toast-close:hover{color:var(--text-main,#fff);background:#ffffff1a}.btn-whatsapp-compact{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #25d36640}.btn-whatsapp-compact:hover{background:#20bd5a;transform:translateY(-1px);box-shadow:0 4px 12px #25d36659}.btn-whatsapp-compact svg{flex-shrink:0}.btn-whatsapp-topbar{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex;box-shadow:0 2px 6px #25d36640}.btn-whatsapp-topbar:hover{background:#20bd5a;transform:translateY(-1px)}.btn-whatsapp-topbar svg{flex-shrink:0}.year-select-wrap{align-items:center;gap:8px;display:flex}.year-select-label{color:var(--text-2);font-size:13px;font-weight:600}.year-select{border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;outline:none;padding:6px 14px;font-size:13px;font-weight:700;transition:all .2s}.year-select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ef7f3133}.historical-section{margin-top:24px}.section-title{color:var(--text);align-items:center;gap:8px;margin-bottom:12px;font-size:18px;font-weight:800;display:flex}.history-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.history-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:16px 18px;transition:transform .2s,box-shadow .2s}.history-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-card-header{border-bottom:1px solid var(--orange-pale);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.history-year-badge{background:var(--orange-pale);color:var(--orange-deep);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}.history-stats-rows{flex-direction:column;gap:8px;display:flex}.history-stat-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.history-stat-row span{color:var(--text-3);font-weight:500}.history-stat-row strong{color:var(--text);font-size:14px;font-weight:700}.history-stat-row.positive strong{color:#15803d}.history-stat-row.negative strong{color:#b42318}@media (width<=768px){.page-head{flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.page-head-actions{align-items:flex-end!important;width:auto!important}.btn-whatsapp-compact{padding:7px 12px;font-size:12px}}.login-page{background:radial-gradient(circle at 15% 10%, #ef7f3138, transparent 55%), radial-gradient(circle at 85% 90%, #d45a1a24, transparent 55%), var(--orange-bg,#fff8f2);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--white);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;border-radius:20px;padding:44px 36px 36px}.login-card .brand-mark{justify-content:center;margin-bottom:20px}.join-card{max-width:460px}.code-input{text-align:center;letter-spacing:.18em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.login-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:24px;text-decoration:none;display:inline-flex}.login-logo{background:linear-gradient(135deg,#ef7f31,#d45a1a);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #8b69144d}.login-wordmark{text-align:left;line-height:1.1}.login-wordmark .name{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700}.login-wordmark .name span{color:var(--gold-mid)}.login-wordmark .tag{color:var(--text-3);font-size:10px;font-weight:500}.auth-tab-switcher{background:#fff3e8;border-radius:12px;margin-bottom:20px;padding:4px;display:flex}.auth-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .2s}.auth-tab-btn.active{color:#d45a1a;background:#fff;box-shadow:0 2px 6px #00000014}.login-title{color:var(--text);letter-spacing:-.3px;margin-bottom:8px;font-size:22px;font-weight:700}.login-sub{color:var(--text-3);margin-bottom:24px;font-size:14px;line-height:1.5}.login-google-wrap{justify-content:center;margin-bottom:20px;display:flex}.login-divider{text-align:center;color:var(--text-3,#888);letter-spacing:.5px;align-items:center;margin:20px 0;font-size:12px;font-weight:600;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #0000001a;flex:1}.login-divider span{padding:0 12px}.login-error{color:#b3261e;text-align:left;background:#fdecec;border:1px solid #f5c2c0;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:13px}.login-info{color:#1e7e34;text-align:left;background:#eef7ee;border:1px solid #c3e6cb;border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:13px}.login-custom-form{text-align:left;flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.login-custom-form .form-group{flex-direction:column;gap:6px;display:flex}.login-custom-form label{color:var(--text);font-size:13px;font-weight:600}.login-custom-form input{border:1px solid var(--border,#e0e0e0);background:#fafafa;border-radius:10px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-custom-form input:focus{background:#fff;border-color:#ef7f31;box-shadow:0 0 0 3px #ef7f312e}.login-custom-form input.otp-input{text-align:center;letter-spacing:8px;padding:12px;font-size:20px;font-weight:700}.login-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef7f31,#d45a1a);border:none;border-radius:10px;width:100%;margin-top:4px;padding:12px 20px;font-size:15px;font-weight:600;transition:transform .15s,opacity .15s;box-shadow:0 4px 12px #d45a1a47}.login-btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.login-btn-primary:active:not(:disabled){transform:translateY(0)}.login-btn-primary:disabled{opacity:.6;cursor:not-allowed}.otp-actions{justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;display:flex}.btn-link{color:#d45a1a;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.btn-link:hover:not(:disabled){color:#ef7f31}.btn-link:disabled{opacity:.5;cursor:not-allowed}.dot-sep{color:var(--text-3,#aaa)}.login-footnote{color:var(--text-3);font-size:12px;line-height:1.6}.login-legal-link{color:#d45a1a;font-weight:600;text-decoration:underline;transition:color .15s}.login-legal-link:hover{color:#ef7f31}.login-back{color:var(--text-3);margin-top:20px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.login-back:hover{color:var(--gold-mid)}.legal-page{color:#1e293b;background:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.legal-nav{background:linear-gradient(90deg,#d45a1a,#ef7f31);border-bottom:1px solid #f0d08033;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;box-shadow:0 4px 12px #0000001a}.legal-brand{align-items:center;gap:10px;text-decoration:none;display:flex}.legal-brand .name{color:#fff;font-size:18px;font-weight:700}.legal-brand .name span{color:#f0d080}.btn-legal-back{color:#fff;background:#ffffff26;border-radius:8px;padding:7px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .2s}.btn-legal-back:hover{background:#ffffff40}.legal-container{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;max-width:860px;margin:40px auto;padding:40px;box-shadow:0 10px 30px #0000000d}.legal-container h1{color:#0f172a;letter-spacing:-.5px;margin-top:0;margin-bottom:8px;font-size:28px;font-weight:800}.legal-updated{color:#64748b;border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding-bottom:12px;font-size:13px}.legal-section{margin:0 0 16px!important;padding:0!important}.legal-section h2{color:#8b6914;margin-top:0;margin-bottom:4px;font-size:16.5px;font-weight:700}.legal-section p,.legal-section ul{color:#334155;margin-top:0;margin-bottom:6px;font-size:14px;line-height:1.5}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:3px}.legal-footer{text-align:center;color:#64748b;border-top:1px solid #e2e8f0;margin-top:auto;padding:24px;font-size:13px}@media (width<=640px){.legal-nav{padding:14px 18px}.legal-container{margin:20px auto;padding:24px 20px}.legal-container h1{font-size:22px}}.pwa-install-banner{z-index:99999;color:#fff;background:#1e293b;border:1px solid #334155;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;width:calc(100% - 32px);max-width:520px;padding:12px 16px;animation:.35s cubic-bezier(.16,1,.3,1) pwaSlideUp;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000059}@keyframes pwaSlideUp{0%{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%)}}.pwa-banner-content{align-items:center;gap:12px;min-width:0;display:flex}.pwa-app-icon{background:#fff;border-radius:10px;width:44px;min-width:44px;height:44px;overflow:hidden;box-shadow:0 2px 8px #0003}.pwa-app-icon img{object-fit:cover;width:100%;height:100%}.pwa-text{min-width:0}.pwa-text strong{color:#fff;margin-bottom:2px;font-size:13.5px;font-weight:700;display:block}.pwa-text p{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11.5px;line-height:1.35;overflow:hidden}.pwa-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-pwa-install{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ef7f31,#d45a1a);border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:transform .15s,opacity .15s;display:inline-flex;box-shadow:0 3px 10px #ef7f314d}.btn-pwa-install:hover{opacity:.95;transform:translateY(-1px)}.pwa-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;font-size:14px;transition:background .2s,color .2s}.pwa-close-btn:hover{color:#fff;background:#ffffff1a}.ios-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100000;background:#0f172ab3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ios-modal-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:24px;animation:.25s ease-out iosModalPop;box-shadow:0 20px 50px #00000040}@keyframes iosModalPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ios-modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.ios-modal-header h3{color:#0f172a;margin:0;font-size:16px;font-weight:700}.ios-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.ios-steps{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.ios-step{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.step-num{color:#fff;background:#ea580c;border-radius:50%;place-items:center;width:26px;min-width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.ios-step p{color:#334155;margin:0;font-size:13px;line-height:1.4}.share-icon,.add-icon{font-size:16px}@media (width<=480px){.pwa-install-banner{padding:10px 14px;bottom:12px}.pwa-text p{display:none}}.profile-page{width:100%;max-width:1000px;margin:0 auto;padding:28px}.profile-page .page-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.profile-page .page-head h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.profile-page .page-head p{color:#64748b;margin:6px 0 0;font-size:14px}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:flex-start;gap:32px;padding:32px;display:flex;box-shadow:0 4px 12px #0f172a0d}.profile-avatar{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);border:4px solid #fef3c7;border-radius:50%;justify-content:center;align-items:center;width:96px;min-width:96px;height:96px;font-size:34px;font-weight:700;display:flex;box-shadow:0 4px 12px #8b69142e}.profile-details{flex:1;min-width:0}.profile-field{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:6px;padding:16px 0;display:flex}.profile-field:first-child{padding-top:0}.profile-field:last-child{border-bottom:none;padding-bottom:0}.profile-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.profile-field strong{color:#1e293b;word-break:break-word;font-size:16px;font-weight:600}.profile-field .role-badge{width:fit-content}@media (width<=640px){.profile-page{padding:20px 16px}.profile-page .page-head h1{font-size:24px}.profile-card{text-align:center;flex-direction:column;align-items:center;padding:24px}.profile-details{width:100%}.profile-field{align-items:center}}.users-page{width:100%;max-width:1400px;margin:0 auto;padding:28px}.users-page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.users-page-header h1{color:#0f172a;margin:0;font-size:28px;font-weight:700}.users-page-header p{color:#64748b;margin:6px 0 0;font-size:14px}.users-count{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:90px;padding:12px 18px}.users-count strong{color:#0f172a;font-size:22px;line-height:1.2;display:block}.users-count span{color:#64748b;margin-top:2px;font-size:12px;display:block}.users-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0f172a0d}.users-table-wrapper{width:100%;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:900px}.users-table thead{background:#fafaf9}.users-table th{color:#64748b;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:15px 18px;font-size:12px;font-weight:600}.users-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 18px;font-size:14px}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr{transition:background .15s}.users-table tbody tr:hover{background:#fffcf5}.user-table-profile{align-items:center;gap:12px;min-width:220px;display:flex}.user-table-avatar{color:#fff;background:linear-gradient(135deg,#ef7f31,#d45a1a);border-radius:50%;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.user-table-avatar img{object-fit:cover;width:100%;height:100%}.user-table-name{flex-direction:column;min-width:0;display:flex}.user-table-name strong{color:#1e293b;font-size:14px;font-weight:600}.user-table-name small{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;max-width:180px;margin-top:3px;font-size:10px;overflow:hidden}.user-email{color:#475569;white-space:nowrap}.user-role-badge,.subscription-badge,.auth-provider{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.user-role-badge{color:#475569;background:#f1f5f9}.user-role-badge.role-super_admin{color:#92400e;background:#fef3c7}.user-role-badge.role-admin{color:#1d4ed8;background:#dbeafe}.user-role-badge.role-user{color:#475569;background:#f1f5f9}.subscription-badge{color:#047857;background:#ecfdf5}.auth-provider{color:#64748b;background:#f8fafc}.created-date{color:#64748b;white-space:nowrap}.users-empty{text-align:center;padding:70px 24px}.empty-icon{margin-bottom:12px;font-size:36px}.users-empty h3{color:#1e293b;margin:0;font-size:18px}.users-empty p{color:#64748b;margin:6px 0 0;font-size:14px}.users-loading{color:#64748b;justify-content:center;align-items:center;gap:12px;min-height:300px;font-size:14px;display:flex}.loading-spinner{border:2px solid #e2e8f0;border-top-color:#c8922a;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite users-spin}@keyframes users-spin{to{transform:rotate(360deg)}}.users-error{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;flex-direction:column;gap:5px;padding:24px;display:flex}.users-error strong{font-size:15px}.users-error span{font-size:13px}.users-access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.access-denied-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:16px;font-size:24px;font-weight:700;display:flex}.users-access-denied h2{color:#1e293b;margin:0}.users-access-denied p{color:#64748b;margin:8px 0 0}@media (width<=768px){.users-page{padding:20px 16px}.users-page-header{align-items:flex-start}.users-page-header h1{font-size:24px}.users-count{min-width:70px;padding:10px 14px}}.user-role-select{cursor:pointer;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;outline:none;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.user-role-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.user-role-select.role-super_admin{color:#92400e;background-color:#fef3c7;border-color:#fde68a}.user-role-select.role-admin{color:#1d4ed8;background-color:#dbeafe;border-color:#bfdbfe}.user-role-select.role-user{color:#475569;background-color:#f1f5f9;border-color:#e2e8f0}.users-toast-success{color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px;font-weight:500}.role-confirm-body{color:#334155;padding:8px 0;font-size:14px}.role-change-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex}.role-change-preview .arrow{color:#94a3b8;font-weight:700}.modal-role-footer{justify-content:flex-end;gap:10px;width:100%;display:flex}.btn-modal-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.btn-modal-cancel:hover{background:#f1f5f9}.btn-modal-confirm{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.btn-modal-confirm:hover{background:#b45309}.btn-modal-confirm:disabled,.btn-modal-cancel:disabled{opacity:.6;cursor:not-allowed}.modal-role-error{color:#dc2626;margin-top:12px;font-size:13px}.users-invite-banner{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:1px solid #fed7aa;border-radius:14px;align-items:flex-start;gap:16px;margin-bottom:24px;padding:18px 22px;display:flex;box-shadow:0 2px 10px #ef7f310f}.invite-banner-icon{background:#fff;border-radius:12px;padding:8px;font-size:26px;line-height:1;box-shadow:0 2px 8px #0000000d}.invite-banner-content h3{color:#9a3412;margin:0 0 4px;font-size:16px;font-weight:700}.invite-banner-content p{color:#431407;margin:0 0 14px;font-size:14px;line-height:1.5}.invite-code-highlight{color:#ea580c;letter-spacing:.05em;background:#fff;border:1px dashed #f97316;border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;display:inline-block}.invite-banner-actions{flex-wrap:wrap;gap:10px;display:flex}.btn-copy-invite,.btn-copy-code{align-items:center;gap:6px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn-copy-invite:hover,.btn-copy-code:hover{transform:translateY(-1px)}.btn-whatsapp-invite{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #25d36640}.btn-whatsapp-invite:hover{background:#20bd5a;transform:translateY(-1px);box-shadow:0 4px 10px #25d36659}.announcements-page{width:100%;max-width:1200px;margin:0 auto;padding:24px}.announcements-header{margin-bottom:24px}.announcements-header .eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#ea580c;margin-bottom:4px;font-size:12px;font-weight:700}.announcements-header h1{color:#1e293b;margin:0 0 6px;font-size:26px;font-weight:800}.announcements-header .muted{color:#64748b;font-size:14px}.announcement-banner{border-radius:12px;align-items:center;gap:10px;margin-bottom:24px;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.announcement-banner.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.announcement-banner.error{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.compose-card,.preview-card,.templates-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 14px #0f172a0a}.compose-card h2,.preview-card h3,.templates-card h3{color:#0f172a;margin:0 0 4px;font-size:18px;font-weight:700}.card-subtitle{color:#64748b;margin-bottom:20px;font-size:13px}.announcement-form .form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex;position:relative}.announcement-form label{color:#334155;font-size:13px;font-weight:700}.announcement-form input,.announcement-form select,.announcement-form textarea{box-sizing:border-box;color:#1e293b;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.announcement-form input:focus,.announcement-form select:focus,.announcement-form textarea:focus{background-color:#fff;border-color:#f97316;outline:none;box-shadow:0 0 0 3px #f9731626}.form-hint{color:#94a3b8;font-size:12px}.char-count{color:#94a3b8;pointer-events:none;font-size:11px;font-weight:600;position:absolute;top:36px;right:12px}.btn-send-announcement{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef7f31,#d45a1a);border:none;border-radius:12px;width:100%;padding:13px 24px;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s;box-shadow:0 4px 14px #d45a1a40}.btn-send-announcement:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.btn-send-announcement:disabled{opacity:.6;cursor:not-allowed}.phone-push-mockup{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:14px;margin-top:12px;padding:14px;box-shadow:0 8px 20px #00000026}.phone-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.app-brand{letter-spacing:.1em;color:#fb923c;font-size:10px;font-weight:800}.now-time{color:#94a3b8;font-size:10px}.phone-notification-body strong{color:#f8fafc;margin-bottom:3px;font-size:13px;display:block}.phone-notification-body p{color:#cbd5e1;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.templates-list{flex-direction:column;gap:10px;display:flex}.template-item-btn{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:12px;width:100%;padding:12px;transition:background .15s,border-color .15s,transform .15s;display:flex}.template-item-btn:hover{background:#fff7ed;border-color:#fdba74;transform:translateY(-1px)}.tpl-icon{font-size:20px;line-height:1}.tpl-text strong{color:#1e293b;margin-bottom:2px;font-size:13px;display:block}.tpl-text p{color:#64748b;margin:0;font-size:11.5px;line-height:1.35}.announcements-access-denied{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:60px 20px}.access-denied-icon{margin-bottom:12px;font-size:48px}.inline-preview-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:24px 0 20px;padding:16px}.inline-preview-group label{color:#334155;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.announcements-layout{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.compose-card{width:100%}.side-panel{flex-direction:column;gap:20px;display:flex}@media (width<=900px){.announcements-layout{flex-direction:column;gap:16px;display:flex}.preview-card-wrapper{order:1;width:100%}.templates-card{order:3}.announcements-page{padding:16px}}
