@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#17231e;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:always;--green:#173b2d;--green-2:#24563f;--line:#e6eae6;--muted:#78837c;--panel:#fff;background:#f5f7f5;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a9d5b8}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:248px;padding:25px 16px 15px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 7px 32px;display:flex}.brand-icon{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.brand b{letter-spacing:-.4px;font-family:Manrope,sans-serif;font-size:16px;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.workspace-label,.eyebrow{letter-spacing:1.25px;color:#89948d;font-size:10px;font-weight:700}.workspace-label{padding:0 10px 12px}.sidebar nav{gap:5px;display:grid}.nav-item{color:#68746d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:12px 11px;font-size:13px;font-weight:500;display:flex}.nav-item.active{color:var(--green);background:#edf4ef;font-weight:700}.nav-dot{background:#e6a34c;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-bottom{margin-top:auto}.demo-note{color:#42554a;background:#f5f8f5;border:1px solid #e7eee8;border-radius:10px;margin:0 2px 14px;padding:12px;font-size:11px}.demo-note p{color:#7c8980;margin:6px 0 0 16px;line-height:1.5}.demo-dot,.demo-pill span{background:#d49b4b;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.profile-mini{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:13px;padding:15px 5px 0;display:flex}.profile-mini b{font-size:12px;display:block}.profile-mini span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.profile-menu{margin-left:auto;font-size:19px!important}.avatar{color:#315a43;background:#e9f0e9;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:11px;font-weight:700;display:grid}.avatar.small{width:32px;height:32px}.main{min-height:100vh;margin-left:248px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 36px;display:flex}.breadcrumb{color:#8a958e;align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumb b{color:#34443a;font-weight:600}.top-actions{align-items:center;gap:15px;display:flex}.demo-pill{color:#916b36;background:#fffaf1;border:1px solid #f0e4d1;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:600}.demo-pill span{background:#d49b4b}.content{max-width:1380px;margin:0 auto;padding:32px 36px 20px}.page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px;display:flex}.eyebrow{margin:0 0 8px}.page-heading h1{letter-spacing:-.9px;margin:0;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;line-height:1.2}.subtitle{color:#849087;margin:8px 0 0;font-size:13px}.primary-btn,.secondary-btn{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:700;display:inline-flex}.primary-btn{background:var(--green);color:#fff;border:1px solid var(--green)}.primary-btn:hover{background:#24563f}.secondary-btn{color:#405148;background:#fff;border:1px solid #dfe6df}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:17px 18px}.stat-icon{border-radius:10px;place-items:center;width:35px;height:35px;margin-bottom:14px;display:grid}.stat-icon svg{width:18px;height:18px}.stat-icon.green{color:#3c8157;background:#eaf4ed}.stat-icon.blue{color:#4c78b7;background:#eaf1fb}.stat-icon.purple{color:#8067b7;background:#f1edfb}.stat-icon.orange{color:#c1843e;background:#fff3e4}.stat-label,.stat-foot{color:#7c8980;font-size:11px;display:block}.stat-card strong{letter-spacing:-.8px;white-space:nowrap;margin:7px 0 6px;font-family:Manrope,sans-serif;font-size:25px;display:block}.stat-foot{font-size:10px}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:18px;margin-bottom:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;overflow:hidden}.panel-head{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:12px;padding:20px 21px;display:flex}.panel-head h2{letter-spacing:-.2px;margin:0;font-size:14px;font-weight:700}.panel-head p{color:#8a958d;margin:5px 0 0;font-size:11px}.text-btn{color:#37674a;white-space:nowrap;background:0 0;border:0;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:700;display:inline-flex}.appointment-list{padding:4px 20px 7px}.appointment-row{border-bottom:1px solid #f0f2f0;align-items:center;gap:12px;padding:14px 0;display:flex}.appointment-row:last-child{border-bottom:0}.time-block{color:#4c5d51;min-width:39px;font-size:12px;font-weight:700}.appointment-person{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.appointment-person .avatar{width:31px;height:31px}.appointment-person b,.appointment-person span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.appointment-person b{font-size:11px}.appointment-person span{color:#89938d;margin-top:4px;font-size:10px}.status{white-space:nowrap;border-radius:20px;align-items:center;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.status-blue{color:#4878b4;background:#edf4ff}.status-green{color:#3d8056;background:#eaf5ed}.status-orange{color:#ad762e;background:#fff3e3}.status-red{color:#b64e4e;background:#fff0ef}.status-gray{color:#78827b;background:#f0f2f0}.icon-btn{color:#78867c;background:0 0;border:0;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.icon-btn:hover{background:#f0f4f0}.complete-btn{color:#47835a;border:1px solid #e0eae2}.full-btn{width:calc(100% - 40px);margin:6px 20px 17px}.quick-panel{padding-bottom:12px}.quick-panel .panel-head{border-bottom:0;padding-bottom:9px}.quick-link{text-align:left;background:#fff;border:0;align-items:center;gap:11px;width:100%;padding:11px 20px;display:flex}.quick-link:hover{background:#f8faf8}.quick-icon{color:#436e50;background:#f0f5f0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.quick-icon svg{width:17px}.quick-copy{flex:1}.quick-copy b,.quick-copy span{display:block}.quick-copy b{font-size:11px}.quick-copy span{color:#8b968e;margin-top:4px;font-size:10px}.quick-link>svg{color:#a3ada5;width:16px}.tip-box{color:#69806f;background:#f5f8f5;border-radius:9px;gap:9px;margin:13px 18px 0;padding:12px;font-size:10px;line-height:1.5;display:flex}.tip-box svg{flex-shrink:0}.tip-box b{color:#405b47;margin-bottom:2px;display:block}.recent-panel .panel-head{border-bottom:0}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#8a958d;letter-spacing:.4px;text-transform:uppercase;background:#fafbfa;border-top:1px solid #edf0ed;border-bottom:1px solid #edf0ed;padding:12px 17px;font-size:9px;font-weight:700}td{color:#4c5a50;border-bottom:1px solid #f0f2f0;padding:13px 17px;font-size:11px}tbody tr:last-child td{border-bottom:0}.student-cell{align-items:center;gap:9px;display:flex}.student-cell b{color:#2d3b31;font-size:11px;display:block}.cell-sub{color:#929c95;margin-top:4px;font-size:10px;display:block}.balance{min-width:90px}.balance b{font-size:10px}.progress{background:#edf1ed;border-radius:5px;height:4px;margin-top:7px;overflow:hidden}.progress span{background:#6fa17b;border-radius:5px;height:100%;display:block}.footer{color:#9aa39c;justify-content:space-between;align-items:center;padding:24px 2px 0;font-size:10px;display:flex}.footer button{color:#718076;background:0 0;border:0;font-size:10px}.list-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.search-box{color:#8b968e;border:1px solid #e1e7e1;border-radius:8px;align-items:center;gap:8px;width:min(300px,100%);padding:9px 11px;display:flex}.search-box input{color:#34443a;border:0;outline:0;width:100%;font-size:12px}.muted{color:#929c95;font-size:10px}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.small-select{color:#48614f;background:#fff;border:1px solid #e1e7e1;border-radius:6px;max-width:115px;padding:6px 7px;font-size:10px}.footnote{color:#8b958e;margin:12px 2px;font-size:10px}.empty-state{color:#a0aaa2;flex-direction:column;align-items:center;gap:8px;padding:35px 15px;display:flex}.empty-state p{margin:0;font-size:12px}.modal-backdrop{z-index:50;background:#13271e80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(100%,480px);max-height:90vh;overflow:auto;box-shadow:0 20px 80px #14271f30}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.modal-head h2{margin:0;font-family:Manrope,sans-serif;font-size:16px}.form{gap:15px;padding:21px 22px 23px;display:grid}.form label{color:#4c5c50;gap:7px;font-size:11px;font-weight:600;display:grid}.form input,.form select{color:#27392d;background:#fff;border:1px solid #dfe6df;border-radius:8px;width:100%;min-width:0;padding:11px 10px;font-size:12px}.form input::placeholder{color:#a5aea7}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.form-hint{color:#78867c;background:#f4f8f4;border-radius:8px;margin:0;padding:10px;font-size:10px;line-height:1.5}.toast{z-index:80;color:#fff;background:#183b2c;border-radius:9px;align-items:center;gap:9px;padding:12px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #12281d30}.mobile-menu,.close-nav,.scrim{display:none}@media (width<=1150px){.sidebar{width:220px}.main{margin-left:220px}.content{padding:28px 23px}.topbar{padding:0 23px}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:22px}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.appointment-row{gap:8px}.status{padding:5px 6px}}@media (width<=900px){.sidebar{box-shadow:none;transition:transform .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:15px 0 40px #1022181a}.scrim{z-index:19;background:#13271e55;display:block;position:fixed;inset:0}.close-nav{margin-left:auto;display:grid}.main{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 20px}.content{padding:26px 20px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card strong{font-size:24px}.quick-panel{padding-bottom:15px}}@media (width<=560px){.topbar{height:58px;padding:0 14px}.breadcrumb{gap:5px;font-size:11px}.top-actions{gap:8px}.demo-pill{padding:6px 8px;font-size:9px}.content{padding:23px 13px 16px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:20px}.page-heading h1{font-size:24px}.subtitle{font-size:11px;line-height:1.5}.page-heading .primary-btn{gap:5px;margin-top:18px;padding:10px;font-size:10px}.page-heading .primary-btn svg{width:14px}.eyebrow{font-size:9px}.stats-grid{gap:9px;margin-bottom:15px}.stat-card{border-radius:10px;padding:13px 12px}.stat-icon{width:31px;height:31px;margin-bottom:10px}.stat-icon svg{width:16px}.stat-label{font-size:10px}.stat-card strong{margin:6px 0;font-size:21px}.stat-foot{font-size:9px;line-height:1.4}.panel-head{padding:16px 14px}.panel-head h2{font-size:13px}.panel-head p,.text-btn{font-size:10px}.appointment-list{padding:3px 13px 7px}.appointment-row{gap:7px;padding:12px 0}.time-block{min-width:34px;font-size:11px}.appointment-person{gap:7px}.appointment-person .avatar{width:28px;height:28px;font-size:9px}.appointment-person b{font-size:10px}.appointment-person span{font-size:9px}.status{padding:4px 6px;font-size:8px}.complete-btn{width:25px;height:25px}.full-btn{width:calc(100% - 26px);margin:5px 13px 13px;font-size:11px}.quick-panel .panel-head{padding:16px 14px 7px}.quick-link{gap:9px;padding:10px 14px}.quick-icon{width:31px;height:31px}.quick-copy b{font-size:10px}.quick-copy span{font-size:9px}.tip-box{margin:12px 13px 0;padding:10px;font-size:9px}.recent-panel .panel-head{padding:16px 14px}.footer{padding-top:20px;font-size:9px}.footer button{font-size:9px}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-stats .stat-card{padding:12px 9px}.compact-stats .stat-card strong{font-size:20px}.list-toolbar{flex-direction:column;align-items:flex-start;padding:12px}.search-box{width:100%}.form{padding:17px}.modal-head{padding:16px 17px}.form-row{gap:9px}.form-actions .secondary-btn,.form-actions .primary-btn{padding:10px;font-size:10px}.student-cell .avatar{width:29px;height:29px}th,td{padding:12px 13px}}.theme-toggle{border:1px solid var(--line);color:#526258;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:11px;font-weight:600;display:inline-flex}.row-actions{white-space:nowrap;align-items:center;gap:12px;display:flex}.danger-btn{color:#b64e4e}.danger-btn:hover{color:#983838}.theme-toggle:hover{background:#f5f8f5}.app-shell[data-theme=dark]{color:#e4ebe6;--line:#303b34;--muted:#a5b1a9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#151c18}.app-shell[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .topbar,.app-shell[data-theme=dark] .panel,.app-shell[data-theme=dark] .stat-card,.app-shell[data-theme=dark] .modal{background:#202923;border-color:#303b34}.app-shell[data-theme=dark] .brand b,.app-shell[data-theme=dark] .page-heading h1,.app-shell[data-theme=dark] .stat-card strong,.app-shell[data-theme=dark] .panel-head h2,.app-shell[data-theme=dark] .student-cell b,.app-shell[data-theme=dark] .modal-head h2,.app-shell[data-theme=dark] .form label{color:#e4ebe6}.app-shell[data-theme=dark] .nav-item{color:#b0bcb4}.app-shell[data-theme=dark] .nav-item.active{color:#b8ddc1;background:#2b3c31}.app-shell[data-theme=dark] .brand span,.app-shell[data-theme=dark] .subtitle,.app-shell[data-theme=dark] .stat-label,.app-shell[data-theme=dark] .stat-foot,.app-shell[data-theme=dark] .panel-head p,.app-shell[data-theme=dark] .breadcrumb,.app-shell[data-theme=dark] .cell-sub,.app-shell[data-theme=dark] .muted{color:#9aa79f}.app-shell[data-theme=dark] .breadcrumb b,.app-shell[data-theme=dark] td{color:#d0d9d2}.app-shell[data-theme=dark] .demo-note,.app-shell[data-theme=dark] .tip-box,.app-shell[data-theme=dark] .form-hint{color:#b6c8ba;background:#26342b;border-color:#35463a}.app-shell[data-theme=dark] .demo-note p,.app-shell[data-theme=dark] .tip-box b{color:#a9b9ad}.app-shell[data-theme=dark] .profile-mini,.app-shell[data-theme=dark] .panel-head,.app-shell[data-theme=dark] .appointment-row,.app-shell[data-theme=dark] td{border-color:#303b34}.app-shell[data-theme=dark] .avatar{color:#c4e0cb;background:#34463a}.app-shell[data-theme=dark] .topbar{background:#1b241e}.app-shell[data-theme=dark] .demo-pill{color:#e2bd7e;background:#342d20;border-color:#51442d}.app-shell[data-theme=dark] .theme-toggle,.app-shell[data-theme=dark] .secondary-btn,.app-shell[data-theme=dark] .small-select{color:#d2ddd4;background:#26312a;border-color:#3b493f}.app-shell[data-theme=dark] .theme-toggle:hover,.app-shell[data-theme=dark] .quick-link:hover{background:#2b3830}.app-shell[data-theme=dark] .quick-link{color:#e0e8e2;background:#202923}.app-shell[data-theme=dark] .quick-icon{color:#b6d4bd;background:#2d3d32}.app-shell[data-theme=dark] th{color:#a9b5ac;background:#252f29;border-color:#303b34}.app-shell[data-theme=dark] .search-box,.app-shell[data-theme=dark] .form input,.app-shell[data-theme=dark] .form select{color:#e0e8e2;background:#1b241e;border-color:#3b493f}.app-shell[data-theme=dark] .search-box input{color:#e0e8e2;background:0 0}.app-shell[data-theme=dark] .progress{background:#354239}.app-shell[data-theme=dark] .complete-btn,.app-shell[data-theme=dark] .icon-btn:hover{background:#2b3830;border-color:#405447}.app-shell[data-theme=dark] .danger-btn{color:#f08b86}@media (width<=560px){.theme-toggle{gap:0;padding:7px}.theme-toggle span{display:none}}
