*{box-sizing:border-box}.app{font-family:Golos Text,system-ui,sans-serif;color:#16241f;background-color:#edf0ec;background-image:linear-gradient(#D7DED866 1px,transparent 1px),linear-gradient(90deg,#D7DED866 1px,transparent 1px);background-size:24px 24px;min-height:100vh;padding-bottom:48px}.wrap{max-width:1320px;margin:0 auto;padding:0 20px}.board{background:#1b3a31;background-image:radial-gradient(circle at 18% 20%,#ffffff0d 0%,transparent 55%);color:#e8f1eb;border-bottom:3px solid #12281F}.board-inner{max-width:1320px;margin:0 auto;padding:20px 20px 0}.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand h1{font-family:Unbounded,sans-serif;font-weight:600;font-size:21px;margin:0;letter-spacing:-.02em}.brand .tagline{font-size:13px;color:#fff8;display:flex;align-items:center;gap:10px}.save{font-style:normal;font-size:11px;padding:2px 8px;border-radius:20px;background:#ffffff1a}.save-saved{color:#9be0be}.save-error{color:#f0938a;background:#c0392b44}.role-switch{display:flex;gap:6px;align-items:center}.role-switch button{background:#ffffff14;border:1px solid #ffffff2a;color:#e8f1eb;font-family:Golos Text;font-size:12.5px;padding:6px 12px;border-radius:8px;cursor:pointer}.role-switch button.on{background:#f2c744;color:#12281f;font-weight:600;border-color:#f2c744}.role-switch select{background:#ffffff14;border:1px solid #ffffff2a;color:#e8f1eb;font-size:12.5px;padding:6px 10px;border-radius:8px;width:auto}.role-switch select option{color:#16241f}.ledger{display:flex;gap:34px;flex-wrap:wrap;margin:18px 0 16px}.ledger-item .l-lab{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff70}.ledger-item .l-val{font-family:Unbounded,sans-serif;font-weight:600;font-size:25px;margin-top:4px;letter-spacing:-.02em}.tabs{display:flex;gap:4px;overflow-x:auto}.tab{background:transparent;border:0;color:#ffffff9c;cursor:pointer;font-family:Golos Text;font-size:14px;font-weight:500;padding:11px 15px;border-radius:8px 8px 0 0;white-space:nowrap}.tab:hover{color:#fff;background:#ffffff12}.tab.on{background:#edf0ec;color:#16241f;font-weight:600}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 0 16px}.seg{display:flex;background:#fff;border:1px solid #D7DED8;border-radius:9px;overflow:hidden;flex-wrap:wrap}.seg button{border:0;background:transparent;cursor:pointer;padding:7px 12px;font-family:Golos Text;font-size:13px;color:#6c7e76;white-space:nowrap}.seg button+button{border-left:1px solid #D7DED8}.seg button.on{background:#1b3a31;color:#fff;font-weight:600}select,input{font-family:Golos Text;font-size:13px;padding:7px 10px;border:1px solid #D7DED8;border-radius:9px;background:#fff;color:#16241f;width:100%}input[type=date]{font-family:JetBrains Mono,monospace;font-size:12px}input[type=checkbox],.filters select,.filters input{width:auto}select:disabled{background:#edf0ec;color:#6c7e76}select:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid #1B3A31;outline-offset:1px}select.mini{padding:3px 6px;font-size:11.5px;font-weight:600;border-radius:20px;width:auto;min-width:112px}.spacer{flex:1 1 auto}.range-note{font-size:12px;color:#6c7e76;font-family:JetBrains Mono,monospace}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}.kpi{background:#fff;border:1px solid #D7DED8;border-radius:12px;padding:14px 16px}.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#6c7e76}.kpi-value{font-family:Unbounded,sans-serif;font-weight:600;margin-top:7px;letter-spacing:-.03em;font-size:23px}.kpi-sub{font-size:12px;color:#6c7e76;margin-top:5px}.card{background:#fff;border:1px solid #D7DED8;border-radius:12px;padding:16px}.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:10px}.card-head h3{font-size:14px;font-weight:600;margin:0}.card-note{font-size:12px;color:#6c7e76;font-weight:400}.hint{font-size:13px;color:#6c7e76;line-height:1.55;margin:0}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border:1px solid;border-radius:20px;white-space:nowrap}.chip-bal{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border:1px solid;border-radius:20px;white-space:nowrap}.chip-single{display:inline-block;font-size:11.5px;padding:2px 8px;border:1px dashed #D7DED8;border-radius:20px;color:#6c7e76;white-space:nowrap}.alertbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#c0392b0f;border:1px solid #C0392B33;border-radius:12px;padding:12px 16px;margin-top:14px;font-size:13.5px}.alertbar b{font-family:Unbounded;font-size:16px;margin-right:4px}.deposit-panel{background:#1b3a31;color:#e8f1eb;border-radius:12px;padding:18px 20px;margin-top:14px;display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:start}.dp-lab{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff70}.dp-val{font-family:Unbounded;font-size:32px;font-weight:600;margin-top:6px;letter-spacing:-.03em;color:#a9c8ff}.dp-sub{font-size:12.5px;color:#fff8;margin-top:6px}.dp-split{display:flex;flex-direction:column;gap:8px}.dp-split>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff1a;padding-bottom:7px;font-size:13px}.dp-split span{color:#fff9}.dp-split b{font-family:JetBrains Mono,monospace}.dp-note{grid-column:1 / -1;font-size:12.5px;color:#fff9;line-height:1.6;margin:0;border-top:1px solid #ffffff1a;padding-top:14px}.risk-legend{font-size:12.5px;color:#6c7e76;line-height:1.55;background:#fff;border:1px solid #D7DED8;border-radius:10px;padding:11px 14px}.funnel{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:14px}.fun-step{background:#fff;border:1px solid #D7DED8;border-radius:10px;padding:11px 12px;cursor:pointer;text-align:left;font-family:Golos Text}.fun-step:hover{border-color:#1b3a31}.fun-step.on{border-color:#1b3a31;box-shadow:inset 0 0 0 1px #1b3a31}.fun-bar{height:5px;border-radius:3px;overflow:hidden;margin-bottom:9px}.fun-n{font-family:Unbounded;font-size:21px;font-weight:600;line-height:1}.fun-l{font-size:11.5px;color:#6c7e76;margin-top:5px}.paytype{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.paytype button{text-align:left;background:#fff;border:1px solid #D7DED8;border-radius:10px;padding:12px;cursor:pointer;font-family:Golos Text;display:flex;flex-direction:column;gap:4px}.paytype button.on{border-color:#1b3a31;box-shadow:inset 0 0 0 1px #1b3a31;background:#edf0ec}.paytype b{font-size:13.5px}.paytype span{font-size:12px;color:#6c7e76;line-height:1.45}.packs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.packs button{background:#fff;border:1px solid #D7DED8;border-radius:10px;padding:10px;cursor:pointer;font-family:Golos Text;display:flex;flex-direction:column;gap:3px}.packs button.on{border-color:#6b4e9e;background:#6b4e9e10;box-shadow:inset 0 0 0 1px #6b4e9e}.packs b{font-size:13px}.packs span{font-size:11.5px;color:#6c7e76;font-family:JetBrains Mono,monospace}.tbl-wrap{background:#fff;border:1px solid #D7DED8;border-radius:12px;overflow:hidden}.tbl-scroll{overflow-x:auto;max-height:620px;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{position:sticky;top:0;background:#f7f9f7;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6c7e76;font-weight:600;padding:10px 14px;border-bottom:1px solid #D7DED8;z-index:2}thead th.r{text-align:right}tbody td{padding:9px 14px;border-bottom:1px solid #D7DED880;vertical-align:middle}tbody tr:hover{background:#f9fbf9}.mono{font-family:JetBrains Mono,monospace;font-size:12.5px}.num{text-align:right;font-family:JetBrains Mono,monospace;font-size:12.5px}.sub{font-size:11.5px;color:#6c7e76}.grade-chip{display:inline-block;font-family:JetBrains Mono,monospace;font-size:11px;background:#edf0ec;border:1px solid #D7DED8;border-radius:5px;padding:1px 6px}.cal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cal-head h3{font-family:Unbounded;font-size:16px;font-weight:600;margin:0;min-width:176px}.navbtn{border:1px solid #D7DED8;background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:15px;color:#16241f;flex:0 0 auto}.navbtn:hover{background:#edf0ec}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-wd{font-size:11px;text-transform:uppercase;color:#6c7e76;text-align:center;padding-bottom:4px;letter-spacing:.06em}.cal-cell{aspect-ratio:1 / .86;border:1px solid #D7DED8;border-radius:9px;background:#fff;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;text-align:left;font-family:Golos Text}.cal-cell:hover{border-color:#1b3a31}.cal-cell.out{opacity:.38}.cal-cell.today{border-color:#f2c744;box-shadow:inset 0 0 0 1px #f2c744}.cal-cell.sel{background:#1b3a31;border-color:#1b3a31;color:#fff}.cal-num{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.cal-cnt{font-family:Unbounded;font-size:17px;font-weight:600;line-height:1}.cal-dots{display:flex;gap:2px;flex-wrap:wrap;margin-top:auto}.cal-dots i{width:5px;height:5px;border-radius:50%;display:block}.daybar{display:flex;flex-wrap:wrap;gap:6px;background:#edf0ec;border-radius:10px;padding:10px 12px}.daybar>div{display:flex;flex-direction:column;min-width:92px}.daybar .db-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#6c7e76}.daybar b{font-family:JetBrains Mono,monospace;font-size:13.5px;margin-top:2px}.day-row{display:flex;gap:12px;align-items:center;padding:9px 12px;border:1px solid #D7DED8;border-left-width:3px;border-left-style:solid;border-radius:9px;background:#fff}.day-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tutor-card{background:#fff;border:1px solid #D7DED8;border-radius:12px;padding:16px}.tutor-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tutor-name{font-weight:600;font-size:15px}.tutor-spec{font-size:12px;color:#6c7e76;margin-top:2px}.avatar{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:Unbounded;font-weight:600;font-size:13px;color:#fff;flex:0 0 auto}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.metric{background:#edf0ec;border-radius:9px;padding:9px 10px}.metric-l{font-size:10.5px;text-transform:uppercase;color:#6c7e76;letter-spacing:.05em}.metric-v{font-family:JetBrains Mono,monospace;font-weight:600;font-size:14px;margin-top:3px}.tip{background:#1b3a31;color:#e8f1eb;border-radius:9px;padding:9px 11px;font-size:12.5px}.tip-label{font-weight:600;margin-bottom:5px}.tip-row{display:flex;align-items:center;gap:7px}.tip-row i{width:8px;height:8px;border-radius:2px;display:block}.tip-row b{margin-left:auto;font-family:JetBrains Mono,monospace}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#6c7e76;margin-top:10px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px}.empty{padding:34px;text-align:center;color:#6c7e76;font-size:14px}.section-title{font-family:Unbounded;font-size:15px;font-weight:600;margin:26px 0 12px}.btn{border:1px solid #1B3A31;background:#1b3a31;color:#fff;font-family:Golos Text;font-size:13px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}.btn:hover{background:#12281f}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:#fff;color:#16241f;border-color:#d7ded8}.btn.ghost:hover{background:#edf0ec}.btn.danger{background:#c0392b;border-color:#c0392b}.btn.small{padding:5px 10px;font-size:12px}.btn-big{display:flex;flex-direction:column;gap:6px;text-align:left;background:#fff;border:1px solid #D7DED8;border-radius:12px;padding:18px;cursor:pointer;font-family:Golos Text}.btn-big:hover{border-color:#1b3a31}.btn-big b{font-family:Unbounded;font-size:15px}.btn-big span{font-size:13px;color:#6c7e76;line-height:1.5}.btn-big.alt{background:#1b3a31;border-color:#1b3a31;color:#e8f1eb}.btn-big.alt span{color:#fff9}.link{border:0;background:none;color:#3b6ba5;font-family:Golos Text;font-size:12.5px;cursor:pointer;padding:2px 5px}.link.danger{color:#c0392b}.link:disabled{color:#d7ded8;cursor:not-allowed}.field{display:block;margin-top:12px}.field>span{display:block;font-size:12px;color:#6c7e76;margin-bottom:5px}.field>em{display:block;font-size:11.5px;color:#6c7e76;font-style:normal;margin-top:5px}.check{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:13px}.calcbox{margin-top:14px;background:#edf0ec;border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.5}.calcbox.ok{background:#1b7a5a15;color:#1b7a5a;font-weight:500}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#12281fbb;display:grid;place-items:start center;padding:24px;z-index:50;overflow-y:auto}.modal{background:#fff;border-radius:14px;padding:20px;width:100%}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{font-family:Unbounded;font-size:16px;font-weight:600;margin:0}.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.g-2a{grid-template-columns:1.55fr 1fr}.g-2b{grid-template-columns:1.35fr 1fr}.g-3{grid-template-columns:repeat(3,1fr)}.g-auto{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.g-form{grid-template-columns:repeat(3,1fr);gap:12px}.g-form2{grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 1000px){.funnel{grid-template-columns:repeat(4,1fr)}.deposit-panel{grid-template-columns:1fr}}@media (max-width: 900px){.g-2a,.g-2b,.g-3,.g-form,.g-form2{grid-template-columns:1fr}.paytype,.packs{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.ledger{gap:18px}.ledger-item .l-val{font-size:19px}.funnel{grid-template-columns:repeat(2,1fr)}.modal{padding:16px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.role-switch .ghost-btn{background:transparent;border:1px solid #ffffff2a;color:#e8f1eb;opacity:.85}.role-switch .ghost-btn:hover{opacity:1;background:#ffffff14}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background-color:#edf0ec;background-image:linear-gradient(#D7DED866 1px,transparent 1px),linear-gradient(90deg,#D7DED866 1px,transparent 1px);background-size:24px 24px;font-family:Golos Text,system-ui,sans-serif;color:#16241f}.login-card{background:#fff;border:1px solid #D7DED8;border-radius:16px;padding:28px;width:100%;max-width:380px}.login-card h1{font-family:Unbounded,sans-serif;font-size:21px;font-weight:600;margin:0 0 6px;letter-spacing:-.02em}.login-card p{font-size:13.5px;color:#6c7e76;line-height:1.55;margin:0 0 6px}.login-err{background:#c0392b12;border:1px solid #C0392B44;color:#c0392b;border-radius:9px;padding:10px 12px;font-size:13px;margin-top:14px}.login-card .btn{width:100%;justify-content:center;margin-top:18px;padding:11px}.boot{min-height:100vh;display:grid;place-items:center;font-family:Golos Text,system-ui,sans-serif;color:#6c7e76;font-size:14px}.conflict-note{font-size:12px;color:#c0392b}
