:root{--primary:#2660B6;--navy:#162744;--accent:#0A8D93;--bg:#f5f7fb;--paper:#fff;--ink:#19283f;--muted:#617287;--border:#e3e9f2;--good:#137c60;--warn:#96651e;--bad:#ae354e;--shadow:0 12px 36px rgba(20,40,80,.06);--radius:18px}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:var(--primary)}input,select,textarea{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary),white 62%);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.55rem,2.7vw,2.2rem);letter-spacing:-.045em;line-height:1.2}h2{font-size:1.15rem;letter-spacing:-.025em;line-height:1.3}h3{font-size:1rem}p{line-height:1.55}small{font-size:.79rem;color:var(--muted)}.muted,.subtle-text{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ico{width:20px;height:20px;flex:none}.shell{display:flex;min-height:100dvh}.sidebar{width:252px;flex:none;background:linear-gradient(160deg,var(--navy),#0c1b33);color:#d1def1;height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;padding:22px 13px 14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#34506e transparent;z-index:20}.brand{display:flex;align-items:center;gap:11px;margin:2px 7px 20px;color:#fff!important}.brand-icon{width:45px;height:45px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;color:#fff;font-size:28px;font-weight:850;box-shadow:0 6px 17px rgba(8,18,35,.12)}.brand strong{display:block;letter-spacing:-.05em;font-size:1.45rem}.brand small{font-size:.69rem;color:#aec0d6}.nav-label{font-size:.66rem;letter-spacing:.16em;font-weight:800;color:#8a9cb7;margin:18px 14px 8px}.nav-link{color:#c8d6e9;display:flex;align-items:center;gap:12px;min-height:43px;border-radius:11px;padding:9px 12px;margin:2px 0;font-size:.88rem;font-weight:620;transition:background .18s,color .18s}.nav-link:hover,.nav-link.active{background:rgba(91,159,247,.17);color:white}.nav-link.active{box-shadow:inset 3px 0 var(--accent)}.nav-link .ico{width:19px;height:19px}.sidebar-bottom{margin-top:auto;font-size:.72rem;padding:18px 13px 10px;color:#96acc5;line-height:1.6}.body-panel{flex:1;min-width:0}.topbar{height:73px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 clamp(17px,3vw,35px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:12}.top-context strong{display:block;font-size:.91rem}.top-context small{display:block;margin-top:2px}.top-actions{display:flex;align-items:center;gap:9px}.ws-switch select{max-width:155px;height:36px;border-radius:10px;border:1px solid var(--border);background:white;color:var(--ink);font-size:.75rem;padding:0 8px}.icon-action{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:white;color:var(--ink)}.user-bubble,.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#e7efff;color:var(--primary);font-weight:800}.avatar.large{width:60px;height:60px;font-size:1.4rem}.content{max-width:1440px;padding:27px clamp(17px,3vw,40px) 70px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 26px}.page-heading h1{margin-bottom:7px}.page-heading p{font-size:.91rem;color:var(--muted);margin:0}.help-text{display:flex;align-items:center;gap:7px;font-size:.82rem;white-space:nowrap}.help-text .ico{width:16px}.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.pad{padding:clamp(16px,2.2vw,24px)}.card+.card,.card+.two-col,.two-col+.card,.two-col+.two-col,.kpi-grid+.two-col,.kpi-grid+.card,.kpi-grid+.tiles,.tiles+.card,.hero+.kpi-grid,.actions+.card{margin-top:17px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:15px}.card-heading h2{margin:0}.eyebrow{font-weight:800;letter-spacing:.15em;text-transform:uppercase;font-size:.7rem;color:#8aa3c5}.hero{border-radius:23px;background:linear-gradient(122deg,var(--navy),var(--primary));color:white;padding:26px clamp(18px,3vw,32px);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:212px;overflow:hidden}.hero .eyebrow{color:#b3dafa}.hero h2{font-size:clamp(1.4rem,2.7vw,2rem);max-width:620px;line-height:1.15;letter-spacing:-.05em;margin:10px 0}.hero p{color:#e2eaf5;max-width:540px;font-size:.87rem}.hero-gauge{width:154px;height:154px;border:13px solid #ffffff31;border-top-color:#8cdcd6;border-right-color:#88bcff;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;flex-shrink:0}.hero-gauge strong{font-size:2.1rem}.hero-gauge span{font-size:.74rem;color:#e3eaff}.btn{border:1px solid transparent;padding:10px 15px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;font-weight:730;font-size:.87rem;line-height:1.2;transition:transform .16s,box-shadow .16s,background .16s}.btn:hover{transform:translateY(-1px)}.btn .ico{width:17px;height:17px}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(22,82,169,.15)}.btn.secondary{background:#eef4fd;color:#1b5f9d;border-color:#d3e4fa}.btn.subtle{background:white;border-color:var(--border);color:var(--ink)}.btn.light{background:white;color:var(--navy)}.btn.whatsapp{background:#e2f6eb;color:#146b48;border-color:#c9e8d6}.btn.danger{color:#a62940;border-color:#f5d9dd;background:#fff2f4}.btn.small{min-height:34px;padding:6px 11px;font-size:.79rem}.btn.outline-white{background:#ffffff11;color:#fff;border-color:#ffffff66}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:15px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.kpi-grid.mini{gap:10px}.kpi{padding:20px 18px;border:1px solid var(--border);border-radius:16px;background:white;min-width:0}.kpi span{color:#5c6c81;font-size:.78rem;display:block}.kpi strong{display:block;font-size:clamp(1.05rem,1.8vw,1.45rem);font-weight:820;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:12px;overflow-wrap:anywhere;line-height:1.2}.kpi.positive strong{color:var(--good)}.kpi.negative strong{color:var(--bad)}.kpi-grid.mini .kpi{padding:13px 14px}.kpi-grid.mini .kpi strong{font-size:clamp(.95rem,1.5vw,1.18rem)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.mini-tile{display:grid;grid-template-columns:32px 1fr;column-gap:10px;padding:16px 14px;border-radius:15px;background:white;border:1px solid var(--border);color:var(--ink);align-items:center}.mini-tile .ico{grid-row:span 2;color:var(--primary);width:24px;height:24px}.mini-tile strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.mini-tile span{font-size:.76rem;color:var(--muted)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px;margin-bottom:17px}.tag{border-radius:100px;font-size:.7rem;font-weight:750;padding:5px 9px;display:inline-flex;align-items:center;white-space:nowrap}.tag.good{color:#08714f;background:#e1f5ed}.tag.bad{color:#a62e44;background:#ffedf0}.tag.warn{color:#966019;background:#fff4df}.tag.muted{color:#53627a;background:#edf1f6}.alert{padding:13px 17px;border-radius:12px;background:#e5f7ee;color:#12694c;border:1px solid #bde8d5;margin-bottom:19px}.alert.danger{background:#fff0f0;color:#a63044;border-color:#f5ccd3}.alert.warning{background:#fff6e6;color:#875c1d;border-color:#f5e4bb}.note{font-size:.83rem;line-height:1.55;padding:13px 15px;background:#f1f6fc;color:#435d7e;border:1px solid #dce9f8;border-radius:12px;margin:15px 0}.note.warning{background:#fff9e9;color:#76581e;border-color:#f5e9c7}.note.positive{color:var(--good);background:#ebfaf3;border-color:#cceede}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}.form-grid.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field,.form-grid>label:not(.check){display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.8rem;font-weight:730;color:#4d5e72}.field span{display:block}.field small{display:block;font-weight:500;margin-top:3px}.field input,.field textarea,.field select,.form-grid>label:not(.check)>input,.form-grid>label:not(.check)>textarea,.form-grid>label:not(.check)>select{width:100%;background:white;color:var(--ink);border:1px solid #d6e0ec;border-radius:11px;min-height:43px;padding:10px 12px;font-size:.87rem;font-weight:500}.field textarea{min-height:95px;resize:vertical}.field input[type=color]{padding:4px;max-width:130px;height:48px}.field input[type=file]{border-style:dashed}.form-grid .form-footer{display:flex;align-items:end;justify-content:flex-start;grid-column:1/-1}.form-grid .check,.check{display:flex;gap:9px;align-items:flex-start;line-height:1.45;font-size:.83rem;cursor:pointer;font-weight:500;color:var(--ink)}.check input{width:18px;height:18px;flex:none;accent-color:var(--primary)}.searchbar{display:flex;gap:8px;margin-bottom:14px}.searchbar input{flex:1;min-width:0;border-radius:11px;border:1px solid var(--border);padding:11px}.person-list{display:flex;flex-direction:column;gap:3px}.person-row{display:flex;align-items:center;gap:11px;padding:12px 8px;border-radius:12px;color:var(--ink)}.person-row:hover,.collection-card:hover{background:#f4f8fd}.person-row strong,.collection-card strong{display:block;font-size:.86rem}.person-row small,.collection-card small{display:block;margin-top:4px}.person-row .grow{min-width:0}.person-row .grow strong,.person-row .grow small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grow{flex:1}.arrow{font-size:1.5rem;color:#96a3b6}.profile-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.profile-head h2{font-size:1.35rem;margin:0 0 5px}.profile-head p{margin:0 0 8px}.profile-head .actions{margin-left:auto}.collection-cards{display:grid;gap:8px}.collection-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:13px;color:var(--ink)}.category-mark{background:#e9f2fc;color:var(--primary);border-radius:12px;font-weight:850;width:41px;height:41px;display:grid;place-items:center}.entry{border-top:1px solid var(--border);padding:13px 0;font-size:.85rem}.entry:first-child{border-top:0}.entry p{margin:7px 0}.entry small{display:block;margin-top:5px}.entry>form{margin-top:9px}.entry .between{margin-bottom:4px}.between{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:650px;font-size:.81rem}th{text-align:left;color:#64758b;background:#f8fafd;font-size:.72rem;font-weight:790;white-space:nowrap}th,td{padding:12px 11px;border-bottom:1px solid var(--border);vertical-align:middle}td small{display:block;margin-top:4px;font-size:.71rem}.num,.strong{font-variant-numeric:tabular-nums}.num{text-align:right;white-space:nowrap}.strong{font-weight:800}tr:hover td{background:#fcfdff}.empty-state{text-align:center;color:#718097;padding:42px 15px}.empty-state>.ico{width:32px;height:32px;color:#96acc4}.empty-state h3{margin:11px 0 6px;color:var(--ink)}.empty-state p{max-width:420px;margin:auto auto 14px;font-size:.84rem}.allocation{background:#f7fafd;border:1px solid #e5ebf4;padding:10px 12px;border-radius:11px}.allocation>input{max-width:180px}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.filters label{display:flex;flex-direction:column;gap:7px;color:#56667b;font-size:.8rem;font-weight:650;flex:1;min-width:125px}.filters input,.filters select{border:1px solid #d6e0ec;border-radius:10px;background:white;padding:10px;min-height:42px;width:100%}.wa-report{margin:15px 0;padding:14px;background:#f3fcf6;border:1px solid #d8ebdd;border-radius:13px}.wa-report textarea{display:block;width:100%;margin:12px 0;padding:13px;border:1px solid #bbd6c5;border-radius:10px;background:white;line-height:1.55;min-height:150px}.chart-legend{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.76rem;margin-bottom:18px}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:9px}.dot.due,.bar.due{background:#9bbced}.dot.paid,.bar.paid{background:var(--accent)}.chart-row{display:flex;align-items:center;gap:12px;margin:11px 0;font-size:.75rem}.chart-row>span{width:55px;flex:none}.chart-row>small{width:82px;text-align:right;flex:none}.bars{flex:1;display:flex;flex-direction:column;gap:3px}.bar{height:9px;border-radius:3px}.aging-row{margin:18px 0}.aging-row .between{font-size:.81rem;margin-bottom:6px}.progress{height:10px;border-radius:40px;background:#edf2f7;overflow:hidden}.progress>span{height:100%;display:block;background:var(--primary);border-radius:40px}.template-grid,.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}.template-card{display:flex;flex-direction:column;gap:9px;border:1px solid var(--border);background:#f8fbff;border-radius:13px;padding:16px;min-width:0}.template-card strong{font-size:.91rem}.template-card p{font-size:.81rem;white-space:pre-line;overflow-wrap:anywhere;flex:1}.template-card .tag{align-self:flex-start}.feature-toggle-list{display:flex;flex-direction:column;gap:8px}.feature-row{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:.75rem;border-bottom:1px solid #edf1f7;padding:6px 0}.feature-row input[type=number]{width:85px;padding:6px;border:1px solid var(--border);border-radius:7px}.feature-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.entitlement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:16px 0}.entitlement-grid>div{border:1px solid var(--border);border-radius:9px;padding:10px}.entitlement-grid strong{display:block;font-size:.78rem;text-transform:capitalize}.entitlement-grid span{color:var(--muted);font-size:.76rem}.brand-preview{--preview-primary:var(--primary);--preview-navy:var(--navy);--preview-accent:var(--accent);border-radius:17px;border:1px solid var(--border);overflow:hidden}.brand-preview-head{background:var(--preview-navy);color:white;padding:13px 17px;font-weight:780}.brand-preview-body{min-height:240px;padding:26px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f7f9fe}.brand-preview .ring-loader{--primary:var(--preview-primary);--accent:var(--preview-accent)}.brand-preview-body strong{margin:16px 0 6px}.brand-preview-body p{font-size:.8rem;color:var(--muted)}.admin-nav{display:flex;gap:7px;overflow-x:auto;margin-bottom:19px;padding:5px 0;scrollbar-width:thin}.admin-nav>a{white-space:nowrap;padding:10px 13px;border-radius:10px;border:1px solid var(--border);background:white;color:var(--ink);font-size:.8rem;font-weight:650}.admin-nav>a:hover{background:#e7f0fe;color:var(--primary)}.inline-form{display:flex;gap:6px;align-items:center}.inline-form select,.inline-form input{padding:7px;border:1px solid var(--border);border-radius:8px}.impersonate{position:sticky;top:73px;z-index:13;background:#fff1d2;border-bottom:1px solid #efd38c;color:#734c14;padding:8px 25px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem}.secret-code{display:block;word-break:break-all;background:#eef4fd;border-radius:12px;padding:15px;letter-spacing:.1em;font-weight:bold}.code-sample{overflow-x:auto;background:#f5f8fd;border-radius:10px;padding:14px;font-size:.78rem;line-height:1.6}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.quick-grid a{padding:16px 12px;border-radius:12px;background:#f0f6ff;color:var(--navy);font-size:.88rem;font-weight:690}.quick-grid a:hover{background:#dbeafe}dialog{border:1px solid #dde6f2;border-radius:20px;max-width:min(95vw,460px);box-shadow:0 18px 80px #0003;padding:23px}dialog::backdrop{background:rgba(14,31,58,.6)}.bottomnav{display:none}.saving-overlay{position:fixed;z-index:200;inset:0;background:#0c1b34bd;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;backdrop-filter:blur(5px)}.saving-overlay[hidden]{display:none!important}.saving-overlay p{margin-top:19px;font-weight:640}.ring-loader{width:74px;height:74px;border:7px solid color-mix(in srgb,var(--primary),white 78%);border-top-color:var(--primary);border-right-color:var(--accent);border-radius:50%;position:relative;animation:ring 1.08s linear infinite;display:flex;align-items:center;justify-content:center;background:white;box-shadow:0 6px 24px #0001}.ring-loader span{font-weight:900;font-size:2rem;color:var(--primary);animation:unring 1.08s linear infinite}@keyframes ring{to{transform:rotate(360deg)}}@keyframes unring{to{transform:rotate(-360deg)}}.saving-overlay .ring-loader{width:90px;height:90px;border-width:8px}.saving-overlay .ring-loader span{font-size:2.4rem}
/* Public marketing, install and authentication pages. */
.public{background:#f8fafe}.public-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px max(20px,calc((100vw - 1210px)/2));background:#fff;border-bottom:1px solid var(--border)}.public-header .brand{color:var(--navy)!important;margin:0}.public-header .brand strong{font-size:1.35rem}.public-header .brand small{color:var(--muted)}.public-header nav{display:flex;align-items:center;gap:23px;font-size:.82rem;font-weight:690}.public-header nav a:not(.btn){color:#495c76}.public-content{min-height:calc(100dvh - 90px)}.landing-hero{max-width:1280px;margin:24px auto 0;background:linear-gradient(122deg,var(--navy),var(--primary));padding:60px clamp(24px,6vw,75px);border-radius:24px;color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:35px;min-height:345px;align-items:center}.landing-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.06;letter-spacing:-.057em;max-width:680px;margin:15px 0}.landing-hero p{font-size:1.02rem;color:#e8f0fa;max-width:580px}.landing-hero .eyebrow{color:#b1d8f5}.hero-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px}.hero-art .ring-loader{width:130px;height:130px;border-width:13px}.hero-art .ring-loader span{font-size:3rem}.hero-art h3{font-size:.95rem;text-align:center}.landing-stats{display:flex;justify-content:center;gap:70px;padding:25px}.landing-stats>div{text-align:center}.landing-stats strong{display:block;font-size:1.6rem;color:var(--navy)}.landing-stats span{color:var(--muted);font-size:.78rem}.landing-section{max-width:1210px;margin:65px auto;padding:0 25px}.landing-section h1,.landing-section h2{text-align:center}.landing-section>p{text-align:center;color:var(--muted);max-width:730px;margin:12px auto 35px}.feature-grid,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.feature-card,.steps>div{background:white;border:1px solid var(--border);border-radius:17px;padding:22px;min-width:0}.feature-card>span{display:grid;place-items:center;width:38px;height:38px;color:var(--primary);border-radius:12px;background:#edf4fe;margin-bottom:15px}.feature-card strong{display:block;font-size:1.02rem}.feature-card p,.steps p{color:var(--muted);font-size:.87rem;margin:6px 0}.steps strong{display:block;font-size:2.1rem;color:var(--primary);margin-bottom:9px}.steps h3{font-size:1.1rem}.cta-band{max-width:1210px;margin:50px auto;background:linear-gradient(135deg,var(--primary),var(--navy));color:white;border-radius:20px;padding:38px;text-align:center}.cta-band h2{font-size:1.6rem}.cta-band p{color:#dbe9f8}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px}.pricing-grid>.card h2{text-align:left;font-size:1.5rem;margin:12px 0}.pricing-grid .card small{font-size:.7rem}.pricing-grid .card ul{padding-left:18px;color:#56677e;font-size:.78rem;line-height:1.9;min-height:165px}.pricing-grid .btn{width:100%}.public-footer{border-top:1px solid var(--border);padding:27px clamp(20px,6vw,70px);margin-top:60px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;color:#50647e;background:white}.public-footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem}.public-footer small{width:100%}.auth-card{width:min(475px,calc(100% - 30px));margin:60px auto;background:#fff;padding:35px;border-radius:23px;border:1px solid var(--border);box-shadow:var(--shadow)}.auth-card .logo-icon{width:54px;height:54px;border-radius:15px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:800;margin-bottom:20px}.auth-card h1{font-size:1.65rem}.auth-card p{color:var(--muted);font-size:.88rem}.auth-card .form-grid .btn{width:100%}.install-callout{text-align:center;background:white;border:1px solid var(--border);border-radius:21px;padding:40px;display:flex;flex-direction:column;align-items:center}.install-callout h1{margin:20px 0 5px}.install-callout p{max-width:600px;color:var(--muted)}.install-callout .btn{margin:12px}details{padding:12px 0;border-bottom:1px solid var(--border)}summary{cursor:pointer;font-weight:680}.public .note{max-width:1200px;margin:20px auto}
@media(max-width:1150px){.sidebar{width:230px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:15px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:900px){.sidebar{display:none}.content{padding:22px 18px calc(115px + env(safe-area-inset-bottom))}.topbar{height:63px;padding:0 16px}.impersonate{top:63px}.help-text{display:none}.bottomnav{position:fixed;z-index:35;left:0;right:0;bottom:0;display:flex;align-items:stretch;justify-content:space-around;background:#fffffffa;backdrop-filter:blur(13px);border-top:1px solid var(--border);box-shadow:0 -10px 25px #1e2e4e12;padding:7px 6px calc(8px + env(safe-area-inset-bottom));min-height:70px}.bottomnav a,.bottomnav button{width:20%;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;background:none;color:#65768b;font-size:.65rem;font-weight:720}.bottomnav a:hover{color:var(--primary)}.bottomnav a .ico,.bottomnav button .ico{width:23px;height:23px}.bottomnav .add-tab{transform:translateY(-15px);color:var(--primary)}.add-circle{width:49px;height:49px;border-radius:17px;background:var(--primary);color:white;display:grid;place-items:center;box-shadow:0 7px 19px #1d69aa55}.bottomnav .add-tab .ico{width:27px;height:27px}.public-header nav{gap:12px}.landing-hero{margin:12px 12px 0}.public-header{padding:13px 20px}}
@media(max-width:720px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi strong{font-size:clamp(.94rem,3vw,1.16rem)}.kpi{padding:15px 13px;min-height:100px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hero{padding:22px 17px;min-height:165px}.hero-gauge{width:92px;height:92px;border-width:8px}.hero-gauge strong{font-size:1.1rem}.hero-gauge span{font-size:.55rem;text-align:center}.hero h2{font-size:clamp(1.18rem,4vw,1.65rem)}.hero p{font-size:.8rem}.two-col{grid-template-columns:minmax(0,1fr)}.form-grid.grid-2{grid-template-columns:minmax(0,1fr)}.page-heading h1{font-size:1.55rem}.card-heading{align-items:flex-start}.public-header nav>a:nth-child(1),.public-header nav>a:nth-child(3){display:none}.landing-hero{grid-template-columns:minmax(0,1fr);text-align:center;padding:37px 22px}.landing-hero .actions{justify-content:center}.landing-hero .hero-art{display:none}.feature-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card,.steps>div{padding:17px}.landing-section{margin:35px auto}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-header nav .btn{padding:9px 11px}.profile-head .actions{margin-left:0}.admin-nav{margin-left:-10px;margin-right:-10px;padding-left:10px}}
@media(max-width:450px){.content{padding:17px 13px calc(115px + env(safe-area-inset-bottom))}.top-context{min-width:0}.top-context strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{gap:5px}.ws-switch select{max-width:85px;font-size:.68rem}.icon-action{width:34px;height:34px}.top-actions .icon-action:nth-child(2){display:none}.hero-gauge{display:none}.hero{min-height:180px}.kpi-grid{gap:8px}.kpi{padding:13px 10px}.kpi strong{font-size:clamp(.88rem,3.3vw,1rem);overflow-wrap:anywhere}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-tile{padding:12px 10px}.mini-tile strong{font-size:.95rem}.pad{padding:16px 13px}.feature-grid,.steps,.pricing-grid{grid-template-columns:minmax(0,1fr)}.landing-hero{border-radius:16px}.public-header nav>a:nth-child(2){display:none}.public-header .brand strong{font-size:1.07rem}.public-header .brand small{display:none}.public-header .brand-icon{width:37px;height:37px;font-size:1.6rem}.public-header nav>a:not(.btn){font-size:.76rem}.auth-card{margin:26px auto;padding:25px 21px}.profile-head .avatar.large{width:45px;height:45px}.profile-head h2{font-size:1.15rem}.profile-head .grow{min-width:0}.profile-head p{overflow-wrap:anywhere}.wa-report textarea{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.brand-icon img{display:block;width:90%;height:90%;object-fit:contain;border-radius:11px}.ring-loader span{width:calc(100% - 8px);height:calc(100% - 8px);display:grid;place-items:center}.ring-loader span img{width:100%;height:100%;max-width:56px;max-height:56px;object-fit:contain;border-radius:50%}.progress.mini{height:5px;margin:5px 0 0;min-width:70px}.progress.mini>span{background:linear-gradient(90deg,var(--accent),var(--primary))}

/* R02 category references and private invitation UX */
.detail-fields {grid-column:1/-1;padding:14px 16px;border:1px solid #dfe7f1;border-radius:12px;background:rgba(244,248,253,.7)}
.detail-fields > summary {font-weight:650;cursor:pointer;margin-bottom:10px}
.detail-fields .form-grid{margin-top:10px}
.detail-fields [hidden] {display:none!important}
.detail-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.detail-grid div{padding:10px;border:1px solid #e6ebf1;border-radius:10px}
.detail-grid dt{color:#62718b;font-size:.78rem}
.detail-grid dd{margin:4px 0 0;font-weight:650;word-break:break-word}
.wide-input {display:block;width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:9px;margin:8px 0}

/* R04: scoped, expiring recipient statements and private review inbox */
.recipient-portal{background:radial-gradient(circle at 100% 0%,#e5efff,transparent 52%),#f3f6fb;color:var(--ink);min-height:100dvh}
.recipient-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,var(--navy),#1d4383);color:#f7fbff;padding:0 clamp(18px,5vw,56px);font-size:.68rem;letter-spacing:.13em;font-weight:800}
.recipient-brand{font-size:1.45rem;color:#fff;letter-spacing:-.045em}.recipient-brand:first-letter{color:#7edfdc}.recipient-brand span{color:#fff}
.recipient-container{max-width:980px;margin:0 auto;padding:clamp(18px,4vw,42px) clamp(14px,3vw,28px) 65px}
.recipient-intro{margin-bottom:20px}.recipient-intro h1{font-size:clamp(1.5rem,5vw,2.1rem);margin:7px 0}.recipient-intro p{color:#60738d;font-size:.91rem}
.recipient-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:20px 0}
.recipient-summary>div{display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid #dce5f0;border-radius:16px;background:white;padding:19px 15px;box-shadow:0 6px 24px #172b4b09;min-width:0}
.recipient-summary>div span{font-size:.73rem;color:#60738d;font-weight:700}.recipient-summary strong{font-size:clamp(.91rem,2.1vw,1.38rem);letter-spacing:-.03em;overflow-wrap:anywhere}.recipient-summary>div:last-child{background:#eef5ff;border-color:#c8d9f5;color:#173f86}
.recipient-item{padding:17px 0;border-bottom:1px solid var(--border)}.recipient-item:last-child{border-bottom:0}.recipient-item .between{align-items:flex-start;gap:8px}.recipient-item strong{overflow-wrap:anywhere}.recipient-item small{display:block;margin-top:5px}
.recipient-values{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:13px;font-size:.82rem;color:#526680}.recipient-values strong{color:#142b48;white-space:nowrap}.recipient-action{margin-top:16px;border:1px solid #d9e4f4;border-radius:12px;padding:13px;background:#f8fbff}.recipient-action summary{font-size:.84rem;color:var(--primary);font-weight:750}.recipient-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:17px 0 3px}.recipient-forms form{align-content:start;padding:14px;border-radius:12px;background:white;border:1px solid #e3ebf4}.recipient-forms form h3{margin:0 0 6px}
.recipient-privacy{margin:24px 0;font-size:.84rem}.recipient-privacy p{margin:8px 0 0}.recipient-footer{text-align:center;color:#718197;padding:16px;font-size:.73rem}
.recipient-link-output{display:flex;gap:8px;margin:10px 0}.recipient-link-output input{flex:1;min-width:0;padding:11px;border:1px solid var(--border);border-radius:9px;font-size:.79rem}.recipient-once{background:#edf6ff;border:1px solid #bfdaf2;margin:12px 0}
.recipient-review{border-bottom:1px solid var(--border);padding:21px 0}.recipient-review:last-child{border-bottom:0}.recipient-review p{margin:10px 0;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}.recipient-review .form-grid{max-width:650px;margin-top:13px;padding:13px;border-radius:13px;background:#f6f9fc;border:1px solid var(--border)}.recipient-review small{display:block}
.recipient-action-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.recipient-action-banner p{margin:6px 0 0;font-size:.82rem}
@media(max-width:630px){.recipient-summary{gap:7px}.recipient-summary>div{padding:13px 10px}.recipient-forms{grid-template-columns:1fr}.recipient-values{gap:6px 12px}.recipient-values span{display:flex;justify-content:space-between;gap:12px;width:100%}.recipient-action-banner{flex-direction:column;align-items:stretch}.recipient-action-banner .btn{text-align:center}.recipient-header{padding:0 16px}}

.recipient-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.recipient-history-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.82rem}.recipient-history-row:last-child{border-bottom:0}.recipient-history-row small{display:block;margin-top:5px}.recipient-history-row>strong{white-space:nowrap;color:var(--navy)}
@media(max-width:700px){.recipient-columns{grid-template-columns:1fr}.recipient-history-row{gap:9px}}

.recipient-portal .is-submitting{opacity:.76;cursor:wait;pointer-events:none}.recipient-portal .is-submitting:before{content:"";display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;margin-right:8px;animation:ek-spin .7s linear infinite}@keyframes ek-spin{to{transform:rotate(360deg)}}

.recipient-pending{margin-top:12px;background:#fff9e8;border:1px solid #efda9d;font-size:.85rem}.recipient-pending p{margin:5px 0 0}

/* R05 chronological statements, payment receipts and print layout */
.statement-table td,.statement-table th{vertical-align:top}
.statement-table td small{display:block;margin-top:3px;max-width:320px;overflow-wrap:anywhere}
.statement-filter{margin-bottom:16px}
.statement-filter input,.statement-filter select{display:block;margin-top:6px;min-height:42px;border:1px solid var(--border);border-radius:10px;padding:8px;background:white;max-width:100%}
.receipt-paper{max-width:970px;margin:auto}
@media print{
 html,body{background:white!important;color:#111!important;font-size:11pt}
 .sidebar,.topbar,.bottomnav,.page-heading,.no-print,.saving-overlay,.help-text,.impersonate,#quick-add{display:none!important}
 .shell,.body-panel,.content{display:block!important;max-width:none!important;min-height:0!important;padding:0!important;margin:0!important}
 .card{border:0!important;box-shadow:none!important;border-radius:0!important;break-inside:avoid}
 .card.pad{padding:8px 0!important}
 .print-statement-head{page-break-after:avoid}
 .statement-filter{display:none!important}
 .statement-table{font-size:9pt}
 .table-wrap{overflow:visible!important}
 .table-wrap table{width:100%!important}
 a{color:inherit!important;text-decoration:none!important}
 @page{margin:12mm;size:A4 landscape}
}

/* R07: accessible, responsive trends and decision surfaces. */
.trend-list{display:grid;gap:.68rem;margin:1.2rem 0;min-width:0}
.trend-line{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.65rem;align-items:center}
.trend-month{color:var(--navy);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:700}
.trend-bars{display:grid;gap:3px;min-width:0}
.trend-bars span{display:block;height:9px;border-radius:0 6px 6px 0;min-width:0}
.trend-received{background:var(--primary)}
.trend-scheduled{background:var(--accent);opacity:.65}
.trend-legend{display:flex;flex-wrap:wrap;gap:1.2rem;margin:.4rem 0 1rem;font-size:.82rem}
.trend-legend span{display:inline-flex;align-items:center;gap:.4rem}
.trend-legend i{width:12px;height:12px;display:inline-block;border-radius:3px}
.legend-received{background:var(--primary)}.legend-scheduled{background:var(--accent)}
@media(max-width:440px){.trend-line{grid-template-columns:4.5rem minmax(0,1fr);gap:.3rem}}

/* R07 action center: mobile financial balances must remain visible without sideways scrolling. */
@media (max-width: 640px) {
 .action-responsive-table, .action-responsive-table tbody, .action-responsive-table tr, .action-responsive-table td {display:block; width:100%; min-width:0;}
 .action-responsive-table thead {display:none;}
 .action-responsive-table {table-layout:auto;}
 .action-responsive-table tr {border-bottom:1px solid var(--border, #dce4f0); padding:9px 0;}
 .action-responsive-table td {border:0; padding:5px 8px; text-align:left; white-space:normal; overflow-wrap:anywhere;}
 .action-responsive-table td:first-child {font-weight:600;}
 .action-responsive-table td[data-label]::before {content:attr(data-label) ": "; font-size:12px; color:#64748b; font-weight:500;}
 .action-responsive-table td.num {text-align:left;}
 .action-responsive-table a {overflow-wrap:anywhere;}
}
