@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#17243b;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:252px;background:#101c35;color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:28px 17px;z-index:10}.side-brand{padding:2px 13px 39px}.brand-mark{font:800 25px Manrope,sans-serif;letter-spacing:-1.5px;color:#fff}.brand-mark span{color:#51a8ff}.side-brand small{display:block;font-size:10px;letter-spacing:4px;color:#8294b2;margin-top:3px}.side-label,.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#91a2bd}.side-label{padding:0 13px 13px}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#aebbd0;text-align:left;padding:13px 14px;border-radius:9px;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600}.nav-item:hover{background:#1b2a47;color:#fff}.nav-item.active{background:#214d83;color:#fff}.nav-icon{font-size:19px;width:22px;text-align:center}.nav-dot{width:6px;height:6px;border-radius:50%;background:#63b5ff;margin-left:auto}.side-bottom{margin-top:auto;border-top:1px solid #2a3852;padding:20px 5px 0;display:flex;align-items:center;gap:10px}.side-avatar,.top-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2a5689;color:#fff;font-weight:800}.side-user{min-width:0;flex:1}.side-user b,.side-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user b{font-size:12px}.side-user small{font-size:10px;color:#91a2bd;margin-top:4px}.logout-icon{border:0;background:transparent;color:#aebbd0;font-size:22px}.main-area{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:90px;background:#fff;border-bottom:1px solid #e8ecf2;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.topbar .eyebrow{color:#8190a7;font-size:9px}.topbar h1{font:800 21px Manrope;margin:4px 0 0}.top-right{display:flex;align-items:center;gap:9px;color:#748198;font-size:11px}.online-dot{width:7px;height:7px;background:#24b47e;border-radius:50%}.top-avatar{width:33px;height:33px;margin-left:12px}.content{padding:30px 38px;flex:1;max-width:1600px;width:100%;margin:0 auto}.footer{padding:18px 38px;color:#8b97a9;font-size:10px;border-top:1px solid #e8ecf2}.footer span{float:right}.mobile-menu{display:none}.welcome{background:linear-gradient(115deg,#142b4d,#24558b);color:#fff;padding:26px 30px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.welcome .eyebrow{color:#9fc6ed}.welcome h2{font:800 22px Manrope;margin:8px 0 5px}.welcome p{font-size:12px;color:#c0d4eb;margin:0}.welcome-icon{font-size:48px;color:#a8d4ff;padding:0 18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e9edf3;border-radius:11px;padding:19px;text-align:left;color:inherit;box-shadow:0 2px 8px #17243b05;transition:.15s}.stat-card:hover{transform:translateY(-2px);border-color:#a9c9ed}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#75839a;font-size:11px;font-weight:600}.stat-icon{width:35px;height:35px;border-radius:9px;background:#edf5ff;color:#367fc2;display:grid;place-items:center;font-size:18px}.stat-card strong{display:block;font:800 28px Manrope;margin:14px 0 3px}.stat-card small{font-size:10px;color:#9aa5b5}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}.panel{background:#fff;border:1px solid #e8edf3;border-radius:12px;padding:22px;box-shadow:0 2px 8px #17243b05}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading h2{font:800 15px Manrope;margin:0}.panel-heading p{color:#8b97a9;font-size:11px;margin:5px 0 0}.revenue-value{font:800 32px Manrope;margin:24px 0 4px;color:#1d426b}.revenue-note{font-size:10px;color:#99a4b4}.quick-list{margin-top:15px}.quick-list button{width:100%;padding:12px 3px;border:0;border-top:1px solid #eef1f5;background:#fff;text-align:left;display:flex;gap:12px;align-items:center;font-size:11px;color:#4d5d74}.quick-list button span{color:#3985ca;font-size:17px}.quick-list button b{margin-left:auto;color:#92a0b2}.upcoming{margin-bottom:20px}.upcoming-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.upcoming-list>div{padding:14px;background:#f7f9fc;border-radius:9px;display:grid;gap:6px}.upcoming-list b{font-size:12px}.upcoming-list span,.session-date{font-size:10px;color:#8290a4}.session-date{color:#347fc2;font-weight:700}.panel-heading{margin-bottom:20px}.table-tools{display:flex;justify-content:space-between;gap:12px;margin:15px 0}.search-box{display:flex;align-items:center;gap:9px;background:#f6f8fb;border:1px solid #e9edf3;border-radius:8px;padding:0 12px;color:#8492a6;max-width:340px;flex:1}.search-box input{border:0;outline:0;background:transparent;width:100%;padding:10px 0;font-size:11px}.primary,.secondary{border-radius:7px;padding:10px 15px;font-size:11px;font-weight:700}.primary{background:#2364a3;border:1px solid #2364a3;color:#fff}.primary:hover{background:#194e85}.primary:disabled{opacity:.6;cursor:wait}.secondary{background:#fff;border:1px solid #dfe5ed;color:#53637a}.full{width:100%;padding:13px;margin-top:6px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#8c98aa;font-size:9px;text-transform:uppercase;letter-spacing:.8px;background:#f8f9fb;padding:13px 12px}td{padding:14px 12px;border-bottom:1px solid #eef1f5;font-size:11px;color:#4d5d72}tbody tr:hover{background:#fbfcfe}.table-footer{padding-top:14px;color:#98a3b2;font-size:10px}.actions{display:flex;gap:6px}.action{border:1px solid #dce5ef;background:#fff;color:#42617f;border-radius:5px;padding:6px 8px;font-size:9px;font-weight:700}.action.approve{color:#18865e;border-color:#bde9d6}.action.reject{color:#bd4a4a;border-color:#f0cccc}.pill{display:inline-block;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:700}.green{background:#e7f7ef;color:#168256}.orange{background:#fff4df;color:#ad791f}.red{background:#ffeded;color:#bc4d4d}.gray{background:#edf0f4;color:#788598}.empty{text-align:center;color:#98a3b2;font-size:11px;padding:30px 12px}.alert{padding:11px 13px;border-radius:7px;font-size:11px;margin-bottom:14px;display:flex;justify-content:space-between;gap:10px}.alert button{border:0;background:none;font-size:17px}.error{background:#fff0f0;color:#b83d3d;border:1px solid #f3d4d4}.success{background:#eaf8f0;color:#18764e;border:1px solid #ccebd9}.modal-backdrop{position:fixed;inset:0;background:#101c3580;z-index:30;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:13px;padding:23px;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #08152b40}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{font:800 17px Manrope;margin:0}.icon-button{border:0;background:#f1f4f8;border-radius:7px;width:30px;height:30px;font-size:20px;color:#63738a}.record-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.record-form label,.login-card label{display:grid;gap:7px;color:#596a81;font-size:10px;font-weight:700}.record-form label:has(textarea),.record-form label:has(select),.record-form label:has(input[type=email]){grid-column:span 2}.record-form input,.record-form select,.record-form textarea,.login-card input{width:100%;border:1px solid #dfe5ed;border-radius:7px;padding:10px;color:#27374e;outline:none;background:#fff;font-size:11px}.record-form input:focus,.record-form select:focus,.record-form textarea:focus,.login-card input:focus{border-color:#5597d4;box-shadow:0 0 0 3px #5597d41a}.record-form .check-field{display:flex;align-items:center;gap:9px;grid-column:span 2}.check-field input{width:auto}.form-actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.login-page{min-height:100vh;background:radial-gradient(ellipse at 15% 15%,#244e7c 0,#172d4d 36%,#101c35 80%);display:grid;place-items:center;padding:20px}.login-card{width:min(410px,100%);background:#fff;border-radius:15px;padding:37px;box-shadow:0 25px 80px #06132855}.login-card .brand-mark{color:#152945;margin-bottom:27px}.login-card .eyebrow{color:#6c94bd}.login-card h1{font:800 25px Manrope;margin:10px 0 5px}.muted{color:#8793a5;font-size:11px}.login-card form{display:grid;gap:16px;margin-top:25px}.login-card label{font-size:11px}.login-card input{padding:12px;font-size:12px}.login-foot{text-align:center;color:#9aa5b5;font-size:9px;margin-top:26px}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#64748b;font-size:12px}.spinner{width:19px;height:19px;border:2px solid #dce6f0;border-top-color:#367fc2;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content{padding:25px}.topbar{padding:0 25px}}@media(max-width:700px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.mobile-menu{display:block;border:0;background:#f1f4f8;border-radius:7px;padding:8px 10px;color:#304660}.topbar{height:75px;padding:0 16px;gap:12px;justify-content:flex-start}.topbar>div:nth-child(2){flex:1}.topbar h1{font-size:17px}.top-right{font-size:0}.top-avatar{margin:0}.content{padding:18px 13px}.welcome{padding:20px}.welcome h2{font-size:18px}.welcome-icon{font-size:32px;padding:0}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-card strong{font-size:23px}.dashboard-grid,.upcoming-list{grid-template-columns:1fr}.panel{padding:15px}.panel-heading{align-items:flex-start}.panel-heading .primary{white-space:nowrap;padding:9px}.footer{padding:15px;font-size:9px}.record-form{grid-template-columns:1fr}.record-form label,.record-form label:has(textarea),.record-form label:has(select),.record-form label:has(input[type=email]),.record-form .check-field,.form-actions{grid-column:span 1}.modal{padding:18px}.table-tools{align-items:center}.footer span{display:none}}
