:root{
  --bg:#071629;--bg-2:#0c1f3f;--bg-3:#10294d;--panel:#0f2847;--panel-2:#13305a;--panel-3:#173968;
  --line:#1e3a6e;--line-soft:#19345f;--text:#f5f8fb;--muted:#8ca6bd;--muted-2:#5e7d98;
  --orange:#22c55e;--orange-2:#4ade80;--orange-soft:#123a2a;--blue:#45a9ff;--green:#22c55e;--red:#ff5f6f;--yellow:#f2c14e;--purple:#ad7cff;
  --radius:16px;--shadow:0 18px 50px rgba(0,0,0,.25);--sidebar:196px;
  color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}::selection{background:var(--orange);color:#fff}
#app{min-height:100vh}#toast-root{position:fixed;right:20px;top:20px;z-index:5000;display:grid;gap:8px}.toast{background:#102b43;border:1px solid var(--line);padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);max-width:380px}.toast.success{border-color:#1d745b}.toast.error{border-color:#8a3241;color:#ffd7dc}
.brand-bolt{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--orange);color:#fff;font-weight:900;box-shadow:0 0 22px rgba(34,197,94,.4)}.brand-bolt.small{width:28px;height:28px;border-radius:8px}.brand-name{font-size:17px;font-weight:800}.brand-name b{color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:10px 15px;font-weight:700;color:var(--text);background:var(--panel-2);transition:.18s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-primary{background:var(--orange);box-shadow:0 8px 20px rgba(34,197,94,.22)}.btn-secondary{background:#12304a;border-color:#234d6d}.btn-ghost{background:transparent;border-color:#2a3b4d}.btn-danger{background:#45212c;border-color:#7f3040}.btn-warning{background:#45361d;border-color:#75602d}.btn-sm{padding:7px 10px;font-size:12px;border-radius:8px}.btn-xs{padding:5px 8px;font-size:11px;border-radius:7px}.btn-lg{padding:13px 20px;font-size:14px}.btn-block{width:100%}
.input,.select,.textarea{width:100%;background:#112d46;color:var(--text);border:1px solid #234a68;border-radius:10px;padding:11px 12px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:#3f7aa4;box-shadow:0 0 0 3px rgba(69,169,255,.08)}.textarea{min-height:100px;resize:vertical}.input-sm{padding:8px 10px;min-width:145px}.field{display:grid;gap:6px}.field label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#62a1d0;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-stack{display:grid;gap:15px}.form-section{grid-column:1/-1;padding:9px 0 4px;border-bottom:1px solid var(--line-soft);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);font-weight:800}.span-2{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);text-align:center}.auth-link{display:block;color:#9db5c9;font-size:12px;text-align:center;margin-top:10px}.auth-link:hover{color:var(--orange)}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#1b354b;color:#a7bdd0}.badge.green{background:#0e3b35;color:#61e3b6}.badge.blue{background:#12375a;color:#70bdff}.badge.yellow{background:#3b3116;color:#f1cf6a}.badge.red{background:#421e2a;color:#ff8794}.plan-pill,.plan-chip{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;background:#16456d;color:#dcefff;border:1px solid #2d5f86}.plan-chip{background:var(--orange);border:0;color:#fff}
.alert{border:1px solid #2b526e;background:#102943;border-radius:12px;padding:12px 14px;color:#a9c1d4}.alert-danger{border-color:#7d3441;background:#341b25;color:#ffc2ca}.alert-warning{border-color:#6e5926;background:#302919;color:#eed984}.legal-banner{display:flex;gap:13px;align-items:flex-start;border:1px solid #5e4d27;background:#282417;border-radius:13px;padding:13px;margin-bottom:18px}.legal-banner p{margin:4px 0 0;color:#bba968;font-size:12px;line-height:1.55}.legal-icon{width:28px;height:28px;display:grid;place-items:center;background:#3e321b;border-radius:8px}

/* Landing */
.landing{background:#080e16;min-height:100vh;color:#f7f9fc}.landing-nav{height:72px;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1180px)/2));border-bottom:1px solid #202a35;background:rgba(8,14,22,.94);backdrop-filter:blur(18px)}.landing-logo{display:flex;align-items:center;gap:10px;font-weight:800}.landing-nav nav{display:flex;gap:35px;color:#91a4b6;font-size:13px}.landing-nav nav a:hover{color:#fff}.landing-nav-actions{display:flex;gap:10px}.hero-section{position:relative;overflow:hidden;padding:90px 20px 110px;min-height:900px;text-align:center;border-bottom:1px solid #17202a}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#22303c55 1px,transparent 1px),linear-gradient(90deg,#22303c55 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000 0,transparent 75%)}.hero-glow{position:absolute;top:-230px;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(34,197,94,.22),transparent 65%);filter:blur(25px)}.hero-content{position:relative;z-index:1;max-width:850px;margin:auto}.eyebrow-pill{display:inline-flex;align-items:center;border:1px solid #18532f;background:#0d281b;color:var(--orange);border-radius:999px;padding:7px 13px;font-size:11px;font-weight:900;letter-spacing:.04em}.hero-content h1,.landing-section h2,.landing-cta h2{font-size:clamp(42px,5.8vw,76px);line-height:.98;letter-spacing:-.05em;margin:28px 0 20px}.hero-content h1 span,.landing-section h2 span,.landing-cta h2 span{color:var(--orange)}.hero-content>p{max-width:700px;margin:0 auto;color:#93a7ba;font-size:17px;line-height:1.6}.hero-actions{display:flex;justify-content:center;gap:12px;margin:32px 0}.hero-trust{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;color:#71879b;font-size:12px}.product-preview{position:relative;z-index:1;max-width:980px;margin:70px auto 0;background:#111c2a;border:1px solid #2a3a4b;box-shadow:0 35px 90px rgba(0,0,0,.35);text-align:left}.preview-bar{height:48px;background:#172338;display:flex;align-items:center;gap:8px;padding:0 18px}.preview-bar>span{width:9px;height:9px;border-radius:50%;background:#ff5d5d}.preview-bar>span:nth-child(2){background:#ffb83e}.preview-bar>span:nth-child(3){background:#35c76f}.preview-bar b{margin-left:18px;background:#08111c;border-radius:6px;padding:7px 120px 7px 14px;color:#57728d;font-size:10px}.preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px}.preview-kpis div{background:#19273b;border:1px solid #263a50;border-radius:11px;padding:20px}.preview-kpis small{color:#67839d}.preview-kpis strong{display:block;font-size:22px;margin-top:8px;color:#fff}.preview-kpis div:nth-child(3) strong{color:var(--green)}.preview-body{display:grid;grid-template-columns:1.8fr 1fr;gap:14px;padding:0 22px 24px}.preview-list,.preview-chart{background:#151f2e;border:1px solid #26384d;border-radius:10px;padding:16px}.preview-list>b,.preview-chart>b{font-size:12px;color:#91a7bd}.preview-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;background:#1b2940;border:1px solid #283d57;border-radius:8px;padding:10px;margin-top:8px;font-size:11px}.preview-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#203f5e;color:#78baff;font-weight:800}.preview-list em{font-style:normal;color:#b7cee2}.preview-chart>strong{display:block;font-size:28px;color:var(--orange);margin:28px 0 10px}.bars{display:flex;align-items:flex-end;gap:7px;height:90px;border-bottom:1px solid #2b4058}.bars i{display:block;flex:1;background:linear-gradient(var(--orange),#15803d);border-radius:3px 3px 0 0}.landing-section{padding:110px max(32px,calc((100vw - 1180px)/2));border-bottom:1px solid #151f29}.section-center{text-align:center;max-width:760px;margin:0 auto 55px}.landing-section h2{font-size:48px;margin:22px 0 14px}.section-center>p,.showcase>div>p{color:#8499ac;font-size:15px;line-height:1.6}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #28323d;border-radius:16px;overflow:hidden}.problem-grid article{padding:38px 30px;min-height:220px;border-right:1px solid #252e38}.problem-grid article:last-child{border-right:0}.problem-grid i{font-style:normal;font-size:20px}.problem-grid h3{font-size:15px;margin:22px 0 9px}.problem-grid p,.features-grid p,.steps p,.help-card p{color:#8599ac;line-height:1.6;font-size:13px}.solution-strip{margin-top:45px;padding:32px;border:1px solid #195832;background:#0a1d15;border-radius:14px;text-align:center;font-size:20px}.solution-strip span{color:var(--orange)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #29333e;border-radius:16px;overflow:hidden}.features-grid article{padding:34px;min-height:325px;border-right:1px solid #222d38;border-bottom:1px solid #222d38}.features-grid article:nth-child(3n){border-right:0}.features-grid article:nth-last-child(-n+3){border-bottom:0}.features-grid small{color:#35ad61;font-weight:800}.feature-blank{height:75px;background:#070c12;margin:18px 0 22px}.features-grid h3{font-size:16px}.features-grid article>div:last-child{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.features-grid article>div:last-child span{border:1px solid #1d6338;background:#0c2719;color:#40d576;border-radius:999px;padding:5px 8px;font-size:10px}.showcase{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.showcase h2{font-size:48px}.showcase ul{list-style:none;padding:0;margin:25px 0;color:#9cb2c5;display:grid;gap:12px}.showcase-panel{background:#111c2a;border:1px solid #2b3c4f;border-radius:15px;padding:18px;box-shadow:var(--shadow)}.showcase-top{padding:8px 4px 18px;font-weight:800}.showcase-top span{float:right;background:var(--orange);border-radius:999px;padding:4px 8px;font-size:9px}.showcase-card{background:#15243a;border-radius:12px;padding:16px}.fake-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-top:1px solid #2a3b50;padding:15px 2px;margin-top:10px}.fake-row span{font-size:10px;background:#17466d;padding:5px 8px;border-radius:999px}.fake-row em{font-style:normal;color:var(--orange);font-size:11px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:45px}.steps i,.help-card i{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#151f2e;border:1px solid #2c3948;color:var(--orange);font-style:normal;font-size:18px;font-weight:900}.steps h3{margin-top:24px}.faq-list{max-width:780px;margin:auto}.faq-list details{border-bottom:1px solid #242d38;padding:20px 0}.faq-list summary{list-style:none;font-weight:700;cursor:pointer}.faq-list summary span{float:right;color:#657c91}.faq-list p{color:#8499ac;line-height:1.6}.landing-cta{padding:100px 20px;text-align:center;background:radial-gradient(circle at center bottom,rgba(34,197,94,.08),transparent 58%)}.landing-cta h2{font-size:50px}.landing-cta p{color:#899fb3}.landing-cta>div:last-child{display:flex;gap:12px;justify-content:center;margin-top:28px}.landing-footer{padding:55px max(32px,calc((100vw - 1180px)/2));border-top:1px solid #1d2630;color:#6f8497;display:grid;grid-template-columns:1fr 1fr;gap:22px}.landing-footer>div:nth-of-type(2){display:flex;justify-content:flex-end;gap:24px}.landing-footer small{grid-column:1/-1;border-top:1px solid #17212b;padding-top:22px}

/* Auth */
.auth-shell{display:grid;grid-template-columns:minmax(380px,1fr) minmax(440px,1fr);min-height:100vh;background:#08111b}.auth-aside{padding:46px 8vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(circle at 25% 45%,rgba(34,197,94,.13),transparent 35%),linear-gradient(135deg,#070e16,#0b1825)}.auth-aside:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#23314033 1px,transparent 1px),linear-gradient(90deg,#23314033 1px,transparent 1px);background-size:55px 55px;pointer-events:none}.auth-aside>*{position:relative;z-index:1}.auth-aside h1{font-size:48px;line-height:1.02;letter-spacing:-.04em;max-width:590px;margin:22px 0}.auth-aside p{color:#8ca1b5;font-size:16px;max-width:580px;line-height:1.65}.auth-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.auth-points span{padding:7px 10px;background:#111e2b;border:1px solid #263849;border-radius:999px;color:#93a9bc;font-size:11px}.auth-aside small{color:#4f6579}.auth-panel{display:grid;place-items:center;padding:40px;background:#0b1723}.auth-card{width:min(520px,100%);background:#10263a;border:1px solid #24425b;border-radius:18px;padding:34px;box-shadow:var(--shadow)}.auth-card>h2{font-size:26px;margin:0}.auth-card>p{color:#829bb0;margin:8px 0 25px}.trial-form{grid-template-columns:1fr 1fr}.trial-form .btn{margin-top:6px}

/* App */
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#06101a;border-right:1px solid #16314a;display:flex;flex-direction:column;z-index:900}.sidebar-brand{height:78px;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid #142d43}.sidebar-brand strong{display:block;font-size:15px}.sidebar-brand span:last-child{display:block;color:#537a99;font-size:10px;margin-top:2px}.tenant-context-card{margin:13px 10px 4px;padding:12px;border:1px solid #243f56;background:#0d2031;border-radius:12px}.tenant-context-card small{font-size:8px;color:var(--orange);letter-spacing:.08em}.tenant-context-card strong{display:block;font-size:12px;margin:5px 0}.tenant-context-card>span{color:#66839c;font-size:9px;display:block;margin-bottom:8px}.nav{padding:9px 7px 90px;overflow:auto}.nav-group{font-size:8px;color:#4d7090;letter-spacing:.09em;margin:15px 7px 7px}.nav-item{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:9px;color:#91abc1;font-size:12px;margin:2px 0;transition:.15s}.nav-item:hover{background:#10243a;color:#d8e6f2}.nav-item.active{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(34,197,94,.26)}.nav-icon{width:16px;text-align:center;font-size:12px}.sidebar-footer{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #142d43;background:#06101a;padding:8px}.sidebar-utility{width:100%;text-align:left;border:0;background:transparent;color:#8ba6bc;padding:9px;border-radius:8px;font-size:11px}.sidebar-utility:hover{background:#102439}.sidebar-utility.danger{color:#ff6877}.main-wrap{grid-column:2;min-width:0}.topbar{height:64px;position:sticky;top:0;z-index:800;background:#0d263b;border-bottom:1px solid #244560;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.menu-btn{width:32px;height:32px;border:0;border-radius:8px;background:#1a4868;color:#b7d0e3}.topbar-brand{display:flex;align-items:center;gap:9px;margin-right:auto;margin-left:10px}.topbar-brand strong{font-size:13px}.context-chip{color:#86abc6;font-size:10px;border-left:1px solid #31536e;padding-left:10px}.topbar-right{display:flex;align-items:center;gap:10px}.user-chip{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#173a56;color:#86c4f3;font-size:10px;font-weight:800}.page{padding:27px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:21px}.page-head h1{font-size:24px;margin:0;letter-spacing:-.025em}.page-head p{color:#5e91b7;margin:4px 0 0;font-size:11px}.actions{display:flex;gap:8px;flex-wrap:wrap}.management-banner{background:#2b2516;border:1px solid #766026;color:#d6c075;border-radius:12px;padding:10px 13px;margin-bottom:16px;font-size:11px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:#0f273b;border:1px solid #24506f;border-radius:15px;overflow:hidden}.card-pad{padding:18px}.kpi{padding:18px;position:relative}.kpi-label{color:#5595c2;font-size:11px}.kpi-value{font-size:24px;font-weight:850;margin-top:8px;letter-spacing:-.03em}.kpi-sub{color:#537995;font-size:10px;margin-top:5px}.kpi-icon{position:absolute;right:14px;top:13px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:800}.kpi-icon.blue{background:#123f6a;color:#63b9ff}.kpi-icon.green{background:#0e483d;color:#4ee1b0}.kpi-icon.orange{background:#123824;color:#4ade80}.kpi-icon.purple{background:#35264d;color:#c294ff}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.section-title{font-size:14px;margin:0}.section-sub{font-size:10px;color:#5e829e;margin-top:4px}.list{display:grid;gap:7px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #1e425d;background:#102b43;border-radius:9px}.list-item-main{display:grid;gap:3px}.list-item-main strong{font-size:11px}.list-item-main span{font-size:9px;color:#688aa4}.amount-pos{color:#46d7a6;font-weight:800}.amount-neg{color:#ff7884;font-weight:800}.empty{text-align:center;padding:44px 20px;color:#5e83a0;display:grid;place-items:center;gap:8px}.empty strong{color:#739bb8}.empty span{font-size:11px}.empty-icon{font-size:28px;color:#2a536f}.table-card{overflow:hidden}.table-card-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #244863}.table-tools{display:flex;gap:7px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{background:#173a55;color:#4e94c1;text-transform:uppercase;letter-spacing:.03em;font-size:9px;text-align:left;padding:11px 12px}.table td{border-top:1px solid #22445f;padding:11px 12px;font-size:11px;color:#c8d8e5;vertical-align:middle}.table tr:hover td{background:#102b42}.hint{font-size:9px;color:#63839a;margin-top:3px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.row-actions{white-space:nowrap}.icon-action{width:26px;height:26px;border:0;background:transparent;border-radius:7px}.icon-action.orange{color:var(--orange)}.icon-action.blue{color:#4db1ff}.icon-action:hover{background:#17344b}.toolbar{display:flex;gap:8px;margin-bottom:13px}.toolbar .input{max-width:330px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail{background:#102c44;border:1px solid #1e435f;border-radius:9px;padding:10px}.detail label{display:block;color:#5787a8;font-size:9px;text-transform:uppercase}.detail span{display:block;margin-top:5px;font-size:11px}.profile-head{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#16476b;color:#71c1ff;font-weight:900}.tabs{display:flex;margin:18px 0 10px;border-bottom:1px solid #25445d}.tab{border:0;background:transparent;color:#8cabbe;padding:9px 3px;border-bottom:2px solid var(--orange)}.form-section+.field{margin-top:3px}.statute-box{border:1px solid #655323;background:#2b2819;border-radius:12px;padding:12px;color:#ccba79;font-size:11px}.chart-card{min-height:260px}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:175px;padding-top:20px}.chart-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.chart-bars i{display:block;width:100%;max-width:34px;background:#ffead0;border-radius:3px 3px 0 0}.chart-bars small{font-size:8px;color:#4b7a9b}.status-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.status-summary>div{background:#102c44;border:1px solid #1e445f;border-radius:10px;padding:13px}.status-summary span{display:block;color:#668aa5;font-size:10px}.status-summary b{display:block;margin-top:5px;font-size:18px}.platform-bars{display:grid;gap:16px;margin-top:20px}.platform-bars>div{display:grid;grid-template-columns:80px 1fr 25px;gap:10px;align-items:center}.platform-bars span{font-size:10px;color:#7ca0ba}.platform-bars>div>div{height:7px;background:#15354e;border-radius:999px;overflow:hidden}.platform-bars i{display:block;height:100%;background:var(--orange);border-radius:999px}.admin-footnote{margin-top:12px;color:#5f8198;font-size:10px}.settings-stack{display:grid;gap:14px;margin-bottom:14px}.password-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.help-card{padding:20px}.help-card h3{font-size:14px;margin:17px 0 8px}.entity-preview{padding:12px;background:#102c44;border:1px solid #214762;border-radius:10px}.entity-preview strong,.entity-preview span{display:block}.entity-preview span{color:#6e91aa;font-size:10px;margin-top:4px}.skeleton{border-radius:14px;background:linear-gradient(90deg,#0d2538 25%,#14314a 37%,#0d2538 63%);background-size:400% 100%;animation:sk 1.3s infinite}@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,7,14,.72);z-index:3000;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#0d2235;border:1px solid #2b4f6b;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.modal.lg{width:min(900px,100%)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#102a40;border-bottom:1px solid #244760}.modal-head h2{font-size:16px;margin:0}.modal-body{padding:18px}.modal-foot{position:sticky;bottom:0;background:#102a40;border-top:1px solid #244760;padding:13px 18px;display:flex;justify-content:flex-end;gap:8px}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid #294961;background:#16344b;color:#a9c2d4}

/* dimmer */
html[data-theme="dimmer"]{filter:saturate(.82)}html[data-theme="dimmer"] body{--bg:#0d1117;--bg-2:#121820;--panel:#151e28;--panel-2:#1b2732;--line:#33414e;--orange:#22c55e}

@media(max-width:1100px){.landing-nav nav{display:none}.features-grid{grid-template-columns:repeat(2,1fr)}.features-grid article:nth-child(3n){border-right:1px solid #222d38}.features-grid article:nth-child(2n){border-right:0}.showcase{grid-template-columns:1fr}.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.problem-grid{grid-template-columns:repeat(2,1fr)}.problem-grid article{border-bottom:1px solid #252e38}.steps{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}}
@media(max-width:760px){:root{--sidebar:250px}.landing-nav{padding:0 14px}.landing-nav-actions .btn-ghost{display:none}.hero-section{padding-top:65px;min-height:auto}.hero-content h1{font-size:45px}.hero-content>p{font-size:15px}.hero-actions,.landing-cta>div:last-child{flex-direction:column;max-width:330px;margin-left:auto;margin-right:auto}.product-preview{display:none}.landing-section{padding:75px 18px}.landing-section h2,.landing-cta h2{font-size:38px}.problem-grid,.features-grid,.steps{grid-template-columns:1fr}.problem-grid article,.features-grid article{border-right:0;border-bottom:1px solid #252e38!important}.landing-footer{grid-template-columns:1fr;padding:40px 20px}.landing-footer>div:nth-of-type(2){justify-content:flex-start;flex-wrap:wrap}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.18s}.sidebar.mobile-open{transform:translateX(0)}.main-wrap{margin-left:0}.topbar{padding:0 10px}.context-chip{display:none}.page{padding:18px 12px}.page-head{flex-direction:column}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}.form-grid,.trial-form{grid-template-columns:1fr}.span-2,.form-section{grid-column:auto}.table-tools,.toolbar{flex-direction:column;width:100%}.toolbar .input{max-width:none}.table-card-head{align-items:flex-start;flex-direction:column;gap:10px}.table-tools .input,.table-tools .select{width:100%}.detail-grid,.status-summary{grid-template-columns:1fr}.auth-panel{padding:18px}.auth-card{padding:22px}.preview-kpis{grid-template-columns:1fr 1fr}.preview-body{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal{max-height:95vh}.password-card{align-items:flex-start;gap:14px;flex-direction:column}}


/* Recursos adicionais do SIND */
.compat-note{border:1px solid #245c42;background:#0d2c22;color:#bce8ce;border-radius:12px;padding:12px 14px;margin-bottom:15px;font-size:12px;line-height:1.55}.compat-note b{color:#4ade80}
.legacy-member-form{gap:13px}.legacy-member-form .form-section{color:#4ade80;margin-top:5px}.legacy-detail{margin-top:16px}.legacy-detail .detail{min-height:64px}
.mini-kpi{border:1px solid #1e4661;background:#102c44;border-radius:11px;padding:13px}.mini-kpi span{display:block;color:#6d9abd;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.mini-kpi b{display:block;font-size:20px;margin-top:6px}
.receipt-preview{display:flex;align-items:center;gap:12px;margin-top:15px;padding:12px;border:1px solid #245c42;background:#0d2c22;border-radius:11px}.receipt-preview strong{color:#4ade80}.receipt-preview span{color:#9dc0b0;font-size:11px;flex:1}
.action-field{align-self:end}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.steps-compact{display:grid;gap:10px}.steps-compact>div{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:9px;border:1px solid #1e435f;background:#102b43;border-radius:9px}.steps-compact b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#123824;color:#4ade80}.steps-compact span{font-size:11px;color:#a8bdce;line-height:1.5}.small-value{font-size:15px!important}.muted{color:var(--muted);font-size:11px;line-height:1.55}.modal.xl{width:min(1180px,100%)}
@media(max-width:760px){.receipt-preview{align-items:flex-start;flex-direction:column}.toolbar-actions{flex-direction:column}.toolbar-actions .btn{width:100%}}

/* Cadastro com foto e identidade de impressão */
.member-photo-editor{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid #24506f;background:#0d2439;border-radius:13px}.member-photo-preview,.member-detail-photo,.member-photo-large{position:relative;display:grid;place-items:center;overflow:hidden;background:#102c44;border:1px solid #2c5876;color:#7fb6da;font-weight:900}.member-photo-preview{width:86px;height:104px;border-radius:10px}.member-photo-preview img,.member-detail-photo img,.member-photo-large img{width:100%;height:100%;object-fit:cover;display:none}.member-photo-copy strong{display:block;margin-bottom:5px}.member-photo-copy p{margin:0 0 10px;color:var(--muted);font-size:11px}.member-detail-photo{width:70px;height:84px;border-radius:10px;flex:0 0 auto}.member-detail-photo span{font-size:18px}.profile-actions{margin-top:9px}.member-photo-large{width:160px;height:190px;border-radius:12px;margin:auto;font-size:28px}.photo-manage{text-align:center}.photo-manage .input{margin-top:13px}.photo-file-hidden{display:none}.photo-source-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.photo-camera-panel{margin-top:12px;padding:12px;border:1px solid #2c5876;border-radius:10px;background:#091f32;text-align:left}.photo-camera-stage{margin-top:8px;border-radius:10px;overflow:hidden;background:#020b12;aspect-ratio:4/3;display:grid;place-items:center}.photo-camera-stage video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.photo-camera-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.photo-camera-panel .hint{margin-top:8px}.photo-camera-panel[hidden]{display:none!important}
.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.asset-tile{display:grid;gap:8px;padding:12px;border:1px solid #1e435f;background:#102b43;border-radius:11px}.asset-tile strong{font-size:11px}.asset-preview{height:90px;display:grid;place-items:center;border:1px dashed #315c79;border-radius:9px;background:#0b2134;color:#5f8ba9;font-weight:800;overflow:hidden}.asset-preview.wide{height:90px}.asset-preview img{width:100%;height:100%;object-fit:contain;display:none;background:#fff}.asset-preview.has-image span{display:none}.print-settings-form{padding-top:14px;border-top:1px solid #1e435f}.finance-filter{align-items:end}
@media(max-width:760px){.member-photo-editor{grid-template-columns:1fr}.member-photo-preview{margin:auto}.asset-grid{grid-template-columns:1fr}.member-detail-photo{width:58px;height:70px}}


/* ==========================================================
   SIND v2.4 — UX compacta + responsividade integral
   ========================================================== */
:root{--control-h:38px;--compact-gap:9px}
body{overflow-x:hidden}
.page{max-width:1600px;padding:20px 22px}
.page-head{margin-bottom:14px;gap:12px}.page-head h1{font-size:22px}.page-head p{font-size:10px;line-height:1.45}
.card-pad,.kpi{padding:14px}.card{border-radius:12px}.section-head{margin-bottom:10px}.grid{gap:10px}
.btn{min-height:36px;padding:8px 12px;border-radius:8px;font-size:12px}.btn-sm{min-height:30px;padding:6px 9px}.btn-xs{min-height:26px;padding:4px 7px}
.input,.select,.textarea{min-height:var(--control-h);padding:8px 10px;border-radius:8px;font-size:12px}.textarea{min-height:76px}.field{gap:4px}.field label{font-size:9px;line-height:1.2}.form-grid,.form-stack{gap:10px}.form-section{padding:7px 0 3px;font-size:10px}
.alert,.compat-note,.legal-banner{padding:10px 12px;border-radius:10px;margin-bottom:12px}.table th{padding:9px 10px}.table td{padding:9px 10px}.toolbar{gap:7px;margin-bottom:10px;flex-wrap:wrap}.toolbar .input{max-width:360px}.list{gap:5px}.list-item{padding:8px 9px}.detail{padding:8px}.empty{padding:32px 16px}
.modal{border-radius:12px}.modal-head{padding:12px 14px}.modal-body{padding:14px}.modal-foot{padding:10px 14px}.modal.member-modal{width:min(1540px,calc(100vw - 18px));height:min(95dvh,1000px);max-height:95dvh;overflow:hidden;display:flex;flex-direction:column}.member-modal .modal-head,.member-modal .modal-foot{flex:0 0 auto}.member-modal .modal-body{flex:1;min-height:0;overflow:auto;padding:8px 9px}
.member-compact-form{display:grid;gap:7px}.member-primary-grid{display:grid;grid-template-columns:205px minmax(0,1fr);gap:7px;align-items:stretch}.member-section-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.member-section{background:#0c2438;border:1px solid #1f4966;border-radius:9px;padding:8px 9px;min-width:0}.member-section.member-wide{grid-column:1/-1}.member-section-title{color:#4ade80;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;padding-bottom:5px;margin-bottom:6px;border-bottom:1px solid #1c3e57}.member-fields-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 7px;align-items:end}.member-family .member-fields-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.member-work .member-fields-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.member-work .member-span-2{grid-column:span 2}.member-work .member-span-all{grid-column:1/-1}.member-span-2{grid-column:span 2}.member-span-3{grid-column:span 3}.member-span-4,.member-span-all{grid-column:1/-1}.member-fields-grid>.member-span-2,.member-fields-grid>.member-span-3,.member-fields-grid>.member-span-all{min-width:0}.member-fields-grid .textarea{min-height:58px}.member-form-note{border:1px solid #245c42;background:#0d2c22;color:#a9d9bb;border-radius:8px;padding:7px 9px;font-size:9px}.member-form-note b{color:#4ade80}
.member-photo-editor{grid-template-columns:70px 1fr;gap:8px;align-content:start;padding:8px;border-radius:10px;height:100%;min-height:0}.member-photo-preview{width:64px;height:80px;border-radius:8px}.member-photo-copy p{font-size:10px;margin-bottom:6px;line-height:1.4}.photo-source-actions{gap:6px;margin-top:6px}.photo-source-actions .btn{padding:6px 9px;min-height:32px}.photo-status{margin:6px 0 0;color:#7ba3bd;font-size:9px}.photo-camera-panel{padding:9px;margin-top:8px}.photo-camera-actions{gap:6px;margin-top:7px}
.sidebar-scrim{display:none;position:fixed;inset:0;border:0;background:rgba(0,8,16,.68);backdrop-filter:blur(2px);z-index:1080}
.tabs{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.tab{white-space:nowrap}

@media(max-width:1250px){
  .member-primary-grid{grid-template-columns:190px minmax(0,1fr)}
  .member-section-layout{grid-template-columns:1fr}
  .grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:980px){
  :root{--sidebar:min(300px,88vw)}
  .app-shell{display:block}.main-wrap{margin-left:0;grid-column:auto}
  .sidebar{width:var(--sidebar);transform:translateX(-102%);transition:transform .2s ease;z-index:1100;box-shadow:18px 0 55px rgba(0,0,0,.36)}
  .sidebar.mobile-open{transform:translateX(0)}.sidebar.mobile-open + .sidebar-scrim{display:block}
  .topbar{height:58px;padding:0 12px}.page{padding:16px 14px}
  .grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .member-primary-grid{grid-template-columns:1fr}.member-photo-editor{grid-template-columns:82px 1fr}.member-fields-grid,.member-family .member-fields-grid,.member-work .member-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-family .member-span-2,.member-family .member-span-3,.member-work .member-span-2,.member-work .member-span-3{grid-column:1/-1}.member-span-3{grid-column:1/-1}
  .modal.member-modal{width:min(960px,calc(100vw - 18px));height:94dvh}
  .asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .context-chip{display:none}
}

@media(max-width:640px){
  body{font-size:13px}.topbar{height:56px;padding:0 9px}.topbar-brand{margin-left:7px}.plan-chip{padding:4px 7px;font-size:8px}.user-chip{width:30px;height:30px}
  .page{padding:12px 10px 76px}.page-head{flex-direction:column;align-items:stretch;margin-bottom:12px}.page-head h1{font-size:20px}.page-head .actions{width:100%}.page-head .actions .btn{flex:1 1 auto}
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis .kpi{padding:11px}.dashboard-kpis .kpi-value{font-size:20px}.dashboard-kpis .kpi-icon{width:26px;height:26px}
  .toolbar,.table-tools{display:grid;grid-template-columns:1fr;width:100%}.toolbar>*{width:100%;max-width:none!important}.actions{width:100%}.actions .btn{flex:1 1 140px}
  .card-pad{padding:12px}.legal-banner{gap:9px}.status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}.list-item{align-items:flex-start}.list-item-main{min-width:0}.row-actions{white-space:normal}
  .responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tbody{display:grid;gap:9px}.responsive-table tr{background:#0d2539;border:1px solid #214a67;border-radius:11px;padding:7px 9px;overflow:hidden}.responsive-table td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:8px;align-items:start;border:0!important;padding:6px 2px;font-size:11px}.responsive-table td::before{content:attr(data-label);color:#5e9ac4;text-transform:uppercase;letter-spacing:.035em;font-size:8px;font-weight:850;line-height:1.45}.responsive-table td[data-label=""]{display:flex;justify-content:flex-end;gap:6px}.responsive-table td[data-label=""]::before{display:none}.responsive-table td .btn{max-width:100%;white-space:normal}.responsive-table td:last-child{padding-bottom:3px}
  .modal-backdrop{padding:0;place-items:stretch}.modal,.modal.lg,.modal.xl,.modal.member-modal{width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;display:flex;flex-direction:column}.modal-head{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));flex:0 0 auto}.modal-head h2{font-size:15px}.modal-body{flex:1;min-height:0;overflow:auto;padding:10px}.modal-foot{flex:0 0 auto;padding:9px 10px;padding-bottom:max(9px,env(safe-area-inset-bottom));gap:7px;flex-wrap:wrap}.modal-foot .btn{flex:1 1 130px;min-height:44px}.icon-btn{width:36px;height:36px}
  .member-modal .modal-body{padding:8px}.member-compact-form{gap:7px}.member-primary-grid,.member-section-layout{display:grid;grid-template-columns:1fr;gap:7px}.member-section{padding:8px}.member-fields-grid,.member-family .member-fields-grid,.member-work .member-fields-grid{grid-template-columns:1fr;gap:7px}.member-span-2,.member-span-3,.member-span-4,.member-span-all,.member-family .member-span-2,.member-family .member-span-3,.member-work .member-span-2,.member-work .member-span-3{grid-column:1/-1}.member-photo-editor{grid-template-columns:76px 1fr;padding:8px}.member-photo-preview{width:68px;height:84px}.photo-source-actions{display:grid;grid-template-columns:1fr 1fr}.photo-source-actions .btn{width:100%;min-height:40px}.photo-camera-actions{display:grid;grid-template-columns:1fr}.photo-camera-actions .btn{width:100%;min-height:44px}.member-fields-grid .input,.member-fields-grid .select{min-height:44px}.member-fields-grid .textarea{min-height:90px}.field label{font-size:9px}.member-form-note{font-size:9px}
  .input,.select{min-height:44px}.textarea{min-height:96px}.btn{min-height:42px}.btn-sm{min-height:38px}.btn-xs{min-height:34px}
  .asset-grid{grid-template-columns:1fr}.password-card{align-items:stretch}.password-card .btn{width:100%}.receipt-preview{align-items:stretch}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.toolbar-actions .btn{width:100%}
  .chart-card{min-height:220px}.chart-bars{height:135px}.platform-bars>div{grid-template-columns:72px 1fr 22px}.preview-kpis{grid-template-columns:1fr 1fr}.landing-nav-actions .btn-primary{padding-inline:10px}
}

@media(max-width:400px){
  .dashboard-kpis{grid-template-columns:1fr}.status-summary{grid-template-columns:1fr}.photo-source-actions,.toolbar-actions{grid-template-columns:1fr}.member-photo-editor{grid-template-columns:1fr;text-align:center}.member-photo-preview{margin:auto}.member-photo-copy{text-align:left}
}


/* SIND v2.4.2 - area de foto simplificada */

.member-photo-editor .hint:empty,
.member-photo-editor p:empty,
.member-photo-editor [data-photo-status-for]:empty{
  display:none !important;
}

.member-photo-choice-row{
  display:grid !important;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:6px;
  width:100%;
  margin-top:6px;
  align-items:center;
}

.member-photo-choice-row > *{
  width:100% !important;
  min-width:0;
  margin:0 !important;
}

.member-photo-choice-row .btn,
.member-photo-choice-row button,
.member-photo-choice-row label{
  min-height:34px;
  padding:6px 8px;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
  text-align:center;
}

.member-photo-editor{
  align-content:start;
}

.member-photo-editor strong{
  display:block;
  margin-bottom:4px;
}

@media(max-width:640px){

  .member-photo-choice-row{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .member-photo-choice-row .btn,
  .member-photo-choice-row button,
  .member-photo-choice-row label{
    font-size:12px;
  }
}


/* ==========================================================
   SIND v2.4.3 — FOTO DO ASSOCIADO
   ========================================================== */

.member-photo-editor{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;

  width:100% !important;
  min-width:0 !important;

  padding:10px !important;
  text-align:center !important;
}

/* título */
.member-photo-editor strong{
  display:block !important;
  width:100% !important;

  margin:0 0 2px !important;

  text-align:center !important;
  line-height:1.25 !important;
}

/* foto */
.member-photo-preview{
  flex:none !important;

  width:78px !important;
  height:98px !important;

  margin:0 auto !important;

  border-radius:8px !important;
  overflow:hidden !important;

  object-fit:cover !important;
}

.member-photo-preview img{
  width:100% !important;
  height:100% !important;

  object-fit:cover !important;
  display:block !important;
}

/* linha dos botões */
.member-photo-choice-row{
  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr) !important;

  gap:7px !important;

  width:100% !important;
  max-width:230px !important;

  margin:2px auto 0 !important;
}

/* botões */
.member-photo-choice-row > *,
.member-photo-choice-row button,
.member-photo-choice-row label,
.member-photo-choice-row .btn{
  box-sizing:border-box !important;

  width:100% !important;
  min-width:0 !important;
  max-width:none !important;

  min-height:34px !important;

  margin:0 !important;
  padding:6px 8px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  white-space:nowrap !important;

  font-size:11px !important;
  line-height:1.1 !important;

  text-align:center !important;
}

/* esconder textos auxiliares da foto */
.member-photo-editor .hint,
.member-photo-editor [data-photo-status-for]{
  display:none !important;
}

/* painel da câmera continua ocupando toda largura */
.member-photo-editor [id$="-camera-panel"]{
  width:100% !important;
  max-width:100% !important;

  text-align:left !important;
}

/* tablets */
@media(max-width:900px){

  .member-photo-editor{
    padding:9px !important;
  }

  .member-photo-choice-row{
    max-width:260px !important;
  }
}

/* celulares */
@media(max-width:640px){

  .member-photo-editor{
    padding:10px !important;
  }

  .member-photo-preview{
    width:86px !important;
    height:108px !important;
  }

  .member-photo-choice-row{
    width:100% !important;
    max-width:280px !important;
  }

  .member-photo-choice-row button,
  .member-photo-choice-row label,
  .member-photo-choice-row .btn{
    min-height:38px !important;
    font-size:12px !important;
  }
}

/* celulares muito estreitos */
@media(max-width:360px){

  .member-photo-choice-row{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   SIND v2.4.4 — AJUSTE FINO DA ÁREA DA FOTO
   ========================================================== */

.member-photo-editor{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;

  min-height:240px !important;
  padding:14px 12px 16px !important;
  gap:0 !important;
}

/* FOTO MAIOR */
.member-photo-preview{
  flex:none !important;
  width:96px !important;
  height:122px !important;
  margin:2px auto 12px !important;
  border-radius:8px !important;
  overflow:hidden !important;
}

.member-photo-preview img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* TÍTULO MAIS BAIXO E MAIS RESPIRADO */
.member-photo-editor strong{
  display:block !important;
  width:100% !important;
  margin:2px 0 16px !important;
  text-align:center !important;
  line-height:1.2 !important;
  font-size:15px !important;
}

/* BOTÕES MAIS EMBAIXO */
.member-photo-choice-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px !important;
  width:100% !important;
  max-width:250px !important;
  margin:4px auto 0 !important;
}

.member-photo-choice-row > *,
.member-photo-choice-row button,
.member-photo-choice-row label,
.member-photo-choice-row .btn{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:38px !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.1 !important;
  text-align:center !important;
  margin:0 !important;
}

/* ESCONDE TEXTOS AUXILIARES */
.member-photo-editor .hint,
.member-photo-editor [data-photo-status-for]{
  display:none !important;
}

@media (max-width: 640px){
  .member-photo-editor{
    min-height:220px !important;
    padding:12px 10px 14px !important;
  }

  .member-photo-preview{
    width:92px !important;
    height:116px !important;
    margin:2px auto 10px !important;
  }

  .member-photo-editor strong{
    font-size:14px !important;
    margin:2px 0 14px !important;
  }

  .member-photo-choice-row{
    max-width:100% !important;
    gap:8px !important;
    margin-top:2px !important;
  }
}

@media (max-width: 360px){
  .member-photo-choice-row{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   SIND v2.5.0 — RESPONSIVIDADE GLOBAL
   Desktop / Notebook / Tablet / Celular
   ========================================================== */

html,
body{
  width:100%;
  max-width:100%;
  min-height:100%;
  overflow-x:hidden;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
  min-width:0;
}

/* ==========================================================
   ÁREA PRINCIPAL
   ========================================================== */

.page,
.page-root,
#page-root,
.main-content,
.content,
.app-content{
  min-width:0;
  max-width:100%;
}

.page{
  width:100%;
  margin:0 auto;
  padding:
    clamp(14px,1.5vw,24px)
    clamp(12px,1.6vw,28px);
}

.page-head,
.page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  min-width:0;
}

.page-head > *,
.page-header > *{
  min-width:0;
}

/* ==========================================================
   GRIDS E CARDS
   ========================================================== */

.cards,
.card-grid,
.dashboard-grid,
.stats-grid,
.metrics-grid,
.summary-grid,
.settings-grid{
  display:grid;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(min(230px,100%),1fr)
    );
  gap:12px;
  min-width:0;
}

.card,
.panel,
.box,
.stat-card,
.dashboard-card{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* ==========================================================
   TOOLBARS / FILTROS
   ========================================================== */

.toolbar,
.filters,
.filter-bar,
.actions,
.page-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:0;
}

.toolbar > *,
.filters > *,
.filter-bar > *{
  min-width:140px;
  flex:1 1 160px;
}

.toolbar > button,
.filters > button,
.filter-bar > button{
  flex:0 0 auto;
  min-width:auto;
}

/* ==========================================================
   FORMULÁRIOS
   ========================================================== */

.form-grid,
.fields-grid,
.modal-grid{
  display:grid;
  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );
  gap:10px;
}

.field,
.form-group{
  min-width:0;
}

.input,
.select,
.textarea,
input,
select,
textarea{
  width:100%;
}

textarea{
  resize:vertical;
}

/* ==========================================================
   MODAIS
   ========================================================== */

.modal-overlay,
.modal-backdrop{
  padding:12px;
}

.modal{
  max-width:
    min(96vw,1500px);
  max-height:94dvh;
}

.modal-body{
  overflow:auto;
  overscroll-behavior:contain;
}

.modal-head,
.modal-foot{
  min-width:0;
}

.modal-foot{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

/* ==========================================================
   TABELAS
   ========================================================== */

.table-wrap,
.table-container,
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
}

th,
td{
  min-width:0;
}

/* ==========================================================
   SIDEBAR
   ========================================================== */

.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}

.sidebar a,
.sidebar button{
  max-width:100%;
}

/* ==========================================================
   DESKTOP GRANDE
   ========================================================== */

@media screen and (min-width:1440px){

  .page{
    max-width:1680px;
  }

  .modal.member-modal{
    width:
      min(
        1580px,
        calc(100vw - 28px)
      );
  }

}

/* ==========================================================
   NOTEBOOK / DESKTOP MENOR
   ========================================================== */

@media screen and (max-width:1200px){

  .page{
    padding:16px;
  }

  .member-primary-grid{
    grid-template-columns:
      185px minmax(0,1fr) !important;
  }

  .member-fields-grid,
  .member-family .member-fields-grid{
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      ) !important;
  }

  .member-work .member-fields-grid{
    grid-template-columns:
      repeat(
        4,
        minmax(0,1fr)
      ) !important;
  }

}

/* ==========================================================
   TABLET
   ========================================================== */

@media screen and (max-width:900px){

  .page{
    padding:14px;
  }

  .page-head,
  .page-header{
    gap:10px;
  }

  .cards,
  .card-grid,
  .dashboard-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .settings-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .form-grid,
  .fields-grid,
  .modal-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }

  .member-primary-grid{
    grid-template-columns:
      1fr !important;
  }

  .member-section-layout{
    grid-template-columns:
      1fr !important;
  }

  .member-section.member-wide{
    grid-column:auto !important;
  }

  .member-fields-grid,
  .member-family .member-fields-grid,
  .member-work .member-fields-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      ) !important;
  }

  .member-span-2,
  .member-span-3,
  .member-span-4,
  .member-span-all,
  .member-family .member-span-2,
  .member-family .member-span-3,
  .member-work .member-span-2,
  .member-work .member-span-3{
    grid-column:auto !important;
  }

  .member-span-all{
    grid-column:1/-1 !important;
  }

  .modal{
    width:
      calc(100vw - 20px) !important;
  }

}

/* ==========================================================
   CELULAR
   ========================================================== */

@media screen and (max-width:640px){

  body{
    font-size:14px;
  }

  .page{
    width:100%;
    padding:10px;
  }

  .page-head,
  .page-header{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .page-head .btn,
  .page-header .btn{
    width:100%;
  }

  /* CARDS */

  .cards,
  .card-grid,
  .dashboard-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .settings-grid{
    grid-template-columns:1fr;
    gap:9px;
  }

  /* FILTROS */

  .toolbar,
  .filters,
  .filter-bar{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .toolbar > *,
  .filters > *,
  .filter-bar > *,
  .toolbar > button,
  .filters > button,
  .filter-bar > button{
    width:100%;
    min-width:0;
    max-width:none;
  }

  /* FORMULÁRIOS */

  .form-grid,
  .fields-grid,
  .modal-grid,
  .member-fields-grid,
  .member-family .member-fields-grid,
  .member-work .member-fields-grid{
    grid-template-columns:1fr !important;
  }

  .member-span-2,
  .member-span-3,
  .member-span-4,
  .member-span-all,
  .member-family .member-span-2,
  .member-family .member-span-3,
  .member-work .member-span-2,
  .member-work .member-span-3{
    grid-column:1/-1 !important;
  }

  .input,
  .select,
  .textarea,
  input,
  select,
  textarea{
    width:100%;
    min-height:42px;
  }

  textarea{
    min-height:88px;
  }

  /* MODAL MOBILE = TELA INTEIRA */

  .modal-overlay,
  .modal-backdrop{
    padding:0 !important;
    align-items:stretch !important;
  }

  .modal,
  .modal.member-modal{
    width:100vw !important;
    height:100dvh !important;

    max-width:none !important;
    max-height:none !important;

    margin:0 !important;

    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;

    display:flex !important;
    flex-direction:column !important;
  }

  .modal-head{
    flex:0 0 auto;
    padding:
      max(10px,env(safe-area-inset-top))
      12px
      10px !important;
  }

  .modal-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto !important;
    overflow-x:hidden !important;

    padding:10px !important;

    -webkit-overflow-scrolling:touch;
  }

  .modal-foot{
    flex:0 0 auto;

    position:sticky;
    bottom:0;

    padding:
      10px
      10px
      max(
        10px,
        env(safe-area-inset-bottom)
      ) !important;

    background:var(--panel,#0f2847);

    display:grid !important;
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );

    gap:8px;
  }

  .modal-foot .btn{
    width:100%;
    min-height:44px;
  }

  /* FOTO */

  .member-photo-editor{
    width:100% !important;
  }

  .member-photo-preview{
    width:96px !important;
    height:122px !important;
  }

  .member-photo-choice-row{
    width:100% !important;
    max-width:300px !important;
  }

  /* BOTÕES */

  .btn{
    min-height:42px;
  }

  /* TABELAS → CARDS */

  table[data-sind-responsive="1"]{
    display:block;
    width:100%;
  }

  table[data-sind-responsive="1"] thead{
    display:none;
  }

  table[data-sind-responsive="1"] tbody{
    display:grid;
    gap:10px;
    width:100%;
  }

  table[data-sind-responsive="1"] tr{
    display:block;
    width:100%;

    padding:6px 10px;

    border:
      1px solid
      var(--border,#1e3a6e);

    border-radius:10px;

    background:
      var(--panel,#0f2847);
  }

  table[data-sind-responsive="1"] td{
    display:grid;

    grid-template-columns:
      minmax(105px,38%)
      minmax(0,1fr);

    align-items:center;

    gap:10px;

    width:100%;

    padding:8px 0;

    border:0;

    border-bottom:
      1px solid
      rgba(255,255,255,.07);

    text-align:right;
    overflow-wrap:anywhere;
  }

  table[data-sind-responsive="1"] td:last-child{
    border-bottom:0;
  }

  table[data-sind-responsive="1"] td::before{
    content:
      attr(data-label);

    font-size:10px;
    font-weight:800;

    text-transform:uppercase;

    color:
      var(--muted,#78a9cf);

    text-align:left;
  }

  table[data-sind-responsive="1"] td > .btn{
    justify-self:end;
  }

}

/* ==========================================================
   CELULAR PEQUENO
   ========================================================== */

@media screen and (max-width:380px){

  .page{
    padding:8px;
  }

  .modal-body{
    padding:8px !important;
  }

  .modal-foot{
    grid-template-columns:1fr !important;
  }

  .member-photo-choice-row{
    grid-template-columns:1fr !important;
  }

  table[data-sind-responsive="1"] td{
    grid-template-columns:1fr;
    gap:4px;
    text-align:left;
  }

}

/* ==========================================================
   IMPRESSÃO NÃO HERDA LAYOUT MOBILE
   ========================================================== */

@media print{

  .sidebar,
  .topbar,
  .mobile-overlay,
  .no-print{
    display:none !important;
  }

  body,
  html,
  .page,
  #page-root{
    width:auto !important;
    max-width:none !important;
    overflow:visible !important;
  }

}







/* ==========================================================
   SIND v2.5.6 - MENU MOBILE INDEPENDENTE
   ========================================================== */

.mobile256{
  display:none;
}

@media (max-width:980px){

  /* elimina visualmente os menus anteriores */

  .menu-btn[data-action="mobile-menu"],
  #sind-mobile-menu-toggle,
  #sind-mobile-menu-v252,
  #sind-mobile-trigger-v253,
  #sind-mobile-drawer-v253,
  #sind-mobile-overlay-v253,
  #sind-native-mobile-menu,
  .sind-mobile-menu-v252,
  .sind-mobile-trigger-v253,
  .sind-mobile-drawer-v253{
    display:none !important;
    pointer-events:none !important;
  }


  .mobile256{
    display:block !important;
  }


  .mobile256-check{
    position:fixed !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
  }


  /*
   * BOTÃO
   */

  .mobile256-button{
    position:fixed !important;

    top:max(16px,env(safe-area-inset-top));
    left:14px;

    z-index:2147483640 !important;

    width:46px;
    height:46px;

    display:flex !important;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.14);
    border-radius:11px;

    background:#153f68;
    color:#fff;

    font-size:23px;
    line-height:1;

    box-shadow:0 5px 18px rgba(0,0,0,.25);

    cursor:pointer;

    touch-action:manipulation !important;
    pointer-events:auto !important;

    -webkit-tap-highlight-color:transparent;
    user-select:none;
  }


  /*
   * CAMADA
   */

  .mobile256-layer{
    position:fixed !important;

    inset:0;

    z-index:2147483600 !important;

    visibility:hidden;
    pointer-events:none;
  }


  .mobile256-backdrop{
    position:absolute;

    inset:0;

    display:block;

    background:rgba(0,8,18,.72);

    opacity:0;

    pointer-events:none;

    transition:opacity .18s ease;
  }


  /*
   * DRAWER
   */

  .mobile256-drawer{
    position:absolute;

    top:0;
    bottom:0;
    left:0;

    width:min(86vw,330px);
    height:100dvh;

    display:flex;
    flex-direction:column;

    background:#09283e;
    color:#fff;

    border-right:1px solid rgba(255,255,255,.10);

    transform:translateX(-105%);

    transition:transform .20s ease;

    overflow:hidden;

    pointer-events:auto;
  }


  /*
   * A ABERTURA É SOMENTE CSS.
   */

  #mobile256-check:checked ~ .mobile256-layer{
    visibility:visible;
    pointer-events:auto;
  }

  #mobile256-check:checked
  ~ .mobile256-layer
  .mobile256-backdrop{
    opacity:1;
    pointer-events:auto;
  }

  #mobile256-check:checked
  ~ .mobile256-layer
  .mobile256-drawer{
    transform:translateX(0);
    box-shadow:16px 0 42px rgba(0,0,0,.48);
  }


  /*
   * HEADER
   */

  .mobile256-header{
    flex:0 0 auto;

    min-height:70px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:
      max(14px,env(safe-area-inset-top))
      12px
      10px
      68px;

    border-bottom:1px solid rgba(255,255,255,.10);
  }


  .mobile256-brand{
    display:flex;
    align-items:center;
    gap:10px;

    font-size:17px;
  }


  .mobile256-brand > span{
    width:37px;
    height:37px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:#19c969;

    font-weight:900;
  }


  .mobile256-close{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;

    background:#143e62;

    color:#fff;

    font-size:27px;

    cursor:pointer;
  }


  /*
   * LINKS
   */

  .mobile256-nav{
    flex:1 1 auto;

    min-height:0;

    overflow-y:auto;

    padding:
      12px
      10px
      max(24px,env(safe-area-inset-bottom));

    -webkit-overflow-scrolling:touch;
  }


  .mobile256-title{
    margin-top:9px;

    padding:7px 10px 5px;

    color:#75a8c9;

    font-size:10px;
    font-weight:900;

    text-transform:uppercase;

    letter-spacing:.08em;
  }


  .mobile256-nav button[data-route]{
    width:100%;

    min-height:46px;

    display:grid;

    grid-template-columns:28px 1fr;

    align-items:center;

    gap:8px;

    padding:8px 10px;
    margin:0 0 3px;

    border:0;
    border-radius:8px;

    background:transparent;
    color:#e8f2f9;

    font:inherit;
    font-size:14px;

    text-align:left;

    cursor:pointer;

    touch-action:manipulation;
  }


  .mobile256-nav button[data-route]:active{
    background:rgba(255,255,255,.10);
  }


  .mobile256-nav button[data-route] > span{
    min-width:0;
  }


  /*
   * deixa espaço no topo para o novo botão
   */

  .topbar{
    padding-left:70px !important;
  }

}


@media(max-width:380px){

  .mobile256-drawer{
    width:91vw;
  }

}


/* ==========================================================
   SIND DEV — MIGRAÇÃO SUPERADMIN
   ========================================================== */

.migration-admin-grid{
  align-items:start;
}

.migration-stats{
  display:grid;
  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );
  gap:8px;
}

.migration-stat{
  min-width:0;
  padding:10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:rgba(255,255,255,.025);
}

.migration-stat span{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:5px;
}

.migration-stat strong{
  display:block;
  font-size:20px;
}

.migration-session-card{
  margin-top:10px;
}

.migration-confirm-box{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(34,197,94,.35);
  border-radius:10px;
  background:rgba(34,197,94,.06);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.migration-confirm-box strong{
  flex:1 1 260px;
}

.migration-confirm-box span{
  flex:2 1 360px;
  color:var(--muted);
  font-size:12px;
}

@media(max-width:900px){

  .migration-stats{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }
}

@media(max-width:640px){

  .migration-stats{
    grid-template-columns:1fr;
  }

  .migration-confirm-box{
    display:grid;
    grid-template-columns:1fr;
  }

  .migration-confirm-box .btn{
    width:100%;
  }
}


/* ==========================================================
   SIND DEV — ADMINISTRAÇÃO DE SINDICATOS
   ========================================================== */

.platform-tenant-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.platform-tenant-actions .btn{
  white-space:nowrap;
}

.platform-delete-btn{
  border:
    1px solid
    rgba(239,68,68,.42);

  background:
    rgba(239,68,68,.10);

  color:#fecaca;
}

.platform-delete-btn:hover{
  background:
    rgba(239,68,68,.20);
}

.platform-delete-warning{
  padding:14px;

  border:
    1px solid
    rgba(239,68,68,.35);

  border-radius:10px;

  background:
    rgba(239,68,68,.07);
}

.platform-delete-warning h3{
  margin:
    8px
    0
    3px;

  font-size:20px;
}

.platform-delete-warning p{
  margin:
    7px
    0;

  color:var(--muted);
}

.platform-delete-warning > span{
  color:var(--muted);
  font-size:12px;
}

.platform-delete-alert{
  border-color:
    rgba(239,68,68,.40) !important;

  background:
    rgba(239,68,68,.07) !important;
}

.deletion-count-grid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:8px;
}

.deletion-count-grid > div{
  padding:10px;

  border:
    1px solid
    var(--border);

  border-radius:9px;

  background:
    rgba(255,255,255,.025);
}

.deletion-count-grid span{
  display:block;

  margin-bottom:4px;

  color:var(--muted);

  font-size:11px;
}

.deletion-count-grid strong{
  display:block;

  font-size:18px;
}

@media(max-width:700px){

  .platform-tenant-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .platform-tenant-actions .btn{
    width:100%;
  }

  .deletion-count-grid{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }
}

