
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b27;background:#f3f6f5;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #dce4e0;background:white;color:inherit;border-radius:10px;padding:10px 14px}button:hover{background:#edf4f0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8abda9;outline-offset:2px}header{background:#142b25;color:white;padding:24px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:23px;letter-spacing:3px;font-weight:600}.sub{font-size:13px;letter-spacing:0;color:#b7ccc2;margin-top:5px}.demo{font-size:13px;border:1px solid #496058;padding:7px 12px;border-radius:30px}main{max-width:1250px;margin:auto;padding:26px 24px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}h1{font-size:27px;letter-spacing:-.8px;margin:0}h2{font-size:20px;margin:0 0 6px}p{margin:6px 0}.muted{color:#73817c;font-size:14px;line-height:1.5}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat{padding:18px 20px;background:white;border:1px solid #e2e8e5;border-radius:15px}.stat strong{display:block;font-size:27px;margin-top:8px;font-weight:600;font-variant-numeric:tabular-nums}.stat:last-child strong{color:#ae6737}.layout{display:grid;grid-template-columns:235px 1fr;gap:22px}.panel{background:white;border:1px solid #e0e7e3;border-radius:17px;padding:20px}.monthbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.icon{padding:5px 10px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar span{font-size:12px;color:#86918c;padding:7px 0}.calendar button{position:relative;border:0;padding:8px 0;font-size:14px;border-radius:8px}.calendar button.has:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#458b72;bottom:3px;left:calc(50% - 1px)}.calendar .selected{background:#17684e;color:white}.calendar .selected:after{background:white}.trainer{width:100%;text-align:left;margin-top:7px;border:0;font-size:14px;padding:11px 10px}.trainer.active{background:#e9f3ed;color:#17684e;font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px}.aside-label{margin:25px 0 8px;font-size:12px;color:#819089;letter-spacing:1px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:17px 0}.week button{padding:9px 3px;border-color:transparent}.week button.active{background:#17684e;color:white}.week small{display:block;font-size:12px;opacity:.7;margin-bottom:5px}.week b{font-size:17px}.lesson{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid #e1e8e4;border-radius:13px;margin:10px 0;background:white;width:100%;text-align:left}.lesson time{font-size:19px;min-width:54px}.lesson .info{flex:1}.lesson b{font-size:15px}.badge{font-size:12px;padding:6px 9px;border-radius:8px;background:#f5eee4;color:#996432;white-space:nowrap}.badge.done{background:#e8f3ed;color:#17684e}.empty{padding:40px 15px;text-align:center;color:#87928c}.hint{margin-top:20px;padding-top:17px;border-top:1px solid #edf1ee;font-size:13px;color:#75857d;line-height:1.5}.primary{background:#17684e;color:white;border-color:#17684e}.primary:hover{background:#115b43}dialog{border:0;border-radius:19px;padding:0;width:min(650px,calc(100% - 24px));color:inherit;max-height:92vh;box-shadow:0 25px 100px #102c2944}dialog::backdrop{background:#15251e77;backdrop-filter:blur(3px)}.dialog-body{padding:25px}.dialoghead{display:flex;justify-content:space-between;align-items:start;gap:12px}.fields{display:flex;align-items:end;gap:12px;margin:23px 0}.fields label{flex:1;font-size:13px;color:#6d7e74}select,input{display:block;width:100%;padding:10px;border:1px solid #dce4df;border-radius:9px;background:#fff;color:#172b27;margin-top:6px}.rate{font-size:14px;color:#6d7e74;padding-bottom:12px}.child{padding:16px 0;border-top:1px solid #e6ece8}.childhead{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:15px}.childactions{display:flex;align-items:center;gap:8px;margin-top:11px;flex-wrap:wrap}.attendance{padding:8px 12px;font-size:13px}.attendance.on{background:#e5f2e9;color:#17684e;border-color:#a9ceba}.attendance.absent.on{background:#f2eded;color:#896363;border-color:#dbc4c4}.pay{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#73817c}.pay input{width:100px;margin:0;text-align:right}.total{background:#f1f6f3;border-radius:10px;padding:14px;margin-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:14px}.footer{padding:17px 25px;border-top:1px solid #e1e8e3;display:flex;justify-content:space-between;gap:10px;background:white;position:sticky;bottom:0}.notice{font-size:12px;color:#8c653a;margin-top:10px}#message{min-height:20px;font-size:13px;color:#17684e;text-align:right}.actions{display:flex;gap:8px}button:disabled{opacity:.4;cursor:default}@media(max-width:750px){header{padding:20px}.brand{font-size:19px}main{padding:20px 14px}.layout{grid-template-columns:1fr}.sidebar{display:flex;gap:18px;align-items:start}.calwrap{width:210px;flex-shrink:0}.trainers{flex:1}.aside-label{margin-top:3px}.stats{gap:7px}.stat{padding:14px 11px}.stat strong{font-size:22px}.panel{padding:16px}.top{align-items:start}.demo{font-size:11px}.lesson{padding:13px;gap:10px}.lesson time{font-size:16px}.badge{white-space:normal;text-align:center;max-width:105px}}@media(max-width:440px){.sidebar{display:block}.calwrap{width:100%}.trainers{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.aside-label{display:none}.trainer{width:auto;margin:0;padding:8px;font-size:12px}.dot{margin-right:5px}.dialog-body{padding:20px 16px}.footer{padding:15px 16px}.childhead{font-size:14px}.pay{width:100%;margin:3px 0 0;justify-content:flex-end}.top h1{font-size:24px}.stat .muted{font-size:12px}}


/* Mobile layout: compact calendar, trainer chips, full-screen lesson. */
.mobile-date{display:none}.modal-open{overflow:hidden}.pay span{font-size:12px}
#credit:empty{display:none}.footer{padding-bottom:max(17px,env(safe-area-inset-bottom))}
@media(max-width:750px){
 header{padding:calc(15px + env(safe-area-inset-top)) 18px 15px}.brand{font-size:19px;letter-spacing:2px}.sub{font-size:12px;margin-top:3px}.demo{padding:5px 9px;font-size:11px}
 main{padding:19px 14px 24px}.top{margin-bottom:15px;gap:8px}h1{font-size:23px}h2{font-size:18px}#period{font-size:12px;margin-top:4px}#message{font-size:12px;max-width:120px}
 .stats{gap:7px;margin-bottom:16px}.stat{border-radius:11px;padding:11px}.stat strong{font-size:21px;margin-top:5px}.stat .muted{font-size:12px}
 .mobile-date{display:block;margin-bottom:11px}.mobile-date button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:11px 13px;background:white;font-size:14px}
 .layout{display:flex;flex-direction:column;gap:13px}.sidebar{display:block;background:transparent;border:0;padding:0}.calwrap{display:none;width:100%;background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:12px;margin-bottom:12px}
 .calendar-open .calwrap{display:block}.monthbar{margin-bottom:4px;font-size:14px}.calendar{gap:2px}.calendar button{min-height:35px;padding:6px 0;font-size:14px}.calendar span{padding:4px 0;font-size:12px}.icon{min-height:34px;min-width:34px}
 .trainers{display:flex;overflow-x:auto;gap:6px;flex-wrap:nowrap;margin:0;padding-bottom:3px;scrollbar-width:none}.trainers::-webkit-scrollbar{display:none}.aside-label{display:none}.trainer{flex:0 0 auto;width:auto;margin:0;background:white;border:1px solid #dfe7e1;padding:9px 11px;border-radius:9px;font-size:13px;white-space:nowrap}.trainer.active{border-color:#bdd4c6}.dot{width:6px;height:6px;margin-right:6px}
 section.panel{padding:14px;border-radius:13px}section.panel .top{align-items:center}.week{gap:3px;margin:10px 0}.week button{padding:7px 2px}.week small{font-size:11px;margin-bottom:3px}.week b{font-size:15px}
 .lesson{padding:12px 10px;gap:9px;margin:8px 0;border-radius:10px;align-items:flex-start}.lesson time{font-size:16px;min-width:42px;padding-top:1px}.lesson b{font-size:14px;line-height:1.3}.lesson .muted{font-size:12px;line-height:1.4}.lesson .info{min-width:0}.badge{font-size:11px;padding:5px 7px;max-width:80px;flex-shrink:0}.hint{margin-top:13px;padding-top:12px;font-size:11px;line-height:1.5}
 dialog{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;border-radius:0;box-shadow:none;overflow:hidden}
 dialog[open]{display:flex;flex-direction:column}.dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(18px + env(safe-area-inset-top)) 17px 20px}.dialoghead h2{font-size:20px;line-height:1.3}.dialoghead p{font-size:13px}.dialoghead .icon{font-size:22px;line-height:20px}
 .fields{margin:19px 0 15px;gap:11px}.fields label{font-size:12px}.fields select{font-size:16px;padding:10px;min-height:41px}.rate{font-size:13px;white-space:nowrap;padding-bottom:13px}
 .child{padding:13px 0}.childhead{gap:6px}.childhead b{font-size:14px;font-weight:600}.childhead .muted{font-size:12px;white-space:nowrap}.childactions{flex-wrap:nowrap;gap:5px;margin-top:8px}.attendance{min-height:36px;padding:7px 10px;font-size:13px}.attendance[data-value="null"]{padding:7px 8px;color:#8b978f;font-size:16px;border-color:transparent}
 .pay{width:auto;flex-direction:column;align-items:stretch;margin:0 0 0 auto;gap:3px;justify-content:initial}.pay span{font-size:10px;line-height:12px;text-align:right}.pay input{font-size:16px;width:94px;min-height:36px;padding:6px 8px;border-radius:7px}
 .total{padding:12px 10px;font-size:12px;gap:8px}.total span{flex:1;display:flex;flex-direction:column;gap:5px}.total b{font-size:16px;white-space:nowrap}.notice{font-size:12px;line-height:1.5}
 .footer{position:static;flex:0 0 auto;gap:8px;padding:12px 17px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -3px 12px #12332105}.footer button{font-size:14px;min-height:44px}.footer .primary{flex:1}
}
@media(max-width:360px){main{padding-left:10px;padding-right:10px}.stat strong{font-size:18px}.dialog-body{padding-left:12px;padding-right:12px}.attendance{padding-left:8px;padding-right:8px}.pay input{width:83px}.childhead b{font-size:13px}.total b{font-size:14px}}

[hidden]{display:none!important}.access{max-width:450px;margin:12vh auto;padding:28px;line-height:1.6}.access p{margin:16px 0;color:#6d7e74}.access a{display:inline-block;padding:10px 16px;border-radius:10px;background:#17684e;color:white;text-decoration:none}


/* === EXPRESSIA FINANCE V3 START === */
.v3-nav{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:5px;background:#e9eeeb;border:1px solid #dde5e0;border-radius:14px;scrollbar-width:none;position:sticky;top:8px;z-index:20}.v3-nav::-webkit-scrollbar{display:none}.v3-nav button{border:0;background:transparent;padding:10px 15px;border-radius:10px;white-space:nowrap;font-size:14px}.v3-nav button.active{background:#fff;color:#143c31;box-shadow:0 2px 10px #163b2d12;font-weight:650}.v3-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:6px 0 18px}.v3-section-head h1{margin:3px 0 0}.v3-kicker{font-size:11px;letter-spacing:.12em;color:#7c8984;font-weight:700}.v3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.v3-card{background:#fff;border:1px solid #e0e7e3;border-radius:16px;padding:18px}.v3-card-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.v3-card h3{margin:4px 0 0;font-size:19px}.v3-price{text-align:right;font-size:20px;font-weight:650}.v3-price small{display:block;font-size:11px;font-weight:500;color:#78867f;margin-top:3px}.v3-price .unset{font-size:13px;color:#a16d43;font-weight:650}.v3-mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.v3-mini-stats span{background:#f5f7f6;border-radius:9px;padding:7px 9px;font-size:11px;color:#6f7d77}.v3-mini-stats b{color:#253b34;font-weight:650}.v3-secondary,.v3-primary{border-radius:10px;padding:10px 13px}.v3-primary{background:#17684e;color:#fff;border-color:#17684e}.v3-price-editor{margin-top:14px;padding-top:14px;border-top:1px solid #e7ece9}.v3-price-editor label,.v3-transfer-box label{display:block;font-size:12px;color:#65766f;margin:10px 0}.v3-price-editor input,.v3-transfer-box input,.v3-transfer-box select,.v3-search{margin-top:6px}.v3-check{display:flex!important;align-items:center;gap:8px}.v3-check input{width:auto;margin:0}.v3-period{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v3-note{font-size:12px;color:#74827c;line-height:1.5;margin:12px 0}.v3-search{width:min(340px,100%);margin:0}.v3-list{background:#fff;border:1px solid #e0e7e3;border-radius:16px;overflow:hidden}.v3-child-row{display:flex;width:100%;border:0;border-bottom:1px solid #edf1ef;border-radius:0;padding:14px 16px;align-items:center;justify-content:space-between;gap:15px;text-align:left;background:#fff}.v3-child-row:last-child{border-bottom:0}.v3-child-row:hover{background:#f8faf9}.v3-child-main{display:flex;flex-direction:column;gap:4px}.v3-child-main small{font-size:11px;color:#839089}.v3-child-money{text-align:right;font-size:12px;color:#47705f}.v3-child-money.debt{color:#9a6339}.v3-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.v3-stat{background:#fff;border:1px solid #e0e7e3;border-radius:15px;padding:17px}.v3-stat span{font-size:12px;color:#798780}.v3-stat b{display:block;font-size:22px;margin-top:8px}.v3-stat.attention b{color:#a36a3d}.v3-modal{position:fixed;inset:0;background:#10251d99;backdrop-filter:blur(4px);z-index:1000;padding:18px;overflow:auto}.v3-modal-card{width:min(760px,100%);margin:3vh auto;background:#fff;border-radius:19px;box-shadow:0 28px 100px #08171155;padding:22px}.v3-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:15px}.v3-modal-head h2{margin:4px 0 0}.v3-icon{border:0;background:#f0f4f2;border-radius:10px;font-size:22px;padding:5px 10px}.v3-history-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #e8eeeb}.v3-history-row>div{display:flex;flex-direction:column;gap:4px}.v3-history-row span,.v3-history-row small{font-size:12px;color:#75847d}.v3-history-money{text-align:right;align-items:flex-end}.v3-link{border:0;background:transparent;color:#17684e;padding:3px 0;text-decoration:underline;font-size:12px}.v3-transfer-box{margin-top:18px;padding:17px;background:#f4f7f5;border-radius:13px}.v3-empty{padding:28px 15px;color:#839089;text-align:center}.v3-toast{position:fixed;right:18px;bottom:18px;z-index:1200;background:#174f3e;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 12px 40px #10261e44;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.v3-toast.show{opacity:1;transform:none}.v3-toast.error{background:#8c4d42}.v3-day-tabs,.v3-lesson-tabs{display:flex;gap:5px;padding:4px;background:#eef2f0;border-radius:11px;margin:12px 0}.v3-day-tabs button,.v3-lesson-tabs button{flex:1;border:0;background:transparent;padding:8px;border-radius:8px;font-size:13px}.v3-day-tabs button.active,.v3-lesson-tabs button.active{background:#fff;box-shadow:0 1px 7px #14312612;font-weight:650}.v3-change-status{padding:11px 13px;border-radius:10px;font-size:13px;margin:10px 0}.v3-change-status.ok{background:#eaf4ef;color:#24664f}.v3-change-status.warn{background:#f7efe6;color:#8c623d}.v3-change-row{border:1px solid #e5ebe8;border-radius:11px;padding:12px;margin:8px 0}.v3-change-row b,.v3-change-row small{display:block}.v3-change-row small{color:#7d8a84;margin-top:5px;font-size:11px}.v3-change-row pre{white-space:pre-wrap;font-size:11px;background:#f6f8f7;padding:9px;border-radius:8px;overflow:auto}.v3-modal-open{overflow:hidden}
@media(max-width:760px){.v3-grid{grid-template-columns:1fr}.v3-summary-grid{grid-template-columns:1fr 1fr}.v3-section-head{align-items:stretch;flex-direction:column}.v3-search{width:100%}.v3-card-head{align-items:center}.v3-price{font-size:17px}.v3-history-row{gap:9px}.v3-modal{padding:8px}.v3-modal-card{margin:1vh auto;padding:16px}.v3-nav{top:4px;margin-bottom:12px}.v3-nav button{padding:9px 12px}}
@media(max-width:430px){.v3-summary-grid{grid-template-columns:1fr 1fr}.v3-stat{padding:13px}.v3-stat b{font-size:18px}.v3-child-row{padding:12px}.v3-history-row{display:block}.v3-history-money{align-items:flex-start;text-align:left;margin-top:8px}.v3-period{grid-template-columns:1fr}}
/* === EXPRESSIA FINANCE V3 END === */

.hint{display:none!important}.v3-child-tools{display:flex;gap:10px;align-items:end;padding:12px;background:#f5f8f6;border-radius:12px;margin-bottom:14px}.v3-child-tools label{flex:1;font-size:12px;color:#65766f}.v3-active-transfers{padding:12px;background:#fff7ed;border:1px solid #f0ddc8;border-radius:12px;margin-bottom:14px}.v3-active-transfers h3{margin:0 0 8px;font-size:14px}.v3-transfer-line{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.v3-inline-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.v3-link.danger{color:#9a554a}.v3-fact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.v3-fact-fields label{font-size:12px;color:#65766f}@media(max-width:520px){.v3-child-tools{display:block}.v3-child-tools button{width:100%;margin-top:8px}.v3-fact-fields{grid-template-columns:1fr}.v3-inline-actions{justify-content:flex-start}}


/* EXPRESSIA_FINANCE_PREMIUM_HEADER_V1 */

/* Quiet, premium top bar: black / ivory / champagne. */
header{
  background:#0d0d0c;
  color:#f5f1e8;
  padding:20px max(20px,calc((100vw - 1200px)/2));
  border-bottom:1px solid rgba(211,188,145,.18);
  box-shadow:0 8px 28px rgba(18,16,12,.12);
}
header .brand{
  font-size:18px;
  line-height:1;
  font-weight:520;
  letter-spacing:4.6px;
  color:#f7f3ea;
}
header .sub{
  margin-top:7px;
  font-size:11px;
  line-height:1;
  font-weight:450;
  letter-spacing:.11em;
  color:#b9a98a;
}
header .demo{
  display:none!important;
}

/* Premium section navigation without "banking green". */
.v3-nav{
  background:#f3efe8;
  border-color:#e5ddd1;
  box-shadow:0 1px 0 rgba(28,24,18,.03);
}
.v3-nav button{
  color:#6f685d;
  font-weight:520;
}
.v3-nav button.active{
  background:#151412;
  color:#f4ead8;
  box-shadow:0 5px 16px rgba(19,17,13,.13);
}

/* Keep champagne as an accent, not decoration everywhere. */
.v3-kicker{
  color:#9b8562!important;
  letter-spacing:.12em;
}

/* EXPRESSIA_FINANCE_GREETING_V1 */
header{
  align-items:center;
}
.finance-greeting{
  margin-top:11px;
  font-size:15px;
  line-height:1.25;
  font-weight:430;
  letter-spacing:-.01em;
  color:#f2ede3;
}
@media(max-width:440px){
  .finance-greeting{
    margin-top:9px;
    font-size:14px;
  }
}


/* ============================================================
   EXPRESSIA_FINANCE_FUCHSIA_SKIN_V1
   VISUAL-ONLY SKIN. NO FUNCTIONAL SELECTORS ARE REMOVED.
   ============================================================ */

:root{
  --fx-bg:#09070d;
  --fx-bg-2:#100a13;
  --fx-surface:#151019;
  --fx-surface-2:#1c1421;
  --fx-surface-3:#24182a;
  --fx-line:rgba(255,255,255,.085);
  --fx-line-hot:rgba(255,52,173,.34);
  --fx-text:#f8f4f8;
  --fx-muted:#a99eae;
  --fx-muted-2:#7e7484;
  --fx-fuchsia:#ff35ad;
  --fx-fuchsia-2:#da2b91;
  --fx-violet:#b69cff;
  --fx-green:#58dc91;
  --fx-amber:#e8b560;
  --fx-danger:#ff4e89;
  --fx-shadow:0 20px 55px rgba(0,0,0,.30);
  color-scheme:dark;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--fx-text);
  background:var(--fx-bg);
}

html{
  background:var(--fx-bg);
}

body{
  margin:0;
  min-height:100vh;
  color:var(--fx-text);
  background:
    radial-gradient(900px 500px at 92% -4%,rgba(179,22,117,.18),transparent 62%),
    radial-gradient(650px 440px at -12% 35%,rgba(89,38,118,.11),transparent 60%),
    linear-gradient(180deg,#0b0810 0%,#09070d 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(115deg,transparent 0 42%,rgba(255,53,173,.018) 50%,transparent 58%);
}

/* ---------- BRAND HEADER ---------- */
header{
  background:
    radial-gradient(460px 150px at 88% 0%,rgba(255,53,173,.15),transparent 68%),
    linear-gradient(180deg,#100a13,#0d0910);
  color:var(--fx-text);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:none;
  padding:20px max(20px,calc((100vw - 1200px)/2));
}

header .brand{
  color:#fff8fd;
  font-size:18px;
  font-weight:560;
  letter-spacing:4.8px;
}

header .brand::first-letter{
  color:var(--fx-fuchsia);
}

header .sub{
  color:#a99bac;
  font-size:11px;
  letter-spacing:.10em;
}

.finance-greeting{
  color:#f6f0f5!important;
  font-size:15px!important;
  font-weight:470!important;
}

/* ---------- MAIN / GENERAL ---------- */
main{
  max-width:1250px;
  margin:auto;
  padding:22px 20px 105px;
}

h1,h2,h3,strong,b{
  color:var(--fx-text);
}

.muted{
  color:var(--fx-muted)!important;
}

button,input,select{
  font:inherit;
}

button{
  color:var(--fx-text);
}

button:focus-visible,
input:focus-visible,
select:focus-visible{
  outline:2px solid rgba(255,53,173,.75)!important;
  outline-offset:2px;
}

/* ---------- TOP PERIOD / STATS ---------- */
.top{
  gap:12px;
}

.top h1,
.top h2{
  color:var(--fx-text);
}

.stats{
  gap:9px;
  margin-bottom:18px;
}

.stat{
  background:linear-gradient(180deg,rgba(34,23,40,.96),rgba(22,16,27,.98));
  border:1px solid var(--fx-line);
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.stat strong{
  color:var(--fx-text);
}

.stat:last-child strong{
  color:var(--fx-fuchsia);
}

/* ---------- THE IMPORTANT PART: FULL MONTH CALENDAR ---------- */
.layout{
  gap:16px;
}

.panel{
  background:linear-gradient(180deg,rgba(25,18,30,.98),rgba(18,14,22,.98));
  border:1px solid var(--fx-line);
  border-radius:17px;
  box-shadow:var(--fx-shadow);
}

.sidebar{
  overflow:hidden;
}

.calwrap{
  width:100%;
}

.monthbar{
  margin-bottom:13px;
}

.monthbar b{
  color:#fff9fd;
  font-size:15px;
  font-weight:650;
  text-transform:capitalize;
}

.icon{
  border:1px solid rgba(255,255,255,.09);
  background:#1c1522;
  color:#d9cedc;
  border-radius:10px;
}

.icon:hover{
  background:#271a2e;
}

.calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
  text-align:center;
}

.calendar span{
  color:#8f8496;
  font-size:11px;
  padding:5px 0 7px;
}

.calendar button{
  min-width:0;
  min-height:38px;
  padding:8px 0;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#eee7ef;
  font-size:13px;
  position:relative;
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}

.calendar button:hover{
  background:rgba(255,255,255,.035);
}

.calendar button:active{
  transform:scale(.96);
}

.calendar button.has::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--fx-fuchsia);
  bottom:3px;
  left:calc(50% - 2px);
  box-shadow:0 0 8px rgba(255,53,173,.52);
}

.calendar .selected{
  color:#fff;
  border-color:rgba(255,86,184,.42);
  background:
    radial-gradient(circle at 50% 20%,rgba(255,112,198,.44),transparent 60%),
    linear-gradient(180deg,#ef3ba7,#c5207e);
  box-shadow:
    0 7px 22px rgba(226,36,145,.22),
    inset 0 1px 0 rgba(255,255,255,.25);
  font-weight:700;
}

.calendar .selected::after{
  background:#fff;
  box-shadow:none;
}

/* Trainer filters remain exactly where they are, just visually quieter. */
.aside-label{
  color:#827786;
  letter-spacing:.13em;
  font-size:10px;
}

.trainers{
  border-top:1px solid rgba(255,255,255,.055);
  padding-top:12px;
}

.trainer{
  background:transparent;
  border:1px solid transparent;
  color:#a89eac;
  border-radius:10px;
}

.trainer:hover{
  background:rgba(255,255,255,.025);
}

.trainer.active{
  background:rgba(255,53,173,.10);
  border-color:rgba(255,53,173,.24);
  color:#ffd7ef;
  font-weight:600;
}

.dot{
  box-shadow:0 0 0 2px rgba(255,255,255,.045);
}

/* ---------- SELECTED DAY + WEEK STRIP ---------- */
.week{
  gap:5px;
  margin:14px 0 11px;
}

.week button{
  padding:8px 2px;
  border:1px solid transparent;
  background:transparent;
  color:#958a9b;
  border-radius:10px;
}

.week button:hover{
  background:rgba(255,255,255,.028);
}

.week button.active{
  color:#fff;
  background:rgba(255,53,173,.11);
  border-color:rgba(255,53,173,.25);
}

.week small{
  color:inherit;
}

.week b{
  color:inherit;
}

/* ---------- DAY / LESSON TABS ---------- */
.v3-day-tabs,
.v3-lesson-tabs{
  background:#100c14!important;
  border:1px solid rgba(255,255,255,.065);
  border-radius:12px!important;
  padding:4px!important;
}

.v3-day-tabs button,
.v3-lesson-tabs button{
  color:#928898!important;
  background:transparent!important;
  border:0!important;
}

.v3-day-tabs button.active,
.v3-lesson-tabs button.active{
  color:#fff4fb!important;
  background:linear-gradient(180deg,#2a1928,#21151f)!important;
  box-shadow:inset 0 0 0 1px rgba(255,53,173,.18)!important;
}

/* ---------- LESSON LIST ---------- */
.lesson{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(29,22,35,.98),rgba(20,16,25,.99));
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  color:var(--fx-text);
  box-shadow:0 10px 28px rgba(0,0,0,.13);
}

.lesson::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:0 99px 99px 0;
  background:linear-gradient(180deg,#ff49b6,#d01c82);
  box-shadow:0 0 14px rgba(255,53,173,.32);
}

.lesson:hover{
  background:
    linear-gradient(180deg,rgba(37,26,43,.98),rgba(24,18,29,.99));
  border-color:rgba(255,53,173,.17);
}

.lesson time{
  color:#fff;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

.lesson b{
  color:#f7f2f7;
}

.lesson .muted{
  color:#a69bac!important;
}

.badge{
  border:1px solid rgba(232,181,96,.18);
  background:rgba(232,181,96,.10);
  color:#edc57f;
  border-radius:9px;
}

.badge.done{
  border-color:rgba(88,220,145,.18);
  background:rgba(88,220,145,.09);
  color:#72e7a5;
}

.empty,
.v3-empty{
  color:#867b8b!important;
}

/* ---------- V3 MAIN NAV: SAME BUTTONS, MOVED TO BOTTOM ON MOBILE ---------- */
.v3-nav{
  background:rgba(17,12,20,.94)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.v3-nav button{
  color:#968b9c!important;
  background:transparent!important;
  border:0!important;
  font-weight:550;
}

.v3-nav button.active{
  color:#ff69c0!important;
  background:rgba(255,53,173,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(255,53,173,.12)!important;
}

/* ---------- TRAINERS / CHILDREN / ACCOUNTING ---------- */
.v3-section-head h1{
  color:#fff8fd;
}

.v3-kicker{
  color:#df61ad!important;
  letter-spacing:.13em!important;
}

.v3-card,
.v3-list,
.v3-stat{
  background:linear-gradient(180deg,#1b1420,#151018)!important;
  border-color:rgba(255,255,255,.08)!important;
  color:var(--fx-text)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.14);
}

.v3-card h3,
.v3-card b,
.v3-stat b{
  color:#fff7fc!important;
}

.v3-price{
  color:#ff72c4!important;
}

.v3-mini-stats,
.v3-mini-stats span,
.v3-note,
.v3-history-row small,
.v3-child-main small{
  color:#998e9e!important;
}

.v3-mini-stats b{
  color:#eee7ef!important;
}

.v3-child-row{
  background:transparent!important;
  border-bottom-color:rgba(255,255,255,.06)!important;
  color:#f3edf3!important;
}

.v3-child-row:hover{
  background:rgba(255,53,173,.035)!important;
}

.v3-child-money{
  color:#b7a7c4!important;
}

.v3-child-money.debt{
  color:#ff6ca9!important;
}

.v3-summary-grid{
  gap:9px!important;
}

.v3-stat span{
  color:#998f9f!important;
}

.v3-stat.attention b{
  color:#e9b76a!important;
}

.v3-secondary,
.v3-primary{
  border-radius:10px!important;
}

.v3-primary{
  color:#fff!important;
  background:linear-gradient(180deg,#f43bac,#d22186)!important;
  border-color:#e52b9b!important;
  box-shadow:0 8px 22px rgba(222,35,143,.20);
}

.v3-secondary{
  color:#d8cddc!important;
  background:#211824!important;
  border-color:rgba(255,255,255,.09)!important;
}

.v3-link{
  color:#ff70c2!important;
}

.v3-link.danger{
  color:#ff7099!important;
}

.v3-price-editor{
  border-top-color:rgba(255,255,255,.07)!important;
}

.v3-price-editor label,
.v3-transfer-box label,
.v3-fact-fields label,
.v3-child-tools label{
  color:#9c919f!important;
}

.v3-transfer-box,
.v3-child-tools{
  background:#171119!important;
  border:1px solid rgba(255,255,255,.07);
}

.v3-active-transfers{
  background:rgba(232,181,96,.07)!important;
  border-color:rgba(232,181,96,.18)!important;
}

/* ---------- INPUTS ---------- */
input,
select{
  color:#f5eef5!important;
  background:#0e0b11!important;
  border-color:rgba(255,255,255,.10)!important;
}

input::placeholder{
  color:#716877!important;
}

input:focus,
select:focus{
  border-color:rgba(255,53,173,.52)!important;
  box-shadow:0 0 0 3px rgba(255,53,173,.07)!important;
}

/* ---------- SOURCE CHANGES ---------- */
.v3-change-status.ok{
  color:#7de3a9!important;
  background:rgba(88,220,145,.07)!important;
  border:1px solid rgba(88,220,145,.14);
}

.v3-change-status.warn{
  color:#ecc27c!important;
  background:rgba(232,181,96,.07)!important;
  border:1px solid rgba(232,181,96,.16);
}

.v3-change-row{
  background:#151018!important;
  border-color:rgba(255,255,255,.075)!important;
}

.v3-change-row small{
  color:#8e8493!important;
}

.v3-change-row pre{
  color:#cfc4d2!important;
  background:#0d0a10!important;
}

/* ---------- ORIGINAL LESSON EDITOR ---------- */
dialog{
  color:var(--fx-text)!important;
  background:#151018!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 30px 100px rgba(0,0,0,.62)!important;
}

dialog::backdrop{
  background:rgba(5,3,7,.73)!important;
  backdrop-filter:blur(7px);
}

.dialog-body,
.footer{
  background:#151018!important;
}

.footer{
  border-top-color:rgba(255,255,255,.07)!important;
}

.fields label,
.rate,
.pay{
  color:#9e939f!important;
}

.child{
  border-top-color:rgba(255,255,255,.07)!important;
}

.attendance{
  color:#bcb2c1!important;
  background:#1c1520!important;
  border-color:rgba(255,255,255,.08)!important;
}

.attendance.on{
  color:#79e7a7!important;
  background:rgba(88,220,145,.08)!important;
  border-color:rgba(88,220,145,.24)!important;
}

.attendance.absent.on{
  color:#ff84aa!important;
  background:rgba(255,78,137,.07)!important;
  border-color:rgba(255,78,137,.22)!important;
}

.total{
  color:#ddd3df!important;
  background:#100c14!important;
}

.notice{
  color:#d8af70!important;
}

.primary{
  color:#fff!important;
  background:linear-gradient(180deg,#f43bac,#d22186)!important;
  border-color:#e52b9b!important;
}

.primary:hover{
  background:linear-gradient(180deg,#fa48b6,#dc278f)!important;
}

/* ---------- CHILD MODAL ---------- */
.v3-modal{
  background:rgba(5,3,7,.76)!important;
  backdrop-filter:blur(8px)!important;
}

.v3-modal-card{
  background:linear-gradient(180deg,#1b1420,#131016)!important;
  border:1px solid rgba(255,255,255,.09);
  color:#f6f0f6!important;
  box-shadow:0 30px 100px rgba(0,0,0,.55)!important;
}

.v3-icon{
  color:#d7ccd9!important;
  background:#251a29!important;
}

.v3-history-row{
  border-top-color:rgba(255,255,255,.07)!important;
}

/* ---------- TOAST ---------- */
.v3-toast{
  color:#fff!important;
  background:#9c2470!important;
  box-shadow:0 14px 42px rgba(0,0,0,.36)!important;
}

.v3-toast.error{
  background:#9b3554!important;
}

/* ---------- MOBILE: CURRENT LOGIC, PREMIUM PRESENTATION ---------- */
@media(max-width:750px){
  header{
    padding:18px 18px 16px!important;
  }

  main{
    padding:16px 12px calc(94px + env(safe-area-inset-bottom))!important;
  }

  .stats{
    gap:6px!important;
  }

  .stat{
    padding:12px 10px!important;
  }

  .layout{
    display:block!important;
  }

  /* Calendar stays first and FULL MONTH. */
  .sidebar{
    display:block!important;
    margin-bottom:12px!important;
    padding:14px!important;
  }

  .calwrap{
    width:100%!important;
  }

  .calendar{
    gap:3px!important;
  }

  .calendar button{
    min-height:39px!important;
    padding:7px 0!important;
    border-radius:10px!important;
  }

  /* Trainer filtering stays directly under the calendar. */
  .trainers{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    margin-top:12px!important;
    padding:11px 0 2px!important;
    scrollbar-width:none;
  }

  .trainers::-webkit-scrollbar{
    display:none;
  }

  .trainer{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
    padding:8px 10px!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }

  #v3-schedule > .panel,
  #v3-schedule .layout > section.panel{
    padding:14px!important;
  }

  .week{
    overflow-x:auto;
    grid-template-columns:repeat(7,minmax(47px,1fr))!important;
    scrollbar-width:none;
  }

  .week::-webkit-scrollbar{
    display:none;
  }

  .lesson{
    padding:13px 10px 13px 14px!important;
    gap:9px!important;
    margin:8px 0!important;
  }

  .lesson time{
    font-size:16px!important;
    min-width:43px!important;
  }

  .lesson b{
    font-size:14px!important;
  }

  .lesson .muted{
    font-size:11.5px!important;
  }

  .badge{
    font-size:10.5px!important;
    padding:5px 7px!important;
    max-width:92px!important;
  }

  /* Same V3 navigation, not a second app. */
  .v3-nav{
    position:fixed!important;
    left:9px!important;
    right:9px!important;
    bottom:calc(7px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    z-index:900!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:4px!important;
    margin:0!important;
    padding:5px!important;
    border-radius:17px!important;
  }

  .v3-nav button{
    min-width:0!important;
    padding:10px 4px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
    white-space:nowrap!important;
  }

  .v3-summary-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .v3-section-head{
    gap:12px!important;
  }

  .v3-search{
    width:100%!important;
  }

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

  .v3-modal-card{
    margin:1vh auto!important;
    padding:15px!important;
  }
}

@media(max-width:390px){
  header .brand{
    font-size:17px!important;
    letter-spacing:4px!important;
  }

  .finance-greeting{
    font-size:14px!important;
  }

  .calendar button{
    min-height:37px!important;
    font-size:12.5px!important;
  }

  .v3-nav button{
    font-size:11px!important;
  }
}

/* Keep all native hidden states functional. */
[hidden]{
  display:none!important;
}


/* ============================================================
   EXPRESSIA_FINANCE_CALENDAR_READABILITY_V1
   Calendar / typography / day-cell readability only.
   ============================================================ */

html,body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Stronger typography without making the UI bulky. */
body,
button,
input,
select{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}

h1,h2,h3{
  letter-spacing:-.025em!important;
}

#daytitle{
  font-size:21px!important;
  line-height:1.15!important;
  font-weight:680!important;
  color:#fff9fd!important;
}

#weektitle{
  margin-top:5px!important;
  font-size:12px!important;
  color:#a89cab!important;
}

/* The calendar card itself must NEVER fall back to white. */
#calendar-panel,
#calendar-panel.panel,
#calendar-panel .calwrap{
  background:#141018!important;
  color:#f6f1f6!important;
}

#calendar-panel{
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.018)!important;
}

/* Month heading. */
#calendar-panel .monthbar{
  min-height:38px!important;
  margin:0 0 12px!important;
}

#calendar-panel .monthbar b,
#month{
  color:#fff8fd!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
  text-transform:capitalize!important;
}

#calendar-panel .monthbar .icon{
  width:36px!important;
  height:36px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  color:#d8ceda!important;
  background:#1c1620!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:11px!important;
  font-size:20px!important;
  line-height:1!important;
}

#calendar-panel .monthbar .icon:active{
  background:#261a2b!important;
  border-color:rgba(255,53,173,.30)!important;
}

/* FULL MONTH GRID. */
#calendar{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  padding:2px 0 0!important;
  background:transparent!important;
}

/* Weekday labels. */
#calendar > span{
  display:grid!important;
  place-items:center!important;
  min-height:25px!important;
  padding:0 0 4px!important;
  color:#9e92a1!important;
  background:transparent!important;
  font-size:10.5px!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

/* Empty leading cells from month offset stay invisible. */
#calendar > i{
  display:block!important;
  min-width:0!important;
  min-height:42px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
}

/* Every actual calendar day is a proper dark cell. */
#calendar > button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 0 3px!important;

  color:#f3edf4!important;
  background:#1c1520!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:12px!important;

  font-size:13.5px!important;
  line-height:1!important;
  font-weight:580!important;
  font-variant-numeric:tabular-nums!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.018),
    0 2px 7px rgba(0,0,0,.08)!important;

  opacity:1!important;
  transition:
    transform .12s ease,
    background .12s ease,
    border-color .12s ease!important;
}

#calendar > button:hover{
  color:#fff!important;
  background:#241929!important;
  border-color:rgba(255,255,255,.12)!important;
}

#calendar > button:active{
  transform:scale(.955)!important;
}

/* Day has at least one lesson. */
#calendar > button.has{
  color:#fff8fd!important;
  border-color:rgba(255,53,173,.15)!important;
}

#calendar > button.has::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:5px!important;
  width:4px!important;
  height:4px!important;
  margin-left:-2px!important;
  border-radius:50%!important;
  background:#ff3eaf!important;
  box-shadow:0 0 8px rgba(255,62,175,.58)!important;
}

/* Selected day: obvious but not a neon blob. */
#calendar > button.selected{
  color:#fff!important;
  background:
    linear-gradient(180deg,#f13ca9 0%,#c82382 100%)!important;
  border-color:#ff65bd!important;
  font-weight:760!important;
  box-shadow:
    0 7px 20px rgba(218,34,137,.26),
    inset 0 1px 0 rgba(255,255,255,.25)!important;
}

#calendar > button.selected::after{
  background:#fff!important;
  box-shadow:none!important;
}

/* Trainer chips below the calendar: keep them readable. */
#calendar-panel .trainers{
  background:transparent!important;
  border-top:1px solid rgba(255,255,255,.065)!important;
}

#calendar-panel .trainer{
  color:#b2a7b5!important;
  background:#19131d!important;
  border:1px solid rgba(255,255,255,.065)!important;
  font-weight:530!important;
}

#calendar-panel .trainer.active{
  color:#ffe6f5!important;
  background:#2a1726!important;
  border-color:rgba(255,53,173,.32)!important;
}

/* Week strip must not become white either. */
#week,
.week{
  background:transparent!important;
}

#week button,
.week button{
  color:#a79caa!important;
  background:#17121b!important;
  border:1px solid rgba(255,255,255,.055)!important;
  border-radius:10px!important;
}

#week button.active,
.week button.active{
  color:#fff!important;
  background:#2b1827!important;
  border-color:rgba(255,53,173,.32)!important;
  box-shadow:inset 0 0 0 1px rgba(255,53,173,.08)!important;
}

/* Day lesson panel: stronger separation, easier scanning. */
#v3-schedule .layout > section.panel{
  background:#121016!important;
  border-color:rgba(255,255,255,.085)!important;
}

#lessons .lesson{
  border-color:rgba(255,255,255,.085)!important;
}

#lessons .lesson time{
  color:#fff!important;
  font-weight:760!important;
}

#lessons .lesson .info > b{
  color:#f9f5f8!important;
  font-weight:650!important;
}

#lessons .lesson .muted{
  color:#a99eac!important;
}

/* Tabs readable against dark background. */
#v3-day-tabs,
.v3-day-tabs,
.v3-lesson-tabs{
  background:#0e0b11!important;
  border:1px solid rgba(255,255,255,.07)!important;
}

#v3-day-tabs button,
.v3-day-tabs button,
.v3-lesson-tabs button{
  color:#a095a3!important;
}

#v3-day-tabs button.active,
.v3-day-tabs button.active,
.v3-lesson-tabs button.active{
  color:#fff!important;
  background:#251824!important;
}

/* Mobile geometry: calendar must remain compact enough to fit,
   but cells should still look like cells, not floating white text. */
@media(max-width:750px){
  #calendar-panel{
    padding:14px 13px 13px!important;
    border-radius:16px!important;
  }

  #calendar{
    gap:4px!important;
  }

  #calendar > i,
  #calendar > button{
    min-height:41px!important;
  }

  #calendar > button{
    border-radius:11px!important;
    font-size:13px!important;
  }

  #calendar > span{
    font-size:10px!important;
  }

  #calendar-panel .trainers{
    margin-top:12px!important;
    padding-top:11px!important;
  }
}

@media(max-width:390px){
  #calendar{
    gap:3px!important;
  }

  #calendar > i,
  #calendar > button{
    min-height:39px!important;
  }

  #calendar > button{
    border-radius:10px!important;
    font-size:12.5px!important;
  }

  #calendar > span{
    font-size:9.5px!important;
    letter-spacing:.035em!important;
  }
}

/* Preserve application visibility logic. */
[hidden]{
  display:none!important;
}


/* ============================================================
   EXPRESSIA_FINANCE_GLOBAL_CONTRAST_V1
   Broad readability fix for all white-on-white / washed blocks.
   CSS only. No logic changes.
   ============================================================ */

/* Global text and surfaces */
body,
main,
.panel,
.sidebar,
section,
article,
aside,
dialog,
.v3-card,
.v3-list,
.v3-stat,
.v3-modal-card,
.v3-transfer-box,
.v3-child-tools,
.v3-active-transfers,
.v3-change-row,
.lesson,
.stat,
.total,
.footer,
.dialog-body{
  color:#f6f1f6!important;
}

.panel,
.sidebar,
section.panel,
.v3-card,
.v3-list,
.v3-stat,
.v3-modal-card,
.v3-transfer-box,
.v3-child-tools,
.v3-active-transfers,
.v3-change-row,
.total,
.dialog-body,
.footer{
  background:#151019!important;
  border-color:rgba(255,255,255,.09)!important;
}

/* Any accidental bright/white blocks */
[style*="background: white"],
[style*="background:white"],
[style*="background-color: white"],
[style*="background-color:white"]{
  background:#151019!important;
  color:#f6f1f6!important;
}

/* Typography */
h1,h2,h3,h4,strong,b,
label,
legend,
th,
td,
li,
p,
small,
span,
div{
  text-shadow:none!important;
}

h1,h2,h3,h4{
  color:#fff8fd!important;
}

strong,b{
  color:#fff7fb!important;
}

small,
.muted,
.note,
.hint,
.subtitle,
.caption,
.v3-note,
.v3-mini-stats,
.v3-mini-stats span,
.v3-history-row small,
.v3-child-main small,
#weektitle,
.aside-label{
  color:#a79cab!important;
}

/* Generic blocks / rows / cards */
.card,
.row,
.tile,
.box,
.item,
.entry,
.list-item,
.table-row,
.child,
.v3-child-row,
.v3-history-row,
.v3-change-row,
.lesson{
  background-color:transparent!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#f6f1f6!important;
}

/* Top stats + finance summaries */
.stats .stat,
.stat,
.v3-stat,
.v3-summary-grid > *{
  background:linear-gradient(180deg,#1b1420,#151018)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  color:#f6f1f6!important;
}

.stats .stat span,
.v3-stat span{
  color:#a79cab!important;
}

.stats .stat strong,
.v3-stat b{
  color:#fff8fd!important;
}

/* Navigation and tabs */
nav,
.v3-nav,
.tabs,
.segment,
.segmented,
.v3-day-tabs,
.v3-lesson-tabs{
  background:#0f0c12!important;
  color:#f6f1f6!important;
  border-color:rgba(255,255,255,.08)!important;
}

.v3-nav button,
.v3-day-tabs button,
.v3-lesson-tabs button,
.tabs button,
.segment button{
  color:#aca0b0!important;
  background:transparent!important;
}

.v3-nav button.active,
.v3-day-tabs button.active,
.v3-lesson-tabs button.active,
.tabs button.active,
.segment button.active{
  color:#fff!important;
  background:#261926!important;
  border-color:rgba(255,53,173,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(255,53,173,.10)!important;
}

/* Generic buttons */
button,
.btn{
  color:#f7f1f7!important;
}

button.secondary,
.btn-secondary,
.secondary{
  background:#1b1520!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#e8dfea!important;
}

button.primary,
.btn-primary,
.primary,
.v3-primary{
  color:#fff!important;
}

.icon{
  color:#ddd2df!important;
  background:#1d1622!important;
  border-color:rgba(255,255,255,.09)!important;
}

/* Inputs / forms */
input,
textarea,
select{
  color:#f6f1f6!important;
  background:#0e0b11!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:10px!important;
}

input::placeholder,
textarea::placeholder{
  color:#776d7c!important;
}

input:focus,
textarea:focus,
select:focus{
  color:#fff!important;
  background:#100c14!important;
  border-color:rgba(255,53,173,.48)!important;
  box-shadow:0 0 0 3px rgba(255,53,173,.08)!important;
}

/* Lesson list / lesson card */
#lessons .lesson,
.lesson{
  background:linear-gradient(180deg,#201724,#17121b)!important;
  color:#f6f1f6!important;
}

#lessons .lesson time,
.lesson time{
  color:#fff!important;
}

#lessons .lesson b,
.lesson b{
  color:#fff8fd!important;
}

.badge{
  color:#edc986!important;
  background:rgba(232,181,96,.10)!important;
  border-color:rgba(232,181,96,.18)!important;
}

.badge.done{
  color:#7fe0a6!important;
  background:rgba(88,220,145,.08)!important;
  border-color:rgba(88,220,145,.18)!important;
}

/* Week strip */
#week button,
.week button{
  background:#17121b!important;
  color:#a79cab!important;
  border-color:rgba(255,255,255,.07)!important;
}

#week button.active,
.week button.active{
  color:#fff!important;
  background:#281726!important;
  border-color:rgba(255,53,173,.28)!important;
}

/* Trainers chips / registry */
.trainer,
.v3-chip,
.chip{
  background:#18131c!important;
  color:#c1b5c4!important;
  border:1px solid rgba(255,255,255,.08)!important;
}

.trainer.active,
.v3-chip.active,
.chip.active{
  background:#2a1726!important;
  color:#ffe7f4!important;
  border-color:rgba(255,53,173,.30)!important;
}

.v3-price,
.price,
.money,
.amount{
  color:#ff74c4!important;
}

.v3-child-money.debt,
.debt,
.amount.negative{
  color:#ff7da8!important;
}

/* Modal / dialog / child editor */
dialog,
.v3-modal-card{
  background:linear-gradient(180deg,#1a141f,#131016)!important;
  color:#f7f2f7!important;
  border-color:rgba(255,255,255,.09)!important;
}

dialog::backdrop,
.v3-modal{
  background:rgba(6,4,7,.76)!important;
}

.attendance{
  color:#c7bbc9!important;
  background:#1a141f!important;
  border-color:rgba(255,255,255,.09)!important;
}

.attendance.on{
  color:#7ae5a9!important;
  background:rgba(88,220,145,.08)!important;
  border-color:rgba(88,220,145,.20)!important;
}

.attendance.absent.on{
  color:#ff8db1!important;
  background:rgba(255,78,137,.08)!important;
  border-color:rgba(255,78,137,.20)!important;
}

/* Change log / source changes */
pre,
code{
  color:#d5ccd6!important;
  background:#0d0a10!important;
}

.v3-change-status.ok{
  color:#80e3aa!important;
}

.v3-change-status.warn{
  color:#ecc584!important;
}

/* Tables, if any */
table{
  color:#f6f1f6!important;
  background:transparent!important;
}

thead th{
  color:#a89dac!important;
  background:#120e15!important;
}

tbody tr{
  background:transparent!important;
}

tbody tr:nth-child(even){
  background:rgba(255,255,255,.02)!important;
}

td,th{
  border-color:rgba(255,255,255,.07)!important;
}

/* Keep hidden semantics intact */
[hidden]{
  display:none!important;
}


/* ============================================================
   EXPRESSIA_FINANCE_PREMIUM_REFINE_V2
   Premium visual cleanup: borders, chips, forms, typography.
   ============================================================ */

/* Base premium typography */
body,button,input,select,textarea{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:-.012em;
}

header .brand{
  font-size:17px!important;
  letter-spacing:6px!important;
  font-weight:560!important;
}

header .sub{
  margin-top:8px!important;
  font-size:11px!important;
  letter-spacing:.13em!important;
  color:#9d92a3!important;
}

.finance-greeting{
  margin-top:13px!important;
  font-size:13px!important;
  font-weight:430!important;
  color:#f4eef5!important;
}

/* Global panel language: softer borders, more expensive shadows */
.panel,
.sidebar,
section.panel,
.v3-card,
.v3-list,
.v3-stat,
.lesson,
dialog,
.v3-modal-card,
#calendar-panel{
  border-color:rgba(255,255,255,.055)!important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.018)!important;
}

.panel,
.sidebar,
section.panel,
.v3-card,
.v3-list,
.v3-stat,
#calendar-panel{
  border-radius:18px!important;
}

.lesson{
  border-radius:16px!important;
}

/* Kill bright / harsh white frames */
.panel,
.sidebar,
section.panel,
#calendar-panel,
.v3-card,
.v3-list,
.v3-stat,
.v3-change-row,
.v3-transfer-box,
.v3-child-tools,
.v3-active-transfers,
.total,
dialog,
.v3-modal-card{
  outline:none!important;
}

/* Calendar outer frame softer */
#calendar-panel{
  background:linear-gradient(180deg,#151019,#110d15)!important;
}

#calendar-panel .monthbar{
  margin-bottom:14px!important;
}

#calendar > button{
  background:#1a141f!important;
  border-color:rgba(255,255,255,.06)!important;
  border-radius:13px!important;
  font-size:14px!important;
  font-weight:620!important;
}

#calendar > button:hover{
  background:#211827!important;
  border-color:rgba(255,255,255,.11)!important;
}

#calendar > button.selected{
  border-color:#ff75c5!important;
  box-shadow:
    0 10px 26px rgba(214,33,134,.28),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
}

#calendar > span{
  color:#948997!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
}

/* Top titles */
#daytitle,
.v3-section-head h1,
h1{
  font-size:20px!important;
  line-height:1.1!important;
  font-weight:720!important;
  letter-spacing:-.03em!important;
  color:#fff9fd!important;
}

#weektitle{
  color:#9d92a2!important;
  font-size:12px!important;
}

/* Subhead / kicker */
.v3-kicker,
.aside-label{
  color:#d860aa!important;
  font-size:10.5px!important;
  font-weight:760!important;
  letter-spacing:.22em!important;
}

/* Secondary text */
.muted,
small,
.v3-note,
.v3-mini-stats,
.v3-history-row small,
.v3-child-main small,
.v3-stat span{
  color:#a59aa8!important;
}

/* Tabs and navigation */
.v3-nav,
.v3-day-tabs,
.v3-lesson-tabs{
  background:rgba(13,9,17,.96)!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.26)!important;
}

.v3-nav button,
.v3-day-tabs button,
.v3-lesson-tabs button{
  font-weight:560!important;
  letter-spacing:-.01em!important;
}

.v3-nav button.active,
.v3-day-tabs button.active,
.v3-lesson-tabs button.active{
  background:linear-gradient(180deg,#2c1828,#20141f)!important;
  color:#fff5fb!important;
  border-radius:12px!important;
  box-shadow:inset 0 0 0 1px rgba(255,53,173,.14)!important;
}

/* Cards in Trainers / Children / Accounting */
.v3-card,
.v3-list,
.v3-stat{
  background:linear-gradient(180deg,#16111a,#120e15)!important;
}

.v3-card h3,
.v3-list h3{
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
}

/* The white pills under trainer cards */
.v3-mini-stats{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.v3-mini-stats > *,
.v3-mini-stats span,
.v3-mini-stats b{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  background:#1b1520!important;
  border:1px solid rgba(255,255,255,.065)!important;
  color:#ddd5df!important;
  box-shadow:none!important;
}

.v3-mini-stats b{
  color:#f5eef6!important;
  font-weight:650!important;
}

/* Buttons */
button,
.primary,
.secondary,
.v3-primary,
.v3-secondary{
  min-height:44px!important;
  border-radius:13px!important;
}

.secondary,
.v3-secondary,
button.secondary{
  background:linear-gradient(180deg,#1c1620,#17121b)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  color:#eee7ef!important;
}

.secondary:hover,
.v3-secondary:hover,
button.secondary:hover{
  background:linear-gradient(180deg,#221927,#1b1520)!important;
}

.primary,
.v3-primary,
button.primary{
  background:linear-gradient(180deg,#f23aa9,#cb237f)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(208,35,128,.18)!important;
}

/* Forms / selects / the ugly white dropdown */
input,
select,
textarea,
.v3-search input{
  background:#161119!important;
  color:#f5eff5!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:13px!important;
  box-shadow:none!important;
}

input::placeholder,
textarea::placeholder{
  color:#776d7b!important;
}

select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-right:38px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#a996ab 50%),
    linear-gradient(135deg,#a996ab 50%,transparent 50%)!important;
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px)!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
}

option{
  background:#161119!important;
  color:#f5eff5!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(255,53,173,.34)!important;
  box-shadow:0 0 0 3px rgba(255,53,173,.06)!important;
}

/* Lesson cards */
.lesson{
  background:linear-gradient(180deg,#1b1520,#151018)!important;
}

.lesson time{
  font-size:16px!important;
  font-weight:760!important;
}

.lesson b{
  font-size:14.5px!important;
  font-weight:680!important;
}

.badge,
.badge.done{
  min-height:25px!important;
  padding:0 9px!important;
  border-radius:10px!important;
  font-size:11px!important;
  font-weight:650!important;
}

/* Trainer chips under calendar */
.trainer{
  min-height:38px!important;
  border-radius:11px!important;
  padding:0 12px!important;
  font-weight:560!important;
}

/* Tables/rows */
.v3-child-row,
.v3-history-row,
.v3-change-row{
  border-top-color:rgba(255,255,255,.055)!important;
}

.v3-change-row pre,
pre,
code{
  border-radius:12px!important;
}

/* Empty states a bit quieter */
.empty,
.v3-empty{
  color:#988c9a!important;
  font-size:14px!important;
  line-height:1.35!important;
}

/* Mobile refinement */
@media(max-width:750px){
  main{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  header{
    padding:18px 16px 16px!important;
  }

  .panel,
  .sidebar,
  section.panel,
  .v3-card,
  .v3-list,
  .v3-stat,
  #calendar-panel{
    border-radius:16px!important;
  }

  #calendar > button{
    min-height:40px!important;
    font-size:13.5px!important;
  }

  .v3-nav{
    left:10px!important;
    right:10px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    border-radius:18px!important;
  }

  .v3-nav button{
    min-height:42px!important;
    font-size:11.5px!important;
  }

  .v3-mini-stats{
    gap:6px!important;
  }

  .v3-mini-stats > *,
  .v3-mini-stats span,
  .v3-mini-stats b{
    min-height:32px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}


/* ============================================================
   EXPRESSIA_FINANCE_WHITE_TAIL_FIX_V1
   Removes the two remaining bright legacy elements.
   ============================================================ */

/* 1) Old inner calendar frame */
#calendar-panel .calwrap{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
}

/* Prevent pseudo-elements from recreating a frame */
#calendar-panel .calwrap::before,
#calendar-panel .calwrap::after{
  content:none!important;
  display:none!important;
}

/* 2) Selected-date trigger that was still rendered as a white pill */
.finance-date-trigger{
  width:100%!important;
  min-height:48px!important;
  margin:0 0 14px!important;
  padding:0 16px!important;

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

  color:#e9dfe9!important;
  background:
    linear-gradient(180deg,#1b1420 0%,#151019 100%)!important;

  border:1px solid rgba(255,255,255,.065)!important;
  outline:0!important;
  border-radius:14px!important;

  font-size:13px!important;
  line-height:1!important;
  font-weight:560!important;
  letter-spacing:-.01em!important;

  box-shadow:
    0 10px 26px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.018)!important;

  -webkit-appearance:none!important;
  appearance:none!important;
}

.finance-date-trigger:hover,
.finance-date-trigger:active{
  color:#fff5fb!important;
  background:
    linear-gradient(180deg,#231825 0%,#19121d 100%)!important;
  border-color:rgba(255,53,173,.20)!important;
}

.finance-date-trigger::after{
  color:#b4a7b8!important;
}

/* If the legacy trigger is a select/input rather than a button,
   the runtime class still forces the same dark presentation. */
select.finance-date-trigger,
input.finance-date-trigger{
  color:#e9dfe9!important;
  -webkit-text-fill-color:#e9dfe9!important;
  background-color:#17111b!important;
}

/* Native disabled appearance must not wash it white on iOS */
.finance-date-trigger:disabled{
  opacity:1!important;
  color:#bdb1c0!important;
  -webkit-text-fill-color:#bdb1c0!important;
  background:#17111b!important;
}

/* Slightly soften the outer calendar card too */
#calendar-panel{
  border-color:rgba(255,255,255,.05)!important;
}

/* Preserve application hidden states */
[hidden]{
  display:none!important;
}


/* ============================================================
   EXPRESSIA_FINANCE_LESSON_PARTICIPANTS_STYLE_V1
   ============================================================ */

.finance-participant-manager{
  margin:14px 0 4px;
  padding:14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:15px;
  background:#120e15;
}

.finance-participant-manager-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.finance-participant-manager-head > div{
  min-width:0;
}

.finance-participant-kicker{
  display:block;
  margin-bottom:4px;
  color:#d85ba8;
  font-size:9.5px;
  font-weight:760;
  letter-spacing:.18em;
}

.finance-participant-manager-head b{
  color:#fff7fc!important;
  font-size:14px;
  font-weight:680;
}

.finance-only-badge{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  color:#c8bacb;
  background:#1d1621;
  border:1px solid rgba(255,255,255,.06);
  font-size:10px;
}

.finance-add-participant{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.finance-add-participant select,
.finance-transfer-box select,
.finance-transfer-box input{
  margin:0!important;
  min-height:42px!important;
  color:#f5eef5!important;
  background:#0e0b11!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:11px!important;
}

.finance-action-primary,
.finance-action-secondary,
.finance-member-action{
  min-height:38px!important;
  border-radius:11px!important;
  font-size:12px!important;
  font-weight:600!important;
}

.finance-action-primary{
  color:#fff!important;
  background:linear-gradient(180deg,#ef3ca8,#ca237f)!important;
  border:1px solid rgba(255,255,255,.07)!important;
}

.finance-action-secondary{
  color:#ded4e0!important;
  background:#1b1520!important;
  border:1px solid rgba(255,255,255,.07)!important;
}

.finance-member-tools{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  margin-top:10px;
}

.finance-member-action{
  padding:0 11px!important;
  color:#dfcad8!important;
  background:#1a141f!important;
  border:1px solid rgba(255,255,255,.07)!important;
}

.finance-member-action.danger{
  color:#ff86ae!important;
}

.finance-member-action:disabled{
  opacity:.34!important;
}

.finance-transfer-box{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(255,53,173,.12);
  border-radius:13px;
  background:#18111b;
}

.finance-transfer-title{
  margin-bottom:9px;
  color:#fff3fa;
  font-size:13px;
  font-weight:670;
}

.finance-transfer-box input{
  margin-top:8px!important;
}

.finance-transfer-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:9px;
}

.finance-participant-error{
  color:#ff96b5;
  font-size:12px;
}

@media(max-width:520px){
  .finance-add-participant{
    grid-template-columns:1fr;
  }

  .finance-add-participant .finance-action-primary{
    width:100%;
  }

  .finance-participant-manager{
    padding:12px;
  }
}


/* EXPRESSIA_FINANCE_MOBILE_HOME_V1 */
@media (max-width:760px) {
  body.finance-mobile-home > header {
    padding:12px 16px!important;min-height:0!important;gap:8px!important;
  }
  body.finance-mobile-home > header .brand {
    font-size:16px!important;letter-spacing:3.5px!important;line-height:1.3!important;
  }
  body.finance-mobile-home > header .sub {
    font-size:10px!important;margin-top:3px!important;line-height:1.3!important;
  }
  body.finance-mobile-home > header .finance-greeting,
  body.finance-mobile-home > header .demo {display:none!important;}
  body.finance-mobile-home > main {
    padding:12px 12px calc(100px + env(safe-area-inset-bottom,0px))!important;
    width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
  body.finance-mobile-home #v3-schedule {min-width:0!important;}
  body.finance-mobile-home #v3-schedule > .top,
  body.finance-mobile-home #v3-schedule > #stats {display:none!important;}
  body.finance-mobile-home #v3-schedule > .mobile-date {
    display:block!important;margin:0 0 10px!important;
  }
  body.finance-mobile-home #calendar-toggle {
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:44px!important;padding:10px 13px!important;
    background:#19121e!important;color:#f5edf6!important;
    border:1px solid #443046!important;border-radius:12px!important;
    font-size:14px!important;box-shadow:none!important;text-align:left!important;
  }
  body.finance-mobile-home #calendar-toggle #mobile-date-label {
    color:#f5edf6!important;opacity:1!important;font-size:14px!important;
  }
  body.finance-mobile-home #calendar-toggle > span:last-child {
    color:#ee96c7!important;opacity:1!important;
  }
  body.finance-mobile-home #calendar-toggle[aria-expanded="true"] > span:last-child {transform:rotate(180deg);}
  body.finance-mobile-home #layout {
    display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;
  }
  body.finance-mobile-home #layout > #calendar-panel {
    padding:10px!important;min-width:0!important;width:100%!important;
    background:#151019!important;border:1px solid #302633!important;border-radius:14px!important;
  }
  body.finance-mobile-home #layout:not(.calendar-open) > #calendar-panel {display:none!important;}
  body.finance-mobile-home #layout.calendar-open > #calendar-panel {display:block!important;}
  body.finance-mobile-home #layout.calendar-open #calendar-panel .calwrap {
    display:block!important;width:100%!important;min-width:0!important;
    margin:0!important;padding:0!important;background:transparent!important;border:0!important;
  }
  body.finance-mobile-home #calendar-panel .monthbar {margin:0 0 7px!important;}
  body.finance-mobile-home #calendar-panel .monthbar button {min-width:40px!important;min-height:40px!important;}
  body.finance-mobile-home #calendar {
    display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;width:100%!important;min-width:0!important;
  }
  body.finance-mobile-home #calendar > span {min-height:20px!important;padding:4px 0!important;font-size:10px!important;}
  body.finance-mobile-home #calendar > i {min-height:36px!important;}
  body.finance-mobile-home #calendar > button {
    width:100%!important;min-width:0!important;max-width:none!important;height:36px!important;
    min-height:36px!important;padding:4px 0!important;font-size:13px!important;border-radius:10px!important;
  }
  body.finance-mobile-home #layout > section.panel {
    padding:12px!important;min-width:0!important;width:100%!important;
  }
  body.finance-mobile-home #layout > section.panel > .top {margin-bottom:8px!important;align-items:center!important;}
  body.finance-mobile-home #daytitle {font-size:19px!important;margin:0!important;}
  body.finance-mobile-home #weektitle {font-size:11px!important;margin:3px 0 0!important;}
  body.finance-mobile-home #today {min-height:40px!important;padding:8px 10px!important;font-size:12px!important;}
  body.finance-mobile-home #v3-schedule #week {
    display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    gap:4px!important;margin:10px 0!important;padding:0!important;overflow:visible!important;
  }
  body.finance-mobile-home #v3-schedule #week > button {
    width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;
    min-height:46px!important;padding:6px 0!important;margin:0!important;
    border-radius:10px!important;box-sizing:border-box!important;
  }
  body.finance-mobile-home #v3-schedule #week small {font-size:10px!important;margin:0 0 3px!important;}
  body.finance-mobile-home #v3-schedule #week b {font-size:14px!important;}
  body.finance-mobile-home #v3-schedule #trainers {
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
    width:100%!important;min-width:0!important;gap:6px!important;
    overflow-x:auto!important;margin:0 0 10px!important;padding:3px 0 7px!important;
    border:0!important;scrollbar-width:thin;scroll-padding-inline:4px;
  }
  body.finance-mobile-home #trainers .aside-label {display:none!important;}
  body.finance-mobile-home #trainers .trainer {
    flex:0 0 auto!important;width:auto!important;max-width:none!important;
    margin:0!important;min-height:38px!important;padding:8px 11px!important;
    font-size:12px!important;white-space:nowrap!important;
  }
  body.finance-mobile-home #v3-schedule .v3-day-tabs {margin:0 0 10px!important;}
  body.finance-mobile-home #v3-schedule .empty {padding:24px 8px!important;font-size:13px!important;line-height:1.55!important;}
  body.finance-mobile-home #message {
    min-height:0!important;margin:6px 0!important;text-align:left!important;font-size:12px!important;
  }
  body.finance-mobile-home #message:empty {display:none!important;}
}


/* EXPRESSIA_FINANCE_LESSON_CARDS_V1 */
#lessons .lesson.finance-lesson-card {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:5px!important;width:100%!important;min-width:0!important;
  padding:12px 13px!important;margin:8px 0!important;text-align:left!important;
  background:#17131c!important;border:1px solid #332b39!important;
  border-radius:12px!important;box-shadow:none!important;color:#f1ebf3!important;
  overflow:hidden!important;box-sizing:border-box!important;
}
#lessons .lesson.finance-lesson-card::before,
#lessons .lesson.finance-lesson-card::after {content:none!important;display:none!important;}
#lessons .lesson.finance-lesson-card:active {background:#211927!important;}
#lessons .finance-lesson-card .flc-heading {
  display:flex!important;align-items:baseline!important;justify-content:space-between!important;
  gap:9px!important;min-width:0!important;width:100%!important;
}
#lessons .finance-lesson-card .flc-when {
  display:flex!important;align-items:baseline!important;gap:10px!important;min-width:0!important;flex:1!important;
}
#lessons .lesson.finance-lesson-card time {
  flex:0 0 auto!important;min-width:0!important;width:auto!important;
  font-size:17px!important;font-weight:600!important;line-height:1.3!important;
  color:#f4eef7!important;font-variant-numeric:tabular-nums!important;
}
#lessons .finance-lesson-card .flc-place {
  font-size:12px!important;font-weight:400!important;line-height:1.4!important;
  color:#b5a9bf!important;min-width:0!important;overflow:hidden!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;
}
#lessons .finance-lesson-card .flc-status {
  flex:0 1 auto!important;max-width:45%!important;font-size:11px!important;
  font-weight:400!important;line-height:1.4!important;text-align:right!important;
  color:#b9afc1!important;background:transparent!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;padding:0!important;
}
#lessons .finance-lesson-card .flc-status.attention {color:#dfbda0!important;}
#lessons .finance-lesson-card .flc-status.paid {color:#a1c6b3!important;}
#lessons .finance-lesson-card .flc-teacher {
  display:block!important;font-size:14px!important;font-weight:500!important;
  line-height:1.4!important;color:#e2d8e9!important;overflow-wrap:anywhere!important;
}
#lessons .finance-lesson-card .flc-names {
  display:block!important;min-width:0!important;font-size:12px!important;font-weight:400!important;
  line-height:1.4!important;color:#b8acbf!important;overflow:hidden!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;
}
#lessons .finance-lesson-card .flc-details {
  display:flex!important;flex-wrap:wrap!important;gap:5px!important;
  font-size:11px!important;font-weight:400!important;line-height:1.4!important;color:#b2a6ba!important;
}

/* EXPRESSIA_FINANCE_LESSON_WORKSPACE_STYLE_V3_STATUS_PILLS */
body.fx3-open{overflow:hidden!important}
.fx3-root{position:fixed;inset:0;z-index:2300;color:#f8f3f7;background:#09070d}
.fx3-root[hidden],.fx3-sheet[hidden],.fx3-add-box[hidden]{display:none!important}
.fx3-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(520px 190px at 100% 0%,rgba(255,54,172,.08),transparent 72%),#09070d}
.fx3-head{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:13px 12px 11px!important;background:rgba(11,8,14,.98)!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
.fx3-icon,.fx3-add,.fx3-x{width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;display:grid!important;place-items:center!important;color:#e9e1ea!important;background:#19131d!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:12px!important}
.fx3-edit{min-height:36px!important;padding:0 12px!important;border-radius:11px!important;color:#d6cad7!important;background:#19131d!important;border:1px solid rgba(255,255,255,.065)!important;font-size:11px!important;font-weight:600!important}
.fx3-copy{min-width:0}.fx3-copy h2{margin:0!important;color:#fff9fd!important;font-size:20px!important;line-height:1.1!important;font-weight:720!important;letter-spacing:-.025em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx3-meta{margin-top:5px;color:#9d92a1;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx3-scroll{overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 28px!important;max-width:none!important;margin:0!important}.fx3-roster,.fx3-history{max-width:680px;margin-left:auto;margin-right:auto}
.fx3-roster-head{height:44px;display:flex;align-items:center;justify-content:space-between}.fx3-roster-head span{color:#766b79;font-size:11px;font-weight:650}.fx3-add{font-size:21px!important;color:#ff72c3!important}
.fx3-row{display:grid;grid-template-columns:minmax(0,1fr) auto 82px 36px;align-items:center;gap:8px;padding:14px 0;border-top:1px solid rgba(255,255,255,.055)}.fx3-row:first-child{border-top:0}.fx3-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f7f2f8;font-size:14px;font-weight:650;letter-spacing:-.015em}
.fx3-status-pill{min-height:32px!important;padding:0 10px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.06)!important;background:#121016!important;color:#bab0be!important;font-size:10px!important;font-weight:650!important;white-space:nowrap}.fx3-status-pill.present{color:#8ce3ae!important;background:rgba(61,178,108,.08)!important;border-color:rgba(88,220,145,.15)!important}.fx3-status-pill.absent{color:#ff89ab!important;background:rgba(255,78,137,.07)!important;border-color:rgba(255,78,137,.15)!important}.fx3-status-pill.unknown{color:#ece4ee!important;background:#281827!important;border-color:rgba(255,53,173,.18)!important}
.fx3-money{position:relative}.fx3-money input{width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 20px 0 8px!important;text-align:right!important;color:#f3edf4!important;-webkit-text-fill-color:#f3edf4!important;background:#121016!important;border:1px solid rgba(255,255,255,.05)!important;border-radius:10px!important;font-size:10.5px!important;font-variant-numeric:tabular-nums}.fx3-money span{position:absolute;right:7px;top:50%;transform:translateY(-50%);color:#706674;font-size:9px}
.fx3-row-action{width:36px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.06)!important;background:#121016!important;color:#9e92a0!important;font-size:12px!important}
.fx3-moved-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid rgba(255,255,255,.055)}.fx3-moved-name{color:#ab99a5;font-size:13px;font-weight:550;text-decoration:line-through;text-decoration-color:#ff3eaa;text-decoration-thickness:1.5px}.fx3-moved-meta{margin-top:4px;color:#ff55b5;font-size:10px;font-weight:560}.fx3-undo{width:32px!important;height:32px!important;min-height:32px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.055)!important;background:#121016!important;color:#c2b6c5!important}
.fx3-empty{padding:30px 0;color:#807583;text-align:center;font-size:12px}
.fx3-add-box{margin:3px 0 8px;padding:10px;border-radius:13px;background:#100c13;border:1px solid rgba(255,53,173,.10)}.fx3-add-box select,.fx3-sheet-card select,.fx3-sheet-card input{width:100%!important;min-height:43px!important;margin:0!important;padding:0 10px!important;color:#f3edf4!important;-webkit-text-fill-color:#f3edf4!important;background:#0d0a10!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:11px!important;box-shadow:none!important}
.fx3-inline-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}.fx3-ghost,.fx3-primary-small{min-height:36px!important;padding:0 12px!important;border-radius:10px!important;font-size:11px!important;font-weight:620!important}.fx3-ghost{color:#b9aebb!important;background:#18121c!important;border:1px solid rgba(255,255,255,.055)!important}.fx3-primary-small{color:#fff!important;background:linear-gradient(180deg,#ef3ca8,#ca237f)!important;border:1px solid rgba(255,255,255,.06)!important}
.fx3-history{margin-top:16px;padding:11px 12px;border-radius:13px;color:#938797;background:#0e0b11;border:1px solid rgba(255,255,255,.045)}.fx3-history summary{cursor:pointer;font-size:10.5px}.fx3-history-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.04)}.fx3-history-row b{color:#bdb2c0!important;font-size:9.5px}.fx3-history-row span{color:#776d7b;font-size:9px;text-align:right}.fx3-history-empty{padding-top:9px;color:#746a77;font-size:9.5px}
.fx3-footer{display:flex;justify-content:flex-end!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;background:rgba(10,7,13,.98)!important;border-top:1px solid rgba(255,255,255,.055)!important}.fx3-save{min-width:130px;min-height:44px!important;padding:0 17px!important;color:#fff!important;background:linear-gradient(180deg,#f13da9,#c92380)!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:13px!important;box-shadow:0 9px 25px rgba(207,34,130,.16)!important;font-size:12px!important;font-weight:680!important}.fx3-save.full{width:100%;margin-top:13px}
.fx3-sheet{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;background:rgba(4,2,6,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.fx3-sheet-card{width:100%;padding:15px 13px calc(15px + env(safe-area-inset-bottom));border-radius:21px 21px 0 0;background:linear-gradient(180deg,#19121e,#100c13);border-top:1px solid rgba(255,255,255,.075);box-shadow:0 -18px 55px rgba(0,0,0,.34)}.fx3-sheet-card.compact{padding-top:12px}.fx3-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.fx3-sheet-title{color:#fff5fb;font-size:15px;font-weight:690}.fx3-sheet-card label{display:block;margin-top:10px;color:#918695!important;font-size:10px!important;font-weight:560!important}.fx3-sheet-card label select,.fx3-sheet-card label input{margin-top:6px!important}
.fx3-sheet-action{width:100%!important;min-height:48px!important;padding:0 4px!important;text-align:left!important;color:#efe6ef!important;background:transparent!important;border:0!important;border-top:1px solid rgba(255,255,255,.045)!important;border-radius:0!important;font-size:13px!important}.fx3-sheet-action.present{color:#8ce3ae!important}.fx3-sheet-action.absent{color:#ff89ab!important}.fx3-sheet-action.danger{color:#ff769e!important}.fx3-sheet-action.muted,.fx3-sheet-action.ghost{color:#8f8492!important}.fx3-sheet-action:disabled{opacity:.28!important}
.fx3-toast{position:fixed;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));z-index:2600;max-width:calc(100vw - 28px);padding:10px 13px;transform:translate(-50%,16px);opacity:0;pointer-events:none;border-radius:11px;color:#fff;background:#8b2869;box-shadow:0 12px 38px rgba(0,0,0,.34);font-size:11px;transition:.16s ease}.fx3-toast.show{transform:translate(-50%,0);opacity:1}.fx3-toast.error{background:#91364f}
@media(max-width:390px){.fx3-row{grid-template-columns:minmax(0,1fr) auto 74px 34px;gap:6px}.fx3-status-pill{padding:0 8px!important;font-size:9.5px!important}}
@media(min-width:760px){.fx3-shell{max-width:760px;margin:0 auto;border-left:1px solid rgba(255,255,255,.045);border-right:1px solid rgba(255,255,255,.045)}}

/* EXPRESSIA_FINANCE_TRAINER_DASHBOARD_V1 */
body.td-open{overflow:hidden!important}
#v3-trainers-list [data-trainer-card]{cursor:pointer}
#v3-trainers-list [data-trainer-card]>.v3-secondary[data-price-open]{display:none!important}
#v3-trainers-list .v3-price[data-td-inline-price]{cursor:pointer;opacity:.72;transition:.15s ease}
#v3-trainers-list .v3-price[data-td-inline-price]:hover{opacity:1}

.td-root{position:fixed;inset:0;z-index:2350;color:#f8f3f7;background:#09070d}
.td-root[hidden],.td-sheet[hidden],.td-custom[hidden]{display:none!important}
.td-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:radial-gradient(520px 190px at 100% 0%,rgba(255,54,172,.08),transparent 72%),#09070d}
.td-head{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:13px 12px 11px!important;background:rgba(11,8,14,.98)!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
.td-back{width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;display:grid!important;place-items:center!important;color:#e9e1ea!important;background:#19131d!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:12px!important}
.td-head-copy{min-width:0}.td-head-copy h2{margin:0!important;color:#fff9fd!important;font-size:20px!important;line-height:1.1!important;font-weight:720!important;letter-spacing:-.025em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-period-label{margin-top:5px;color:#9d92a1;font-size:11px}
.td-price-chip{min-height:34px!important;padding:0 10px!important;border-radius:10px!important;color:#b9aebb!important;background:#151118!important;border:1px solid rgba(255,255,255,.055)!important;font-size:10px!important;font-weight:600!important}
.td-main{overflow:auto;-webkit-overflow-scrolling:touch;padding:14px 12px 34px!important;max-width:680px;width:100%;margin:0 auto}
.td-range{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:13px;background:#100d12;border:1px solid rgba(255,255,255,.05)}
.td-range button{min-height:36px!important;padding:0 5px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#766c7a!important;font-size:10px!important;font-weight:620!important}.td-range button.active{background:#251522!important;color:#fff4fb!important}
.td-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:10px;border-radius:12px;background:#100d12;border:1px solid rgba(255,255,255,.045)}.td-custom label{color:#817685;font-size:9px}.td-custom input{width:100%!important;min-height:38px!important;margin-top:5px!important;padding:0 8px!important;color:#eee6ef!important;-webkit-text-fill-color:#eee6ef!important;background:#0a080c!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:9px!important;font-size:10px!important}
.td-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.td-stat{padding:13px 14px;border-radius:15px;background:#100d12;border:1px solid rgba(255,255,255,.05)}.td-stat span,.td-debt span,.td-rate-line span{display:block;color:#847988;font-size:10px}.td-stat strong{display:block;margin-top:4px;color:#fbf7fb;font-size:21px;line-height:1.1;font-weight:700;letter-spacing:-.02em}
.td-debt{width:100%!important;min-height:82px!important;margin-top:8px!important;padding:14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;border-radius:16px!important;background:rgba(255,55,171,.052)!important;border:1px solid rgba(255,67,172,.14)!important}.td-debt strong{display:block;margin-top:4px;color:#fff8fc;font-size:25px;line-height:1.1;font-weight:720;letter-spacing:-.025em}.td-debt em{color:#ff69bc;font-size:10px;font-style:normal;font-weight:650}
.td-price-warning{margin-top:8px;padding:9px 11px;border-radius:11px;color:#d9b9cc;background:rgba(255,179,68,.045);border:1px solid rgba(255,179,68,.09);font-size:9.5px}
.td-rate-line{margin-top:12px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:15px;background:#100d12;border:1px solid rgba(255,255,255,.05)}.td-rate-line strong{display:block;margin-top:4px;color:#efe8f0;font-size:13px}.td-rate-line button{min-height:30px!important;padding:0!important;border:0!important;background:transparent!important;color:#776d7a!important;font-size:9.5px!important}
.td-recent{margin-top:18px}.td-section-label{margin-bottom:4px;color:#756b78;font-size:10px;font-weight:650}.td-recent-row{width:100%!important;min-height:55px!important;padding:10px 2px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;border:0!important;border-top:1px solid rgba(255,255,255,.05)!important;border-radius:0!important;background:transparent!important}.td-recent-row div{min-width:0}.td-recent-row strong{display:block;color:#efe9f0;font-size:12px;font-weight:620}.td-recent-row span{display:block;margin-top:4px;color:#756b78;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-recent-row em{color:#6e6471;font-size:18px;font-style:normal}.td-empty{padding:22px 4px;color:#756b78;text-align:center;font-size:10.5px}
.td-sheet{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;background:rgba(4,2,6,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.td-sheet-card{width:100%;max-height:84vh;overflow:auto;padding:15px 13px calc(17px + env(safe-area-inset-bottom));border-radius:21px 21px 0 0;background:linear-gradient(180deg,#19121e,#100c13);border-top:1px solid rgba(255,255,255,.075);box-shadow:0 -18px 55px rgba(0,0,0,.34)}.td-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.td-sheet-head h3{margin:0!important;color:#fff7fc!important;font-size:16px!important}.td-sheet-head span{display:block;margin-top:4px;color:#807483;font-size:10px}.td-sheet-head>button{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important;background:#211924!important;border:1px solid rgba(255,255,255,.05)!important;color:#9c909f!important}.td-debt-total{margin:13px 0 11px;color:#fff8fc;font-size:27px;font-weight:730;letter-spacing:-.025em}
.td-debt-person{padding:12px 0;border-top:1px solid rgba(255,255,255,.05)}.td-debt-person-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.td-debt-person-head button{padding:0!important;border:0!important;background:transparent!important;color:#f4edf5!important;font-size:13px!important;font-weight:650!important}.td-debt-person-head strong{color:#f4edf5;font-size:12px}.td-debt-lessons{margin-top:6px}.td-debt-lessons button{width:100%!important;min-height:30px!important;padding:4px 1px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:0!important;background:transparent!important;color:#887d8b!important;font-size:9.5px!important}.td-debt-lessons button span:last-child{color:#b8acbb}
@media(min-width:760px){.td-shell{max-width:760px;margin:0 auto;border-left:1px solid rgba(255,255,255,.045);border-right:1px solid rgba(255,255,255,.045)}}

/* EXPRESSIA_FINANCE_CHILDREN_WORKSPACE_V1 */
.cx-controls{margin:-2px 0 12px}
.cx-range{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:13px;background:#100d12;border:1px solid rgba(255,255,255,.05)}
.cx-range button{min-height:36px!important;padding:0 5px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#766c7a!important;font-size:10px!important;font-weight:620!important}
.cx-range button.active{background:#251522!important;color:#fff4fb!important}
.cx-filter{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:2px;scrollbar-width:none}
.cx-filter::-webkit-scrollbar{display:none}
.cx-filter button{flex:0 0 auto;min-height:32px!important;padding:0 11px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.055)!important;background:#100d12!important;color:#7e7381!important;font-size:9.5px!important;font-weight:620!important}
.cx-filter button.active{color:#fff0f8!important;background:rgba(255,52,169,.09)!important;border-color:rgba(255,52,169,.16)!important}
.cx-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:9px;border-radius:11px;background:#100d12;border:1px solid rgba(255,255,255,.045)}
.cx-custom label{color:#817685;font-size:9px}
.cx-custom input{width:100%!important;min-height:38px!important;margin-top:5px!important;padding:0 8px!important;color:#eee6ef!important;-webkit-text-fill-color:#eee6ef!important;background:#0a080c!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:9px!important;font-size:10px!important}
.cx-period-label{margin-top:7px;color:#6f6572;font-size:9.5px;text-align:right}

.cx-child-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}
.cx-child-row .v3-child-main small{margin-top:5px!important}
.cx-state{font-size:10px;font-weight:620}
.cx-state.debt{color:#ff7ca4}
.cx-state.unmarked{color:#f0bad4}
.cx-state.warning{color:#e4bd82}
.cx-state.ok{color:#82c9a1}
.cx-state.quiet{color:#766c79}
.cx-child-count{display:flex;align-items:baseline;gap:3px;color:#766c79}
.cx-child-count b{color:#d8cfd9;font-size:14px}
.cx-child-count small{font-size:9px}
.cx-child-count>span{font-size:13px}

.cx-child-head .v3-kicker{color:#847887!important}
.cx-child-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0 10px}
.cx-child-summary article{min-width:0;padding:11px 9px;border-radius:13px;background:#100d12;border:1px solid rgba(255,255,255,.05)}
.cx-child-summary article span{display:block;color:#817684;font-size:9px}
.cx-child-summary article b{display:block;margin-top:5px;color:#f4eef5;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-child-summary article.debt{background:rgba(255,55,171,.045);border-color:rgba(255,67,172,.12)}
.cx-child-summary article.debt b{color:#ff8fba}
.cx-problem-banner{width:100%!important;min-height:43px!important;margin:0 0 8px!important;padding:0 11px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-radius:11px!important;background:rgba(255,55,171,.045)!important;border:1px solid rgba(255,67,172,.11)!important;color:#d8c8d3!important;font-size:10px!important}
.cx-problem-banner b{color:#ff70bd}
.cx-price-warning{margin:0 0 8px;padding:9px 10px;border-radius:10px;color:#d9b9cc;background:rgba(255,179,68,.045);border:1px solid rgba(255,179,68,.09);font-size:9.5px}
.cx-child-history-title{margin:14px 0 4px;color:#746a77;font-size:10px;font-weight:650}
.cx-child-history{display:block!important}
.cx-history-row{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto 12px!important;align-items:center!important;gap:8px!important;padding:11px 1px!important;text-align:left!important;border:0!important;border-top:1px solid rgba(255,255,255,.05)!important;border-radius:0!important;background:transparent!important}
.cx-history-row:first-child{border-top:0!important}
.cx-history-row.is-unmarked{background:linear-gradient(90deg,rgba(255,54,172,.035),transparent 70%)!important}
.cx-history-left{min-width:0}
.cx-history-left>b{display:block;color:#eee8ef;font-size:11px;font-weight:650}
.cx-history-left>span{display:block;margin-top:3px;color:#766c79;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-history-left>small{display:inline-block;margin-top:5px;font-size:9px;font-weight:650}
.cx-history-left>small.present{color:#83d9a5}
.cx-history-left>small.absent{color:#ff8da9}
.cx-history-left>small.unmarked{color:#c99bb4}
.cx-history-left>small.moved,.cx-history-left>small.removed{color:#a894a2}
.cx-history-money{text-align:right;white-space:nowrap}
.cx-history-money>b{display:block;color:#e8e0e9;font-size:10.5px}
.cx-history-money>b.warning{color:#e4bd82}
.cx-history-money>small{display:block;margin-top:3px;color:#776d7a;font-size:8.5px}
.cx-history-money>em{display:block;margin-top:3px;color:#ff7ca4;font-size:8.5px;font-style:normal;font-weight:650}
.cx-history-arrow{color:#675e6a;font-size:16px}
@media(max-width:380px){
  .cx-child-summary article{padding:10px 7px}
  .cx-child-summary article b{font-size:12px}
}

/* EXPRESSIA_FINANCE_ACCOUNTING_STYLE_V1 */
.ac-range{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:13px;background:#100d12;border:1px solid rgba(255,255,255,.05)}
.ac-range button{min-height:36px!important;padding:0 5px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#766c7a!important;font-size:10px!important;font-weight:620!important}
.ac-range button.active{background:#251522!important;color:#fff4fb!important}
.ac-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:9px;border-radius:11px;background:#100d12;border:1px solid rgba(255,255,255,.045)}
.ac-custom label{color:#817685;font-size:9px}.ac-custom input{width:100%!important;min-height:38px!important;margin-top:5px!important;padding:0 8px!important;color:#eee6ef!important;-webkit-text-fill-color:#eee6ef!important;background:#0a080c!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:9px!important;font-size:10px!important}
.ac-period-label{margin:7px 1px 11px;color:#706572;font-size:9.5px;text-align:right}
.ac-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ac-summary-grid article{min-width:0;padding:13px 14px;border-radius:15px;background:#100d12;border:1px solid rgba(255,255,255,.05)}.ac-summary-grid article span{display:block;color:#817684;font-size:10px}.ac-summary-grid article b{display:block;margin-top:5px;color:#f4eef5;font-size:18px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-summary-grid article.debt{background:rgba(255,55,171,.045);border-color:rgba(255,67,172,.12)}.ac-summary-grid article.debt b{color:#ff8fba}.ac-summary-grid article.warn b{color:#e6bd8b}
.ac-export{width:100%!important;min-height:62px!important;margin-top:12px!important;padding:11px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;border-radius:15px!important;background:linear-gradient(135deg,rgba(255,55,171,.095),rgba(255,255,255,.025))!important;border:1px solid rgba(255,73,178,.17)!important;color:#f6eef4!important}.ac-export span{display:block}.ac-export b{display:block;font-size:12px}.ac-export small{display:block;margin-top:4px;color:#8b7f8d;font-size:9px}.ac-export em{font-size:19px;font-style:normal;color:#ff70bd}.ac-export:disabled{opacity:.55}
.ac-note{margin-top:10px!important;color:#776c79!important;font-size:10px!important;line-height:1.5!important}
@media(min-width:620px){.ac-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* EXPRESSIA_FINANCE_LOCAL_TRAINERS_V1 */
.lt-add{margin-left:auto!important;min-height:34px!important;padding:0 11px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.06)!important;background:rgba(255,255,255,.02)!important;color:rgba(255,255,255,.52)!important;font-size:10px!important;font-weight:620!important}
.lt-local-badge{margin-top:5px;color:#8d7e8d;font-size:9px;line-height:1.25}
body.lt-modal-open{overflow:hidden!important}
.lt-modal{position:fixed;inset:0;z-index:2600;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,2,6,.76);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.lt-modal[hidden]{display:none!important}
.lt-card{width:100%;max-width:560px;padding:17px 14px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-top:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,#19131d,#0f0c12);box-shadow:0 -24px 70px rgba(0,0,0,.42)}
.lt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.lt-kicker{color:#756a79;font-size:8.5px;font-weight:680;letter-spacing:.08em}.lt-head h2{margin:4px 0 0!important;color:#fff8fc!important;font-size:18px!important}.lt-close{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.05)!important;background:#211924!important;color:#9e929f!important}
.lt-field{display:block;margin-top:11px;color:#807583;font-size:9px}.lt-field input{width:100%!important;min-height:44px!important;margin-top:6px!important;padding:0 11px!important;border-radius:11px!important;border:1px solid rgba(255,255,255,.065)!important;background:#0b090d!important;color:#f1eaf2!important;-webkit-text-fill-color:#f1eaf2!important;font-size:12px!important}.lt-note{margin:12px 1px 0;color:#756b78;font-size:9.5px;line-height:1.55}.lt-error{margin-top:10px;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,91,128,.15);background:rgba(255,91,128,.05);color:#ff9bb5;font-size:9.5px}.lt-submit{width:100%!important;min-height:44px!important;margin-top:14px!important;border-radius:12px!important;border:1px solid rgba(255,64,172,.16)!important;background:rgba(255,55,171,.08)!important;color:#ff8dcc!important;font-size:11px!important;font-weight:680!important}.lt-submit:disabled{opacity:.5}
@media(min-width:700px){.lt-modal{align-items:center;padding:24px}.lt-card{border-radius:22px;border:1px solid rgba(255,255,255,.075)}}

/* EXPRESSIA_FINANCE_LOCAL_TRAINER_RENAME_V1 */
.lt-local-badge{display:flex;align-items:center;gap:5px}
.ltr-rename{
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  padding:0!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#716574!important;
  font-size:11px!important;
  line-height:20px!important;
  opacity:.72;
}
.ltr-rename:hover,.ltr-rename:focus-visible{
  color:#bfaabd!important;
  background:rgba(255,255,255,.035)!important;
  opacity:1;
}

/* EXPRESSIA_FINANCE_LUXURY_SCHEDULE_V1 */
.lux-schedule-panel{
  position:relative;
  background:
    radial-gradient(130% 65% at 10% 0%, rgba(132,26,74,.20) 0%, rgba(132,26,74,0) 48%),
    radial-gradient(95% 70% at 100% 8%, rgba(111,37,86,.18) 0%, rgba(111,37,86,0) 46%),
    linear-gradient(180deg, #0c0910 0%, #07060a 100%) !important;
  overflow:hidden;
}
.lux-schedule-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:470px;
  pointer-events:none;
  background:
    radial-gradient(160px 160px at 82% 13%, rgba(247,101,149,.18) 0%, rgba(247,101,149,0) 68%),
    radial-gradient(220px 220px at 16% 8%, rgba(140,67,113,.16) 0%, rgba(140,67,113,0) 70%);
  opacity:.9;
}
.lux-schedule-panel::after{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:420px;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(115deg, transparent 27%, rgba(255,139,177,.24) 34%, transparent 41%),
    radial-gradient(80% 60% at 18% 7%, transparent 37%, rgba(255,110,160,.18) 38%, transparent 39%),
    radial-gradient(95% 70% at 80% 5%, transparent 48%, rgba(186,108,151,.15) 49%, transparent 50%),
    radial-gradient(80% 45% at 57% 15%, transparent 54%, rgba(245,127,165,.16) 55%, transparent 56%);
  mix-blend-mode:screen;
}
#lux-schedule-hero{
  position:relative;
  padding:14px 18px 12px;
  margin:-2px -2px 12px;
  isolation:isolate;
}
.lux-hero-art{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.10) 70%, rgba(0,0,0,.22) 100%);
}
.lux-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;gap:12px;min-height:104px}
.lux-hero-mark{
  width:112px;height:64px;display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 0 16px rgba(240,90,145,.16));
}
.lux-hero-mark svg{width:100%;height:100%}
.lux-hero-brand{padding-bottom:5px}
.lux-hero-word{
  font-size:24px;
  line-height:1;
  letter-spacing:.34em;
  color:#f6edf3;
  font-weight:620;
  text-transform:uppercase;
}
.lux-hero-sub{
  margin-top:8px;
  color:rgba(244,236,242,.72);
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lux-date-box,
.lux-month-box,
.lux-day-box{
  position:relative;
  border:1px solid rgba(255,255,255,.085) !important;
  background:linear-gradient(180deg, rgba(17,14,22,.92), rgba(11,9,15,.92)) !important;
  box-shadow:
    0 16px 44px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(8px);
}
.lux-date-box{border-radius:22px !important}
.lux-month-box,.lux-day-box{border-radius:28px !important}
.lux-date-select{
  min-height:58px !important;
  border:0 !important;
  background:transparent !important;
  color:#f5edf1 !important;
  font-size:20px !important;
  font-weight:520 !important;
  letter-spacing:-.02em;
  padding:0 18px !important;
}
#calendar{
  gap:8px !important;
}
#calendar > span{
  color:rgba(242,235,241,.52) !important;
  font-size:12px !important;
  font-weight:520 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#calendar button{
  min-height:58px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(22,18,28,.92), rgba(14,12,18,.94)) !important;
  color:#f6eff2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  font-size:17px !important;
  font-weight:560 !important;
}
#calendar button.has::after{
  box-shadow:0 0 10px rgba(241,75,151,.42);
}
#calendar button.selected,
#calendar button[aria-pressed="true"]{
  border-color:rgba(255,168,199,.42) !important;
  background:
    linear-gradient(180deg, rgba(255,155,196,.95), rgba(226,69,136,.92)) !important;
  color:#fffdfd !important;
  box-shadow:
    0 8px 24px rgba(213,54,121,.32),
    inset 0 1px 0 rgba(255,255,255,.38) !important;
}
.lux-week-day{
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.065) !important;
  background:rgba(16,13,20,.82) !important;
}
.lux-week-day.selected,
.lux-week-day[aria-pressed="true"]{
  border-color:rgba(255,125,182,.34) !important;
  background:linear-gradient(180deg, rgba(82,33,61,.72), rgba(29,18,30,.90)) !important;
}
.lux-filter-chip{
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  background:rgba(17,14,20,.82) !important;
  color:rgba(246,239,244,.88) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.lux-filter-chip.active,
.lux-filter-chip[aria-pressed="true"]{
  border-color:rgba(255,112,173,.36) !important;
  background:linear-gradient(180deg, rgba(72,27,55,.80), rgba(30,18,29,.96)) !important;
  box-shadow:0 0 0 1px rgba(233,94,154,.08), inset 0 1px 0 rgba(255,255,255,.05);
}
.lux-mode-tab{
  border-radius:20px !important;
}
.lux-mode-tab.active,
.lux-mode-tab[aria-pressed="true"]{
  background:linear-gradient(180deg, rgba(130,43,84,.85), rgba(64,29,47,.95)) !important;
  color:#fff4f6 !important;
  box-shadow:0 6px 18px rgba(177,55,108,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.lux-lessons-list{display:flex;flex-direction:column;gap:14px}
#lessons .lux-lesson-card,
#lessons .finance-lesson-card{
  position:relative;
  display:block !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.07) !important;
  background:linear-gradient(180deg, rgba(17,14,22,.98), rgba(12,10,16,.98)) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.028) !important;
  overflow:hidden;
}
#lessons .lux-lesson-card::before,
#lessons .finance-lesson-card::before{
  content:"";
  position:absolute;
  left:0; top:12px; bottom:12px; width:6px;
  border-radius:0 10px 10px 0;
  background:linear-gradient(180deg, #ff8abd, #b687ff);
  box-shadow:0 0 18px rgba(239,94,161,.24);
}
#lessons .lux-lesson-card::after,
#lessons .finance-lesson-card::after{
  content:"›";
  position:absolute;
  right:18px; top:50%; transform:translateY(-50%);
  color:rgba(244,236,241,.72);
  font-size:28px; line-height:1;
}
#lessons .lux-lesson-card * ,
#lessons .finance-lesson-card *{
  position:relative; z-index:1;
}
#lessons .lux-lesson-card{
  padding-right:52px !important;
}
@media (max-width:420px){
  .lux-hero-word{font-size:22px;letter-spacing:.30em}
  .lux-hero-sub{font-size:12px}
  .lux-hero-mark{width:96px;height:56px}
}

/* EXPRESSIA_FINANCE_HEADER_RESET_V1 */

/* Kill only the fake hero from the previous visual experiment. */
#lux-schedule-hero{
  display:none!important;
}

/* Existing Finance header becomes the single product header. */
body > header.finance-header-reset,
header.finance-header-reset{
  position:relative!important;
  isolation:isolate;
  min-height:112px!important;
  padding:
    24px max(20px,calc((100vw - 1200px)/2))
    20px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:hidden!important;

  background:
    radial-gradient(105% 145% at 6% -35%,
      rgba(126,27,55,.44) 0%,
      rgba(126,27,55,0) 57%),
    radial-gradient(95% 150% at 98% -50%,
      rgba(75,27,59,.33) 0%,
      rgba(75,27,59,0) 61%),
    linear-gradient(180deg,#13090d 0%,#0b080b 72%,#080709 100%)!important;

  border:0!important;
  border-bottom:1px solid rgba(191,95,122,.13)!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.022)!important;
}

/* Soft premium light arcs. No icon, no girl, no pseudo-logo. */
header.finance-header-reset::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:430px;
  height:150px;
  left:-72px;
  top:47px;
  border:1px solid rgba(181,66,101,.20);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(-8deg);
  box-shadow:0 0 28px rgba(119,24,60,.08);
  pointer-events:none;
}

header.finance-header-reset::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:460px;
  height:170px;
  left:65px;
  top:34px;
  border:1px solid rgba(120,66,106,.14);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(8deg);
  pointer-events:none;
}

header.finance-header-reset > div:first-child{
  position:relative!important;
  z-index:2!important;
}

header.finance-header-reset .brand{
  margin:0!important;
  color:#f6edf0!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:560!important;
  letter-spacing:.34em!important;
  text-transform:uppercase!important;
  text-shadow:
    0 0 24px rgba(151,54,86,.11)!important;
}

header.finance-header-reset .sub{
  margin-top:10px!important;
  color:#bca9af!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:470!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

header.finance-header-reset .demo,
header.finance-header-reset .finance-greeting{
  display:none!important;
}

@media(max-width:440px){
  body > header.finance-header-reset,
  header.finance-header-reset{
    min-height:104px!important;
    padding:22px 18px 18px!important;
  }

  header.finance-header-reset .brand{
    font-size:20px!important;
    letter-spacing:.31em!important;
  }

  header.finance-header-reset .sub{
    margin-top:8px!important;
    font-size:11px!important;
    letter-spacing:.09em!important;
  }

  header.finance-header-reset::before{
    width:330px;
    height:120px;
    left:-78px;
    top:45px;
  }

  header.finance-header-reset::after{
    width:340px;
    height:130px;
    left:45px;
    top:38px;
  }
}

/* EXPRESSIA_FINANCE_HEADER_COMPACT_V1 */

/* Compact the Finance product header.
   No other screen geometry is touched. */
body > header.finance-header-reset,
header.finance-header-reset{
  min-height:82px!important;
  padding:17px max(20px,calc((100vw - 1200px)/2)) 15px!important;
  align-items:center!important;
}

header.finance-header-reset .brand{
  font-size:20px!important;
  letter-spacing:.32em!important;
}

header.finance-header-reset .sub{
  margin-top:7px!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
}

header.finance-header-reset::before{
  width:340px!important;
  height:92px!important;
  left:-72px!important;
  top:31px!important;
  opacity:.70!important;
}

header.finance-header-reset::after{
  width:370px!important;
  height:104px!important;
  left:70px!important;
  top:25px!important;
  opacity:.55!important;
}

@media(max-width:440px){
  body > header.finance-header-reset,
  header.finance-header-reset{
    min-height:76px!important;
    padding:15px 18px 13px!important;
  }

  header.finance-header-reset .brand{
    font-size:19px!important;
    letter-spacing:.30em!important;
  }

  header.finance-header-reset .sub{
    margin-top:6px!important;
    font-size:9.5px!important;
  }

  header.finance-header-reset::before{
    width:300px!important;
    height:82px!important;
    left:-68px!important;
    top:29px!important;
  }

  header.finance-header-reset::after{
    width:320px!important;
    height:92px!important;
    left:54px!important;
    top:25px!important;
  }
}
