@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-thai-cyrillic-ext-400-normal.2745gcdax2e3-.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-cyrillic-ext-400-normal.36zaces6jujad.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-thai-thai-400-normal.2vcybq-irdqrs.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-400-normal.03p84ch9rz841.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-thai-latin-ext-400-normal.2lv5q7h8bitvd.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-ext-400-normal.15xdqjbi4gllc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-thai-latin-400-normal.2wxbltz-qby0j.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-400-normal.39rh64oh7xmb3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-thai-cyrillic-ext-500-normal.328h13xt279m5.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-cyrillic-ext-500-normal.20gl2zzq6zvbb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-thai-thai-500-normal.1d0qrsn_0wd_n.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-500-normal.2r4duxo5eh6pc.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-thai-latin-ext-500-normal.2tyej6om-13_x.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-ext-500-normal.26lu0b5ioqlaf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-thai-latin-500-normal.351t6xkx8vlu3.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-500-normal.3a1ldtgk1hom_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-thai-cyrillic-ext-600-normal.2n504n1moeh0r.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-cyrillic-ext-600-normal.1ek02e03dlhu2.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-thai-thai-600-normal.213tq94-94uef.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-600-normal.1k51c4-fx5jlv.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-thai-latin-ext-600-normal.0zkm8lubzbj0y.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-ext-600-normal.42tszjx51lv3a.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-thai-latin-600-normal.0tzs4s06sxxpz.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-600-normal.3hpavg9eo_n_1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-thai-cyrillic-ext-700-normal.3dhpgy89ckwjs.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-cyrillic-ext-700-normal.1xm0gw2z9truf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-thai-thai-700-normal.3a42oep2ha52t.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-700-normal.3p2dhogalva30.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-thai-latin-ext-700-normal.1k85ut8hyvha-.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-ext-700-normal.0p4jscp02ga7h.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-thai-latin-700-normal.0pzcsq9yuf4r8.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-latin-700-normal.041eka0bsnxxl.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-ext-wght-normal.0w5-20wrij2y1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-cyrillic-wght-normal.1fjuga16p-_i_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-greek-wght-normal.1bpl7wsc6313m.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-vietnamese-wght-normal.3t024er0ypawq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-ext-wght-normal.3t_7mbg42824f.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(../media/ibm-plex-sans-latin-wght-normal.15jby9eboz7vb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#fff;--ledger:#f7f8f5;--ink:#223d35;--ink-soft:#607168;--ink-muted:#859088;--rule:#e1e7e0;--forest:#245b48;--forest-pale:#e7f0e8;--gold:#957341;--gold-pale:#f4eee2;--danger:#9c4438;--danger-pale:#fbefed;--input:#f6f8f4;--focus:#367b60;--radius:8px;--body:"IBM Plex Sans Variable","IBM Plex Sans Thai",sans-serif}*{box-sizing:border-box}body{background:var(--ledger);color:var(--ink);font:14px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,p{margin:0}h1{letter-spacing:-.7px;font-size:29px;font-weight:600;line-height:1.35}h2{font-size:17px;font-weight:600}small{font-size:11px;font-weight:400}input,select,textarea{border:1px solid var(--rule);background:var(--input);border-radius:6px;max-width:100%;min-height:42px;padding:9px 12px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--forest);cursor:pointer;margin:10px}input:focus,textarea:focus,select:focus{border-color:var(--focus)}label{flex-direction:column;gap:7px;font-size:12px;font-weight:500;display:flex}label input,label select{width:100%;font-size:14px;font-weight:400}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--rule);flex-direction:column;height:100vh;padding:32px 18px 22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 40px;display:flex}.brand b{letter-spacing:-.4px;white-space:nowrap;font-size:16px}.brand span{color:var(--ink-soft);font-size:12px;display:block}.brand-logo{object-fit:contain;flex-shrink:0;width:38px;height:38px}.crest{border:1px solid var(--forest);text-align:center;width:39px;height:47px;color:var(--forest);border-radius:2px 2px 18px 18px;flex-shrink:0;padding-top:1px;font-family:Georgia,serif;font-size:28px;line-height:1.2}.crest span{font:6px var(--body);letter-spacing:1.8px;display:block}.workspace-label{color:var(--ink-muted);letter-spacing:1.6px;margin:4px 12px 13px;font-size:9px;font-weight:600}.nav-item{text-align:left;width:100%;min-height:46px;color:var(--ink-soft);background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;margin:3px 0;padding:12px;font-size:13px;display:flex}.nav-item:hover{background:var(--forest-pale)}.nav-item.active{color:var(--forest);background:var(--forest-pale);font-weight:600}.nav-icon{color:var(--ink-muted);flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{color:var(--forest)}.nav-number{font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:10px}.nav-count{background:var(--paper);text-align:center;border-radius:4px;min-width:20px;margin-left:auto;font-size:10px}.sidebar-foot{margin-top:auto;padding:16px 4px 0}.sidebar-logout-btn{color:var(--danger);border-color:var(--rule);background:#fff;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:38px;font-size:12px;transition:background-color .15s,border-color .15s;display:inline-flex}.sidebar-logout-btn:hover{background:var(--danger-pale);color:var(--danger);border-color:#e4cbc7}.connection-dot{background:var(--forest);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.preview-bar{background:var(--gold-pale);color:#705733;align-items:center;gap:12px;padding:8px 36px;font-size:11px;display:flex}.preview-bar>span{border-right:1px solid #d9cbb3;padding-right:12px;font-weight:600}.topbar{border-bottom:1px solid var(--rule);color:var(--ink-soft);justify-content:space-between;padding:19px 36px;font-size:11px;display:flex}.slash{color:#b2bcb4;padding:0 14px}.today{color:var(--ink-muted)}.app-main{background:var(--ledger);flex-direction:column;width:100%;min-width:0;min-height:100vh;display:flex}.content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:none;margin:0;padding:18px 24px;display:flex}.page-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;margin:0 0 16px;display:flex}.eyebrow{letter-spacing:2px;color:var(--gold);margin-bottom:6px;font-size:9px;font-weight:600}.subtitle{color:var(--ink-soft);margin-top:6px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button{border:1px solid var(--rule);background:var(--paper);white-space:nowrap;border-radius:6px;min-height:42px;padding:9px 16px;font-size:12px;font-weight:500;transition:background-color .15s,border-color .15s,box-shadow .15s}.button:hover{background:var(--forest-pale);border-color:#cbd6c9}.button:active{transform:translateY(1px)}.primary{background:var(--forest);border-color:var(--forest);color:#fff}.primary:hover{background:#194333}.full{width:100%}.text-button{min-height:36px;color:var(--forest);text-align:left;background:0 0;border:0;padding:8px 0;font-weight:500}.text-button:hover{text-decoration:underline}.danger{color:var(--danger)}.muted{color:var(--ink-muted)}.strong{font-weight:600}.ledger-summary{border-bottom:1px solid var(--rule);grid-template-columns:1.35fr 1fr .8fr;gap:0;margin-bottom:28px;padding:4px 0 28px;display:grid}.ledger-summary>div{border-left:1px solid var(--rule);flex-direction:column;justify-content:center;padding-left:28px;display:flex}.ledger-summary>div:first-child{border:0;padding:0}.ledger-summary span{color:var(--ink-soft);font-size:12px}.ledger-summary strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:4px;font-family:IBM Plex Sans Variable,sans-serif;font-size:29px;font-weight:500}.ledger-summary .summary-primary strong{color:var(--forest);font-size:38px}.ledger-summary small{font:11px var(--body);color:var(--ink-muted);letter-spacing:0}.ledger-summary p{color:var(--ink-muted);margin-top:5px;font-size:10px}.panel{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:22px;overflow:hidden;box-shadow:0 1px 3px #223d350a}.panel-toolbar{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.panel-toolbar p{margin-top:3px;font-size:11px}.tabs{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tabs button{color:var(--ink-soft);background:0 0;border:0;min-height:40px;padding:10px 0;font-size:11px;position:relative}.tabs button.selected{color:var(--forest);font-weight:600}.tabs button.selected:after{content:"";background:var(--forest);height:2px;position:absolute;bottom:-17px;left:0;right:0}.tabs small{background:var(--forest-pale);border-radius:3px;margin-left:3px;padding:2px 5px;font-size:9px}.search{min-width:230px;min-height:38px;font-size:11px}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.table-scroll{overflow-x:auto}th{color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--rule);background:#fbfcfa;padding:14px 20px;font-size:10px;font-weight:500}td{border-bottom:1px solid #eef1ed;padding:16px 20px}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody tr:hover{background:#fafcf8}td small{color:var(--ink-muted);margin-top:3px;font-size:10px;display:block}.num{text-align:right;font-variant-numeric:tabular-nums;font-family:IBM Plex Sans Variable,sans-serif}.badge{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:10px;display:inline-block}.badge.draft{color:var(--ink-soft);background:#eff1ed}.badge.due{background:var(--gold-pale);color:#876939}.badge.paid{background:var(--forest-pale);color:var(--forest)}.badge.void{background:var(--danger-pale);color:var(--danger)}.row-open,.remove{color:var(--ink-soft);background:0 0;border:0;min-width:40px;min-height:40px;font-size:18px}.row-open:hover{color:var(--forest);background:var(--forest-pale)}.remove:hover{color:var(--danger)}.empty{text-align:center;padding:56px 24px 64px}.empty p{color:var(--ink-soft);margin:10px 0 22px;font-size:12px;line-height:1.8}.empty-symbol{border:1px solid var(--rule);width:56px;height:56px;color:var(--forest);border-radius:6px;place-items:center;margin:0 auto 16px;font-size:22px;display:grid}.table-footer{border-top:1px solid var(--rule);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;font-size:10px;display:flex}.table-footer span{color:var(--ink-muted)}.quiet-note{color:var(--ink-soft);margin:20px 0;font-size:11px}.page-footer{max-width:1600px;color:var(--ink-muted);letter-spacing:1px;justify-content:space-between;padding:16px 36px 28px;font-size:9px;display:flex}.page-footer span{letter-spacing:0}.alert{border-radius:6px;justify-content:space-between;gap:12px;margin-bottom:20px;padding:13px 16px;font-size:12px;display:flex}.alert button{background:0 0;border:0;min-width:32px;font-size:18px}.alert.error{background:var(--danger-pale);color:var(--danger)}.alert.success{background:var(--forest-pale);color:var(--forest)}.form-panel{padding:24px}.section-title{align-items:center;gap:14px;margin-bottom:24px;display:flex}.section-title.padded{margin:0;padding:24px}.section-title p{color:var(--ink-soft);margin-top:3px;font-size:11px}.step{background:var(--forest-pale);width:32px;height:32px;color:var(--forest);border-radius:5px;place-items:center;font-size:11px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.span2{grid-column:span 2}.two{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.rate-toolbar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#f8faf6;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 24px;display:flex}.rate-toolbar label{min-width:100px;max-width:160px}.rate-toolbar label select{background:var(--paper);font-size:12px}.term-table th{padding:12px}.term-table th small{font:9px var(--body);color:var(--ink-muted);margin-top:3px;display:block}.term-table td{padding:9px 5px}.term-table td:first-child{padding-left:16px}.term-table input:not([type=checkbox]){width:100%;min-width:88px;padding:8px;font-size:12px}.term-table .description-col{min-width:205px}.term-table tfoot td,.term-table tfoot th{background:var(--forest-pale);border-bottom:0;padding:16px 10px;font-weight:600}.term-table tfoot th{padding-left:20px}.draft-bottom{grid-template-columns:1fr 360px;gap:36px;margin-top:28px;display:grid}.note-field textarea{resize:vertical;width:100%}.totals-box{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:22px}.total-line{justify-content:space-between;align-items:center;gap:15px;padding:22px 0;display:flex}.total-line span{font-size:12px}.total-line strong{white-space:nowrap;font-family:IBM Plex Sans Variable,sans-serif;font-size:26px}.total-line small{color:var(--ink-muted);font-size:10px}.document-actions{color:var(--ink-muted);align-items:center;gap:14px;margin-bottom:18px;font-size:11px;display:flex}.document-actions .actions{margin-left:auto}.paper{background:var(--paper);border:1px solid var(--rule);border-radius:3px;margin-bottom:28px;padding:40px 44px}.paper-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.paper-brand{align-items:center;gap:18px;display:flex}.paper-logo{object-fit:contain;flex-shrink:0;width:60px;height:60px}.paper-head h2{letter-spacing:.2px;font-family:IBM Plex Sans Variable,sans-serif;font-size:17px}.paper-head p{color:var(--ink-soft);margin-top:4px;font-size:11px}.paper-id{text-align:right}.paper-id span{color:var(--ink-soft);font-size:11px}.paper-id h2{margin-top:8px}.print-warning{border-top:2px solid var(--forest);border-bottom:1px solid var(--rule);color:var(--gold);margin:24px 0;padding:8px 0;font-size:10px}.paper-meta{grid-template-columns:1fr 230px;gap:20px;margin:26px 0 32px;display:grid}.paper-meta span{color:var(--ink-muted);margin-bottom:5px;font-size:9px;display:block}.paper-meta b{font-size:15px;font-weight:500;display:block}.paper-meta p{color:var(--ink-soft);margin:4px 0 18px;font-size:12px}.paper-table th,.paper-table td{padding:12px 10px}.paper-table td:first-child,.paper-table th:first-child{padding-left:0}.paper-bottom{grid-template-columns:1fr 300px;gap:30px;margin-top:30px;display:grid}.paper-bottom>p{white-space:pre-wrap;color:var(--ink-soft);font-size:12px}.paper-bottom>div>div{justify-content:space-between;padding:9px 0;font-size:12px;display:flex}.paper-bottom .balance{border-top:1px solid var(--forest);color:var(--forest);margin-top:10px;padding-top:16px;font-size:16px}.detail-bottom{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.receipt-list{margin-top:24px}.receipt-list>div{border-top:1px solid var(--rule);align-items:center;gap:12px;padding:12px 0;font-size:11px;display:flex}.receipt-list small{color:var(--ink-muted);display:block}.receipt-list b{margin-left:auto}.timeline{border-left:1px solid var(--rule);margin:24px 0;padding:0 0 0 10px;list-style:none}.timeline li{padding:0 0 24px 16px;font-size:12px;position:relative}.timeline li:before{content:"";background:var(--forest);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:-14px}.timeline small{color:var(--ink-muted);margin-top:4px;display:block}.timeline b{font-weight:500}.inline-label{flex-direction:row;align-items:center;gap:12px}.connection-icon{color:var(--forest);margin-bottom:16px;font-size:38px;display:block}.student-search{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.students-table{font-size:13px;font-family:var(--body)}.students-table th{color:var(--ink);letter-spacing:0;z-index:2;background:#f3f6f4;padding:12px 14px;font-size:12px;font-weight:700;position:sticky;top:0}.students-table td{vertical-align:middle;padding:10px 14px;font-size:13px}.students-table td small{color:var(--ink-soft);font-size:11px;font-family:var(--body);margin-top:2px}.students-table .text-button{min-height:auto;font-size:13px;font-family:var(--body);padding:0;font-weight:600}.students-panel .student-search{border-bottom:1px solid var(--rule);flex-shrink:0}.student-id-col,.student-id-cell{text-align:center;width:108px}.student-id-badge{min-width:72px;color:var(--forest);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;font-family:"IBM Plex Sans Variable",var(--body);letter-spacing:.02em;background:linear-gradient(#eef5f1 0%,#dceae3 100%);border:1px solid #245b4838;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;line-height:1;display:inline-flex}.app-shell:has(.students-panel){height:100vh;max-height:100vh;overflow:hidden}:is(html:has(.students-panel),body:has(.students-panel)){height:100%;overflow:hidden}.app-main:has(.students-panel){height:100vh;min-height:0;max-height:100vh;overflow:hidden}.content:has(.students-panel){flex-direction:column;flex:1;min-height:0;padding-bottom:12px;display:flex;overflow:hidden}.content:has(.students-panel) .page-heading{flex-shrink:0;margin-bottom:12px}.students-panel.panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;margin-bottom:0!important}.students-table-scroll{flex:1;min-height:0;overflow:hidden auto!important}.students-panel .table-footer{flex-shrink:0}.students-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.students-heading-actions .students-local-search{flex:0 420px;max-width:min(420px,70vw)}.students-local-search{align-items:center;gap:8px;display:flex}.students-local-search input{background:#fff;flex:1;min-width:0;min-height:42px;padding:8px 12px;font-size:13px}.students-local-search .button{white-space:nowrap;min-height:42px;padding:8px 14px}.student-sync-backdrop{z-index:1400}.student-sync-modal{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(420px,92vw);max-width:420px;padding:28px 24px;display:flex;overflow:hidden}.student-sync-modal h2{color:var(--forest);margin:0;font-size:18px}.student-sync-modal p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.student-sync-spinner{border:3px solid var(--rule);border-top-color:var(--forest);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite studentSyncSpin}@keyframes studentSyncSpin{to{transform:rotate(360deg)}}.popover-backdrop.invoice-draft-backdrop{justify-content:stretch;align-items:stretch;padding:0;inset:0}.popover-modal.invoice-draft-modal{background:var(--ledger);width:100vw;height:100vh;box-shadow:none;border-radius:0;flex-direction:column;animation:none;display:flex;max-width:100vw!important;max-height:100vh!important;overflow:hidden!important}.invoice-draft-body{flex-direction:column;flex:1;min-height:0;padding:10px 12px 0;display:flex;overflow:hidden}.invoice-draft-footer{border-top:1px solid var(--rule);background:#fff;flex-shrink:0;justify-content:flex-end;gap:10px;padding:10px 12px;display:flex}.invoice-draft-footer .button{min-width:120px;min-height:40px;font-size:13px;font-weight:600}.invoice-compose{flex:1;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;gap:12px;height:100%;min-height:0;display:grid;overflow:hidden}.invoice-sheet.panel,.invoice-rail.panel{box-shadow:0 1px 2px #223d350a;margin:0!important}.invoice-sheet{border:1px solid var(--rule);background:#fff;border-radius:10px;flex-direction:column;min-width:0;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.invoice-sheet-head{border-bottom:1px solid var(--rule);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.invoice-sheet-brand{align-items:center;gap:10px;min-width:0;display:flex}.invoice-sheet-logo{object-fit:contain;flex-shrink:0;width:34px;height:34px}.invoice-sheet-kicker{letter-spacing:1.2px;color:var(--gold);margin:0 0 1px;font-size:9px;font-weight:700}.invoice-sheet-brand h2{letter-spacing:-.2px;color:var(--ink);margin:0;font-size:16px;font-weight:700}.invoice-sheet-brand p{color:var(--ink-soft);margin:1px 0 0;font-size:11px}.invoice-sheet-meta{flex-shrink:0;gap:8px;display:flex}.invoice-sheet-meta label{gap:3px;min-width:128px;font-size:10px}.invoice-sheet-meta input{background:#fff;min-height:30px;padding:4px 8px;font-size:12px}.invoice-student-banner{border-bottom:1px solid var(--rule);color:var(--ink);background:#eef2f0;flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;padding:7px 12px;font-size:12px;display:grid}.invoice-student-banner span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.invoice-student-banner b{color:var(--ink-soft);margin-right:4px;font-weight:600}.invoice-rate-bar{border-bottom:1px solid var(--rule);background:#f8faf6;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px;padding:7px 12px;display:grid}.invoice-rate-bar label{gap:3px;min-width:0;max-width:none;font-size:10px}.invoice-rate-bar select,.invoice-rate-bar .button{width:100%;min-height:30px;font-size:12px}.invoice-rate-bar .button{white-space:nowrap;width:auto}.invoice-term-scroll{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0;min-height:0;padding:0;display:block;overflow:hidden auto}.invoice-term-scroll::-webkit-scrollbar{width:0;height:0;display:none}.invoice-term-table.term-table,.invoice-term-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:12px;white-space:normal!important}.invoice-term-table th{color:var(--ink);background:#f3f6f4;font-size:10px;font-weight:700;padding:7px 5px!important}.invoice-term-table td{vertical-align:middle;padding:3px 4px!important}.invoice-term-table td:first-child,.invoice-term-table th:first-child{padding-left:10px!important}.invoice-term-table .description-col,.invoice-term-table.term-table .description-col{width:26%;min-width:0!important}.invoice-term-table th.num,.invoice-term-table td.num{width:10.5%}.invoice-term-table .opt-col{text-align:center;width:40px}.invoice-term-table th:last-child,.invoice-term-table td:last-child{width:36px;padding-right:6px!important}.invoice-term-table input:not([type=checkbox]),.invoice-term-table.term-table input:not([type=checkbox]){background:#fff;width:100%;min-height:28px;padding:3px 5px;font-size:12px;min-width:0!important}.invoice-term-table input[type=checkbox]{margin:4px}.invoice-term-table .remove{min-width:28px;min-height:28px;font-size:16px}.invoice-term-table tfoot td,.invoice-term-table tfoot th{background:var(--forest-pale);font-weight:700;padding:7px 5px!important}.invoice-term-actions{border-top:1px solid var(--rule);background:#fbfcfa;flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:8px;padding:7px 12px;display:grid}.term-due-chip{border:1px solid var(--rule);background:#fff;border-radius:6px;gap:2px;min-width:0;padding:3px 5px}.term-due-chip span{color:var(--ink-soft);text-transform:uppercase;font-size:9px;font-weight:700}.term-due-chip input{width:100%;min-width:0;min-height:26px;padding:2px 4px;font-size:11px}.invoice-term-actions .text-button{white-space:nowrap;place-self:center end;min-height:30px}.invoice-note-field{border-top:1px solid var(--rule);flex-shrink:0;gap:3px;padding:7px 12px 8px;font-size:10px}.invoice-note-field textarea{resize:none;background:#fff;width:100%;min-height:40px;max-height:40px;padding:5px 8px;font-size:12px}.invoice-rail{border:1px solid var(--rule);background:#fff;border-radius:10px;flex-direction:column;gap:0;min-width:0;height:100%;padding:0;display:flex;position:static;overflow:hidden}.invoice-rail-block{border-bottom:1px solid var(--rule);flex-direction:column;gap:7px;min-height:0;padding:10px 12px;display:flex}.invoice-rail-block:last-child{border-bottom:0;margin-top:auto}.invoice-rail-block h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:10px;font-weight:700}.invoice-rail label{gap:3px;font-size:10px}.invoice-rail input,.invoice-rail select{background:#fff;width:100%;min-height:30px;padding:4px 8px;font-size:12px}.invoice-id-chip{background:linear-gradient(#e8f1fb 0%,#d7e6f6 100%);border:1px solid #2f6c9e47;border-radius:8px;flex-direction:column;gap:1px;min-width:0;padding:7px 10px;display:flex}.invoice-id-chip span{color:#1f4f78;font-size:10px;font-weight:600}.invoice-id-chip strong{color:#1f4f78;font-variant-numeric:tabular-nums;font-size:17px}.invoice-id-chip small{color:#355f82;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.invoice-rail-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.invoice-grade-box{text-align:center;background:linear-gradient(#f4f8f5 0%,#e4efe8 100%);border:1px solid #245b4847;border-radius:8px;padding:8px}.invoice-grade-box span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:9px;font-weight:700;display:block}.invoice-grade-box strong{color:var(--forest);letter-spacing:-.5px;font-size:24px;line-height:1}.invoice-rail-total{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0 2px;display:flex}.invoice-rail-total span{color:var(--ink-soft);font-size:11px;font-weight:600}.invoice-rail-total strong{color:var(--forest);font-variant-numeric:tabular-nums;font-size:18px}.invoice-rail-total small{color:var(--ink-muted);font-size:10px}.invoice-rail-hint{color:var(--ink-muted);margin:0;font-size:10px;line-height:1.35}@media (max-width:1100px){.invoice-compose{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.invoice-rail{max-height:36vh}.invoice-student-banner{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-rate-bar,.invoice-term-actions{grid-template-columns:1fr 1fr}.invoice-rail-grid{grid-template-columns:1fr}}.student-search input{flex:1}.migration-intro{grid-template-columns:1.5fr 1fr;gap:40px;padding:12px 0 32px;display:grid}.migration-intro h2{margin:12px 0 18px;font-size:27px;font-weight:500}.migration-intro p{color:var(--ink-soft);font-size:12px;line-height:1.8}.source-stats{border-left:1px solid var(--rule);grid-template-columns:70px 1fr;align-items:center;gap:14px;padding-left:40px;display:grid}.source-stats b{color:var(--forest);font-size:38px;font-weight:400}.source-stats span{color:var(--ink-soft);font-size:12px}@media (min-width:1600px){.content{padding-top:44px}.panel-toolbar{padding:20px 24px}.tabs{gap:24px}}@media (max-width:1150px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:26px 10px}.brand{gap:8px;padding-left:3px}.brand b{font-size:13px}.brand span:not(.crest span){font-size:10px}.content{padding:28px 22px}.topbar,.preview-bar{padding-left:22px;padding-right:22px}.nav-item{padding:10px 8px;font-size:12px}.tabs{gap:12px}.search{width:100%}.tabs button.selected:after{bottom:-4px}.draft-bottom{grid-template-columns:1fr 310px}.ledger-summary strong{font-size:24px}.ledger-summary .summary-primary strong{font-size:32px}.paper{padding:26px}.detail-bottom{grid-template-columns:1fr}.paper-meta{grid-template-columns:1fr 180px}.paper-bottom{grid-template-columns:1fr 270px}.today{display:none}}@media (max-width:760px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--rule);height:auto;padding:16px;position:static}.brand{padding:0 0 16px}.brand b{font-size:16px}.brand span:not(.crest span){font-size:11px}.workspace-label,.sidebar-foot{display:none}.sidebar nav{gap:4px;display:flex;overflow:auto}.nav-item{flex-shrink:0;gap:6px;width:auto;padding:9px 11px;font-size:11px}.nav-number{display:none}.preview-bar{gap:8px;padding:8px 16px;font-size:9px}.topbar{padding:12px 16px}.content{padding:24px 16px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px}h1{font-size:26px}.subtitle{font-size:11px}.ledger-summary{grid-template-columns:1fr 1fr;gap:22px 0;padding-bottom:24px}.ledger-summary>div{padding-left:20px}.ledger-summary>div:first-child{grid-column:span 2}.ledger-summary>div:nth-child(2){border:0;padding:0}.ledger-summary strong{font-size:25px}.ledger-summary .summary-primary strong{font-size:38px}.panel-toolbar{gap:10px;padding:12px 16px}.tabs{gap:12px}.tabs button{font-size:10px}.table-footer{flex-wrap:wrap;padding:12px 16px}.table-footer span{font-size:9px}.empty{padding:40px 20px}.form-panel{padding:20px}.form-grid{grid-template-columns:1fr 1fr;gap:16px}.form-grid label:first-child,.form-grid .span2{grid-column:span 2}.rate-toolbar{gap:10px;padding:14px}.rate-toolbar label{flex:1;min-width:75px;max-width:none}.rate-toolbar .button{width:100%}.draft-bottom{grid-template-columns:1fr;gap:20px}.document-actions{flex-wrap:wrap}.document-actions .actions{width:100%;margin:0}.paper{padding:22px 18px}.paper-head{flex-direction:column;gap:18px}.paper-id{text-align:left}.paper-meta,.paper-bottom{grid-template-columns:1fr}.paper-head h2{font-size:16px}.paper-table{min-width:560px}.detail-bottom{gap:0}.two{grid-template-columns:1fr}.two label:first-child{grid-column:auto}.page-footer{gap:15px;padding:18px 16px;font-size:8px}.migration-intro{grid-template-columns:1fr;gap:20px}.source-stats{border-left:0;border-top:1px solid var(--rule);padding:20px 0 0}.student-search{flex-wrap:wrap}.student-search input{min-width:180px}.receipt-list>div{flex-wrap:wrap}}@media print{body{color:#000;background:#fff;font-size:11pt}.no-print,.page-heading,.alert{display:none!important}.app-shell{display:block}.content{max-width:none;padding:0}.paper{border:0;margin:0;padding:0}.paper-head{flex-direction:row}.paper-id{text-align:right}.paper-table{width:100%;min-width:0}.table-scroll{overflow:visible}.paper-meta{grid-template-columns:1fr 200px}.paper-bottom{grid-template-columns:1fr 280px}.paper-table th,.paper-table td{padding:9px 5px;font-size:9pt}.paper{break-inside:avoid}.print-warning{color:#000}@page{size:A4;margin:16mm}}.mini-ledger{grid-template-columns:repeat(4,5px);gap:3px;display:grid}.mini-ledger i{background:var(--forest-pale);border-top:4px solid var(--forest);border-bottom:1px solid var(--forest);height:23px;display:block}.term-table th input[type=date]{font:10px var(--body);background:0 0;min-width:108px;max-width:115px;min-height:30px;margin-top:7px;padding:4px}.receipt-page{max-width:900px;margin:40px auto;padding:20px}.receipt-page .actions{margin-bottom:18px}.receipt-page .paper-table{min-width:0}@media print{.receipt-page{max-width:none;margin:0;padding:0}}a.button{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}a.button.primary{color:#fff}.ghost-fibers-bg{z-index:0;pointer-events:none;opacity:1;width:100vw;height:100vh;transition:opacity .45s,visibility .45s;position:fixed;inset:0;overflow:hidden}.ghost-fibers-bg.is-paused{opacity:0;visibility:hidden}.ghost-fibers-container{width:100%;height:100%;position:relative;overflow:hidden}.login-page{background:#120f17;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex;position:relative;overflow:hidden}.login-card{z-index:10;-webkit-backdrop-filter:blur(16px);text-align:center;background:#fffffff5;border:1px solid #fff6;border-radius:14px;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:40px 32px;display:flex;position:relative;box-shadow:0 20px 50px #00000059,0 0 0 1px #ffffff1a}.login-logo-wrap{justify-content:center;margin-bottom:18px;display:flex}.login-logo{object-fit:contain;width:84px;height:84px;display:block}.login-header{width:100%;margin-bottom:28px}.login-header h1{letter-spacing:-.4px;color:var(--ink);margin:0;font-size:22px;font-weight:600;line-height:1.3}.login-body{width:100%}.google-login{border:1px solid var(--rule);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 1px 2px #0000000a}.google-login:hover:not(:disabled){background:#f8faf7;border-color:#c8d3c5;box-shadow:0 2px 6px #0000000f}.google-login.is-loading{opacity:.75;cursor:wait}.google-icon{flex-shrink:0}.login-note{color:var(--ink-soft);margin-top:10px;font-size:11px;line-height:1.6}.login-divider{color:var(--ink-muted);align-items:center;gap:12px;margin:22px 0 14px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--rule);flex:1;height:1px}.login-temporary-section{text-align:left;border:1px dashed var(--rule);background:#fafbfa;border-radius:8px;width:100%;margin-top:8px;padding:12px 14px}.login-temporary-section summary{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.login-temporary-section summary:hover{color:var(--ink)}.login-form{gap:12px;margin-top:12px;display:grid}.login-form input{background:#fff;width:100%;min-height:40px}.login-form button{min-height:40px;margin-top:4px}.login-card-footer{border-top:1px solid var(--rule);width:100%;color:var(--ink-muted);margin-top:24px;padding-top:16px;font-size:11px;line-height:1.5}.user-access{align-items:center;gap:11px;margin-left:auto;font-size:12px;font-weight:500;display:flex}.user-access small{color:var(--ink-soft);font-size:11px;font-weight:400;display:block}.user-avatar{object-fit:cover;border:1px solid var(--rule);border-radius:50%;flex-shrink:0;width:36px;height:36px;box-shadow:0 1px 3px #0000000f}.user-avatar-fallback{background:var(--forest-pale);width:36px;height:36px;color:var(--forest);border:1px solid #245b482e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.topbar .today{display:none}@media (max-width:700px){.login-page{padding:18px 14px}.login-card{padding:28px 20px}.user-access{gap:6px}.user-access>span{overflow-wrap:anywhere;max-width:145px}.topbar{flex-wrap:wrap;gap:10px}}.popover-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1200;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.popover-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalScaleIn;display:flex;overflow-y:auto;box-shadow:0 20px 40px #0003,0 0 0 1px #00000014}.popover-header{border-bottom:1px solid var(--rule,#e5e7eb);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.popover-header h2{color:var(--ink,#111827);margin:0;font-size:16px;font-weight:600}.popover-close{color:var(--ink-soft,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:22px;line-height:1;transition:background-color .15s}.popover-close:hover{background:var(--paper-subtle,#f3f4f6);color:var(--ink,#111827)}.popover-body{padding:20px 24px 24px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.badge.coadmin{color:#5b21b6;background:#ede9fe;border:1px solid #ddd6fe}.staff-table-container,.rate-table-container{scrollbar-width:none;-ms-overflow-style:none;min-height:200px;max-height:calc(100vh - 330px);overflow:auto}.staff-table-container::-webkit-scrollbar{width:0;height:0;display:none}.rate-table-container::-webkit-scrollbar{width:0;height:0;display:none}.staff-table-container thead th,.rate-table-container thead th{z-index:2;box-shadow:0 1px 0 var(--rule);background:#fbfcfa;position:sticky;top:0}.submenu-dashboard table{font-size:13px;font-family:var(--body)}.submenu-dashboard th{letter-spacing:0;color:var(--ink-soft);padding:14px 16px;font-size:12px;font-weight:600}.submenu-dashboard td{vertical-align:middle;padding:14px 16px;font-size:13px}.submenu-dashboard td small{margin-top:3px;font-size:12px}.submenu-dashboard .badge{padding:4px 9px;font-size:12px}.submenu-dashboard .text-button{font-size:13px;font-weight:600}.submenu-dashboard .table-footer,.submenu-dashboard .table-footer span{font-size:12px}.submenu-dashboard .panel-toolbar .tabs button,.submenu-dashboard .panel-toolbar .search{font-size:13px}.submenu-dashboard td .button{min-height:30px;padding:5px 12px;font-size:12px}.dashboard-container{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.dashboard-student-grid{background:#fff;grid-template-columns:1fr 1fr;gap:20px;padding:20px;display:grid}.student-card-section{background:var(--input);border:1px solid var(--rule);border-radius:8px;padding:16px}.section-badge-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-badge-header h3{color:var(--ink);margin:0;font-size:13px;font-weight:600}.student-field-list{flex-direction:column;gap:10px;display:flex}.copyable-row{border-bottom:1px dashed var(--rule);align-items:center;gap:8px;padding-bottom:6px;font-size:12px;display:flex}.copyable-row:last-child{border-bottom:0;padding-bottom:0}.row-label{color:var(--ink-muted);flex-shrink:0;width:100px}.row-val{color:var(--ink);word-break:break-word;flex:1}.copy-btn{border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;line-height:1.2;transition:all .15s}.copy-btn:hover{background:var(--forest-pale);border-color:var(--forest);color:var(--forest)}.copy-btn.copied{background:var(--forest);border-color:var(--forest);color:#fff}.dashboard-main-layout{flex:1;grid-template-columns:350px minmax(0,1fr);align-items:stretch;gap:18px;height:100%;min-height:0;display:grid}.dashboard-main-layout.student-view-fullscreen{grid-template-columns:1fr;gap:0}.dashboard-kpi-vertical-col{flex-direction:column;height:100%;min-height:0;display:flex}.kpi-vertical-header{margin-bottom:2px}.kpi-vertical-header h2{color:var(--ink);margin:0;font-size:15px;font-weight:600}.kpi-vertical-header small{color:var(--ink-soft);margin-top:1px;font-size:11px;display:block}.kpi-vertical-list{scrollbar-width:none;height:100%;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:space-between;gap:0;padding:2px 4px 4px 0;display:flex;overflow:auto}.kpi-vertical-list::-webkit-scrollbar{width:0;height:0;display:none}.kpi-fm-row{appearance:none;text-align:left;cursor:pointer;border:0;border-radius:0;flex:1 1 0;grid-template-rows:auto auto;grid-template-columns:14px minmax(0,1fr);align-content:center;align-items:center;gap:2px 8px;width:100%;min-height:0;padding:6px 0;display:grid;box-shadow:none!important;background:0 0!important}.kpi-fm-row:hover,.kpi-fm-row.is-active{background:0 0!important}.kpi-fm-title{color:#111;letter-spacing:0;text-transform:none;text-align:left;grid-area:1/2;width:100%;font-size:13px;font-weight:500;line-height:1.3;display:block}.kpi-fm-marker{border:7px solid #0000;border-width:7px 0 7px 12px;grid-area:2/1;justify-self:start;width:0;height:0}.kpi-fm-marker.is-visible{border-left-color:#1d4ed8}.kpi-fm-value{font-variant-numeric:tabular-nums;letter-spacing:-.3px;text-align:left;grid-area:2/2;font-family:IBM Plex Sans Variable,sans-serif;font-size:36px;font-weight:500;line-height:1.05;color:#e11d48!important}.dashboard-kpi-table thead th{letter-spacing:0;text-transform:none;background:#f3f6f4;font-size:12px;font-weight:600;color:#111!important}.dashboard-kpi-table thead th.num{text-align:right;color:#111!important}.kpi-vertical-card{text-align:left;cursor:pointer;background:linear-gradient(#fff 0%,#f7f9f6 100%);border:1px solid #245b481f;border-radius:14px;flex-direction:column;flex:1;justify-content:space-between;gap:8px;min-height:0;padding:14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;display:flex;box-shadow:inset 0 1px #fffffff2,0 1px 2px #223d350d,0 6px 14px #223d3514}.kpi-vertical-card:hover{background:linear-gradient(#fff 0%,#f2f7f4 100%);border-color:#245b4847;transform:translateY(-2px);box-shadow:inset 0 1px #fffffff2,0 4px 8px #223d350f,0 12px 24px #245b481f}.kpi-vertical-card:active{transform:scale(.98)translateY(0)}.kpi-vertical-card.active-kpi-card{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest), 0 1px 0 #ffffffe6 inset, 0 4px 10px #245b481f, 0 14px 28px #245b482e;background:linear-gradient(#f5faf7 0%,#e8f2ec 100%)}.kpi-tone-tuition{background:linear-gradient(#f7fbff 0%,#e8f1fa 100%);border-color:#2f6c9e47;box-shadow:inset 0 1px #fffffff2,0 1px 2px #2f6c9e0f,0 8px 18px #2f6c9e1f}.kpi-tone-tuition .kpi-title{color:#1f4f78}.kpi-tone-tuition .kpi-badge-count{color:#1f4f78;background:#dceaf7}.kpi-tone-tuition.active-kpi-card{background:linear-gradient(#eef6fd 0%,#d9e9f7 100%);border-color:#2f6c9e;box-shadow:0 0 0 2px #2f6c9e,inset 0 1px #ffffffe6,0 8px 22px #2f6c9e38}.kpi-tone-activities{background:linear-gradient(#fffaf4 0%,#f6ebe0 100%);border-color:#95734152;box-shadow:inset 0 1px #fffffff2,0 1px 2px #95734112,0 8px 18px #9573411f}.kpi-tone-activities .kpi-title{color:#7a5730}.kpi-tone-activities .kpi-badge-count{color:#7a5730;background:#f0e2d0}.kpi-tone-activities.active-kpi-card{background:linear-gradient(#fbf3e8 0%,#efe0cd 100%);border-color:#957341;box-shadow:0 0 0 2px #957341,inset 0 1px #ffffffe6,0 8px 22px #95734138}.kpi-tone-ls{background:linear-gradient(#f3fbf9 0%,#e2f2ef 100%);border-color:#2a7a724d;box-shadow:inset 0 1px #fffffff2,0 1px 2px #2a7a720f,0 8px 18px #2a7a721f}.kpi-tone-ls .kpi-title{color:#1f5f59}.kpi-tone-ls .kpi-badge-count{color:#1f5f59;background:#d5ece8}.kpi-tone-ls.active-kpi-card{background:linear-gradient(#e8f6f3 0%,#cfeae4 100%);border-color:#2a7a72;box-shadow:0 0 0 2px #2a7a72,inset 0 1px #ffffffe6,0 8px 22px #2a7a7238}.kpi-tone-contingency{background:linear-gradient(#f4f8f5 0%,#e4efe8 100%);border-color:#245b484d;box-shadow:inset 0 1px #fffffff2,0 1px 2px #245b480f,0 8px 18px #245b481f}.kpi-tone-contingency .kpi-title{color:#1d4738}.kpi-tone-contingency .kpi-badge-count{color:#1d4738;background:#d7e8df}.kpi-tone-contingency.active-kpi-card{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest), 0 1px 0 #ffffffe6 inset, 0 8px 22px #245b4838;background:linear-gradient(#eaf3ee 0%,#d4e6db 100%)}.dashboard-charts-col{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.dashboard-kpi-horizontal-section{flex-direction:column;gap:12px;display:flex}.kpi-horizontal-header{justify-content:space-between;align-items:flex-end;display:flex}.kpi-horizontal-header h2{margin:0;font-size:16px;font-weight:600}.kpi-horizontal-header small{color:var(--ink-soft);font-size:11px}.kpi-horizontal-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.kpi-horizontal-card{border:1px solid var(--rule);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:5px;padding:14px 16px;transition:all .15s;display:flex;box-shadow:0 1px 2px #00000008}.kpi-horizontal-card:hover{border-color:var(--forest);background:#fbfcfa;transform:translateY(-2px);box-shadow:0 4px 12px #245b4814}.kpi-footer-row{border-top:1px dashed #edf0eb;justify-content:space-between;align-items:center;margin-top:4px;padding-top:6px;display:flex}.kpi-create-draft-btn{width:100%;color:var(--forest);background:var(--forest-pale);cursor:pointer;text-align:center;border:1px solid #245b482e;border-radius:4px;margin-top:2px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .15s}.kpi-badge-count{color:var(--forest);background:var(--forest-pale);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.kpi-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-tag{color:var(--ink);background:#f1f5f0;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:500}.kpi-title{color:var(--ink);letter-spacing:.4px;text-transform:uppercase;font-size:13px;font-weight:700}.kpi-body-row{justify-content:space-between;align-items:baseline;gap:10px;margin-top:2px;display:flex}.kpi-value-row{align-items:center;gap:8px;min-width:0;display:inline-flex}.kpi-active-marker{color:#1d4ed8;flex-shrink:0;font-size:22px;font-weight:700;line-height:1}.kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.4px;font-family:IBM Plex Sans Variable,sans-serif;font-size:26px;font-weight:700;line-height:1.1}.text-red{color:#dc2626}.text-green{color:#16a34a}.text-forest{color:var(--forest)}.kpi-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;text-align:right;font-size:12px;font-weight:500;overflow:hidden}.header-student-search-form{align-items:center;gap:8px;display:inline-flex}.header-student-search-input{border:1px solid var(--rule);background:#fff;border-radius:6px;width:240px;min-height:42px;padding:8px 14px;font-size:12px}.header-student-search-input:focus{border-color:var(--forest);outline:none}.dashboard-charts-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.chart-card{border-radius:16px;flex-direction:column;height:100%;min-height:0;margin:0;padding:18px 20px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 2px 4px #223d350d,0 10px 24px #223d351a}.chart-card--revenue{background:linear-gradient(165deg,#f8fbff 0%,#eaf2fa 100%);border:1px solid #2f6c9e38;box-shadow:inset 0 1px #fffffff2,0 2px 4px #2f6c9e0f,0 12px 28px #2f6c9e24}.chart-card--revenue .chart-header h3,.chart-card--revenue .chart-kicker{color:#1f4f78}.chart-card--status{background:linear-gradient(165deg,#fffaf5 0%,#f6ede0 100%);border:1px solid #95734147;box-shadow:inset 0 1px #fffffff2,0 2px 4px #95734112,0 12px 28px #95734124}.chart-card--status .chart-header h3,.chart-card--status .chart-kicker{color:#7a5730}.chart-card--grades{background:linear-gradient(165deg,#f5faf7 0%,#e7f1eb 55%,#eef6f1 100%);border:1px solid #245b4838;grid-column:1/-1;box-shadow:inset 0 1px #fffffff2,0 2px 4px #245b480f,0 14px 32px #245b4824}.chart-card--grades .chart-header h3,.chart-card--grades .chart-kicker{color:#1d4738}.chart-header{margin-bottom:14px}.chart-header h3{letter-spacing:-.2px;color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:700}.chart-header small{color:var(--ink-muted);font-size:12px;line-height:1.4}.chart-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:4px;font-size:10px;font-weight:700}.chart-header--split{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.donut-chart-wrap{flex:1;align-items:center;gap:20px;display:flex}.donut-svg{flex-shrink:0;transform:rotate(-90deg)}.chart-legend{flex-direction:column;flex:1;gap:8px;font-size:11px;display:flex}.legend-row{align-items:center;gap:6px;display:flex}.legend-bullet{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-name{color:var(--ink-soft);flex:1}.legend-val{font-variant-numeric:tabular-nums}.legend-pct{color:var(--ink-muted)}.bars-chart-container{flex-direction:column;flex:1;justify-content:space-between;min-height:0;display:flex}.bars-wrap{border-bottom:1px solid var(--rule);flex:1;justify-content:space-around;align-items:flex-end;min-height:140px;padding-bottom:6px;display:flex}.bar-group{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar-columns{align-items:flex-end;gap:5px;height:100%;display:flex}.bar-fill{cursor:pointer;border-radius:3px 3px 0 0;width:18px;transition:height .4s}.bar-fill.invoiced{background:#9c4438}.bar-fill.paid{background:#245b48}.bar-fill.status-bar{border-radius:4px 4px 0 0;width:32px;transition:height .4s}.status-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar-label{color:var(--ink-soft);font-size:11px}.status-bar-val{color:var(--ink);margin-bottom:2px;font-size:11px;font-weight:600}.chart-legend-bottom{color:var(--ink-soft);justify-content:center;gap:20px;margin-top:14px;font-size:11px;display:flex}.legend-indicator{align-items:center;gap:6px;display:flex}.legend-indicator i{border-radius:2px;width:10px;height:10px;display:inline-block}.fm-slide-header{border:1px solid var(--rule);background:#f8faf7;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px 12px;display:flex}.fm-slide-tabs{gap:6px;display:flex}.fm-slide-tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .18s}.fm-slide-tab:hover{color:var(--forest);background:#245b480f}.fm-slide-tab.active{background:var(--forest);color:#fff;border-color:var(--forest);box-shadow:0 1px 3px #245b4840}.fm-slide-dots{align-items:center;gap:8px;padding:0 6px;display:flex}.fm-dot{cursor:pointer;background:#d1d5db;border-radius:50%;width:10px;height:10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.fm-dot:hover{background:#9ca3af;transform:scale(1.15)}.fm-dot.active{background:var(--forest);border-radius:5px;width:22px}.fm-slide-viewport{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative}.fm-slide-panel{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}.animate-slide{animation:.3s cubic-bezier(.16,1,.3,1) slideFadeIn}@keyframes slideFadeIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.dashboard-bottom-charts{flex:1;grid-template-rows:minmax(240px,1fr) minmax(260px,.95fr);grid-template-columns:1fr 1fr;align-content:stretch;gap:16px;height:100%;min-height:0;margin:0;display:grid}@media (max-width:1050px){.dashboard-bottom-charts{grid-template-rows:none;grid-template-columns:1fr;overflow:auto}.chart-card--grades{min-height:280px}}.grade-summary-pills{flex-wrap:wrap;gap:10px;display:flex}.grade-pill{background:#ffffffb8;border:1px solid #245b4824;border-radius:12px;flex-direction:column;gap:2px;min-width:108px;padding:10px 14px;display:flex;box-shadow:inset 0 1px #ffffffe6,0 4px 12px #245b4814}.grade-pill span{color:var(--ink-soft);font-size:11px;font-weight:500}.grade-pill strong{color:#1d4738;font-variant-numeric:tabular-nums;letter-spacing:-.4px;font-size:22px;font-weight:700;line-height:1.1}.grade-chart{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.grade-chart-bars{flex:1;align-items:flex-end;gap:8px;min-height:180px;padding:8px 4px 0;display:flex;overflow:auto hidden}.grade-bar-col{flex-direction:column;flex:1 0 42px;justify-content:flex-end;align-items:center;gap:6px;min-width:42px;max-width:72px;height:100%;animation:.45s cubic-bezier(.16,1,.3,1) both gradeBarIn;display:flex}@keyframes gradeBarIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.grade-bar-count{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.grade-bar-track{background:linear-gradient(#ffffff8c,#ffffff26),repeating-linear-gradient(0deg,#0000 0 23px,#245b480f 23px 24px);border-radius:12px 12px 6px 6px;flex:1;justify-content:center;align-items:flex-end;width:100%;min-height:120px;padding:6px 8px 0;display:flex}.grade-bar-fill{border-radius:10px 10px 4px 4px;width:100%;max-width:36px;transition:height .45s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff59,0 6px 14px #0f172a2e}.grade-bar-label{color:var(--ink-soft);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.grade-chart-foot{color:var(--ink-muted);border-top:1px dashed #245b4829;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:4px;font-size:11px;display:flex}.grade-chart-empty{min-height:180px;color:var(--ink-soft);text-align:center;background:#ffffff8c;border:1px dashed #245b4838;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.grade-chart-empty strong{color:var(--ink);font-size:14px}.grade-chart-empty span{font-size:12px}.status-bars-wrap{flex:1;height:160px!important}.bars-chart-container{flex-direction:column;flex:1;justify-content:space-between;gap:12px;min-height:0;display:flex}.chart-legend-bottom{flex-wrap:wrap;gap:14px;margin-top:4px;display:flex}.chart-legend-bottom .legend-indicator{color:var(--ink-soft);font-size:11px}.hbar-chart-container{flex-direction:column;flex:1;justify-content:space-around;min-height:0;padding:8px 0;display:flex}.hbar-row{align-items:center;gap:12px;display:flex}.hbar-label{flex-shrink:0;align-items:center;gap:8px;width:160px;display:flex}.hbar-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.hbar-track{background:#f1f3f0;border-radius:4px;flex:1;height:16px;position:relative;overflow:hidden}.hbar-fill{border-radius:4px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.hbar-val-box{text-align:right;flex-shrink:0;justify-content:flex-end;align-items:baseline;gap:6px;width:140px;display:flex}.hbar-val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.hbar-pct{color:var(--ink-muted);font-size:10px}.bar-group.clickable{cursor:pointer;border-radius:6px;padding:4px 6px;transition:background .15s,transform .15s}.bar-group.clickable:hover{background:#245b4814;transform:translateY(-2px)}.bar-group.clickable:hover .bar-label{color:var(--forest);font-weight:600}.search-autosuggest-dropdown{border:1px solid var(--rule);z-index:1000;background:#fff;border-radius:8px;max-height:280px;margin-top:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.header-autosuggest{min-width:320px}.autosuggest-item{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex}.autosuggest-item:last-child{border-bottom:none}.autosuggest-item:hover{background:var(--forest-pale)}.autosuggest-thumb{object-fit:cover;background:#e5e7eb;border:1px solid #245b4826;border-radius:50%;flex-shrink:0;width:34px;height:34px}.autosuggest-info{flex-direction:column;min-width:0;display:flex}.autosuggest-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.autosuggest-meta{color:var(--ink-soft);font-size:11px}.student-modal-dialog{width:95vw!important;max-width:1280px!important;max-height:94vh!important}.no-scrollbar{scrollbar-width:none!important;-ms-overflow-style:none!important}.no-scrollbar::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.student-modal-2col{grid-template-columns:380px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.student-info-col{flex-direction:column;gap:12px;display:flex}.student-history-col{flex-direction:column;min-height:0;display:flex}.student-history-table-wrap{border:1px solid var(--rule);background:#fff;border-radius:8px;flex:1;min-height:280px;max-height:calc(94vh - 240px);overflow:auto}.student-slide-2col .student-history-table-wrap{min-height:0;max-height:none}.student-history-table-wrap thead th{z-index:2;box-shadow:0 1px 0 var(--rule);background:#fbfcfa;position:sticky;top:0}.student-profile-header-card{background:var(--forest-pale);border:1px solid #245b482e;border-radius:10px;align-items:center;gap:18px;padding:16px 20px;display:flex}.student-photo-box{border:2px solid var(--forest);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden;box-shadow:0 3px 10px #245b481f}.student-photo-img{object-fit:cover;width:100%;height:100%}@media (max-width:1050px){.dashboard-main-layout,.dashboard-kpi-split,.dashboard-student-grid{grid-template-columns:1fr}.hbar-row{flex-direction:column;align-items:stretch;gap:4px}.hbar-label,.hbar-val-box{justify-content:space-between;width:100%}.student-profile-header-card{flex-direction:column;align-items:flex-start}.student-modal-2col,.student-slide-2col{grid-template-columns:1fr}}.sidebar{color:#e5ede7;background:#142a22;border-right:1px solid #1c3d31}.sidebar .brand b{color:#fff;font-weight:600}.sidebar .brand span{color:#9cb5a8}.sidebar .workspace-label{color:#729181}.sidebar .nav-item{color:#c0d3c7;transition:all .15s}.sidebar .nav-item .nav-icon{color:#8faea0}.sidebar .nav-item:hover{color:#fff;background:#ffffff14}.sidebar .nav-item:hover .nav-icon{color:#4ade80}.sidebar .nav-item.active{color:#fff;background:#245b48;font-weight:600;box-shadow:0 2px 6px #0003}.sidebar .nav-item.active .nav-icon{color:#4ade80}.sidebar .nav-count{color:#fff;background:#ffffff26}.sidebar .sidebar-logout-btn{color:#fca5a5;background:#ffffff0f;border-color:#ffffff1f}.sidebar .sidebar-logout-btn:hover{color:#fecaca;background:#dc262633;border-color:#dc262666}.sidebar .workspace-section-label{color:#729181;letter-spacing:1.4px;text-transform:uppercase;margin:16px 12px 6px;font-size:9px;font-weight:700}.nav-accordion-group{flex-direction:column;width:100%;margin-bottom:2px;display:flex}.nav-chevron{color:#8faea0;margin-left:auto;font-size:8px;transition:transform .18s cubic-bezier(.4,0,.2,1)}.nav-sub-list{border-left:2px solid #ffffff1f;flex-direction:column;gap:2px;margin:2px 4px 6px 22px;padding-left:10px;animation:.18s ease-out submenuFadeIn;display:flex}@keyframes submenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-sub-item{color:#c0d3c7;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.nav-sub-item:hover{color:#fff;background:#ffffff14}.nav-sub-item.active{color:#fff;background:#245b48;font-weight:600}.nav-sub-icon{flex-shrink:0;font-size:12px}.nav-sub-label{font-weight:500}.nav-sub-desc{color:#8faea0;margin-left:auto;font-size:10px;font-weight:400}.dashboard-submenu-bar{border:1px solid var(--rule);background:#fff;border-radius:8px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:8px 14px;display:flex;box-shadow:0 1px 2px #00000008}.submenu-bar-label{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.submenu-bar-tag{background:var(--forest-pale);color:var(--forest);letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.submenu-bar-pills{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.submenu-pill-group{background:var(--input);border:1px solid var(--rule);border-radius:6px;align-items:center;gap:4px;padding:3px 6px;display:inline-flex}.submenu-pill-title{color:var(--ink-soft);margin-right:2px;font-size:11px;font-weight:600}.submenu-pill-btn{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.2;transition:all .15s}.submenu-pill-btn:hover{background:var(--forest-pale);border-color:var(--forest);color:var(--forest);transform:translateY(-1px)}.submenu-pill-btn.direct{background:var(--forest-pale);color:var(--forest);border-color:#245b4840;font-weight:600}.submenu-pill-btn.direct:hover{background:var(--forest);color:#fff}.kpi-card-action-btn{background:var(--forest-pale);color:var(--forest);cursor:pointer;white-space:nowrap;border:1px solid #245b4838;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;transition:all .15s}.kpi-card-action-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest);transform:translateY(-1px)}
