*{box-sizing:border-box}:root{--accent:#1f2937;--accent-hover:#111827;--accent-soft:#eef0f3;--accent-border:#cbd5e1}*,body,html{text-size-adjust:100%}.main .muted,.main h1,.main h2,.main h3,.main label,.main li,.main p{max-height:999999px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:#f4f5f7;color:#1f2330}input,select,textarea{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh;display:flex}.sidebar{width:220px;background:#181c2a;color:#fff;padding:20px 16px;flex-shrink:0}.sidebar h2{font-size:16px;margin:0 0 16px;color:#9aa3c7}.mode-toggle{display:flex;gap:3px;background:#11141f;border:1px solid #2a3050;border-radius:8px;padding:3px;margin:0 0 18px}.mode-toggle button{flex:1 1;background:none;border:none;color:#9aa3c7;font-size:13px;padding:7px 8px;border-radius:6px;cursor:pointer}.mode-toggle button.active{background:#2a3050;color:#fff}.sidebar nav a{display:block;color:#d6daf0;padding:10px 12px;border-radius:8px;margin-bottom:4px;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#2a3050;color:#fff;text-decoration:none}.sidebar nav .nav-group{margin-bottom:4px}.sidebar nav a.nav-group-header{color:#9aa3c7;font-weight:600}.sidebar nav a.nav-child{padding-left:26px;font-size:13px;color:#b9bfdd}.sidebar .user-box{margin-top:24px;padding-top:16px;border-top:1px solid #2a3050;font-size:13px;color:#9aa3c7}.sidebar .logout-btn{display:inline-block;margin-top:10px;background:none;border:1px solid #3a4170;color:#d6daf0;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px}.main{flex:1 1;padding:28px 32px;max-width:1100px}.page-head{flex-direction:column;align-items:flex-start!important;gap:12px}.page-head>*{text-align:left!important}.main h1{margin-top:0;font-size:22px}.main h2{font-size:17px;margin:28px 0 12px}.cards{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.card{background:#fff;border-radius:12px;padding:16px 20px;min-width:170px;box-shadow:0 1px 3px rgba(20,20,43,.08)}.card .label{font-size:12px;color:#7a7f97;margin-bottom:6px}.card .value{font-size:22px;font-weight:600}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(20,20,43,.06)}td,th{padding:10px 12px;text-align:left;border-bottom:1px solid #eef0f5;font-size:14px}th{background:#f8f9fc;color:#5a5f78;font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:1px solid transparent;padding:8px 14px;border-radius:8px;font-size:14px;line-height:1.2;cursor:pointer}.btn:hover{background:var(--accent-hover)}.btn.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent-border)}.btn.danger{background:#ef4444}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#475569;border:1px solid #d7dde8;padding:8px 14px;border-radius:8px;font-size:14px;line-height:1.2;cursor:pointer}.btn-ghost:hover{background:#f3f4f6}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-danger{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:1px solid transparent;padding:8px 14px;border-radius:8px;font-size:14px;line-height:1.2;cursor:pointer}.btn-danger:hover{background:#dc2626}.btn-success{display:inline-flex;align-items:center;justify-content:center;background:#16a34a;color:#fff;border:1px solid transparent;padding:8px 14px;border-radius:8px;font-size:14px;line-height:1.2;cursor:pointer}.btn-success:hover{background:#15803d}.btn-sm{padding:5px 10px;font-size:13px}.form-row{margin-bottom:14px;display:flex;flex-direction:column;gap:6px;max-width:360px}.form-row label{font-size:13px;color:#5a5f78}.form-row input,.form-row select,.form-row textarea{padding:9px 10px;border:1px solid #d8dbe6;border-radius:8px;font-size:14px}.form-inline{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.lead{background:#fff3cd;color:#8a6d00}.badge.active{background:#d8f5e0;color:#14723b}.badge.paused{background:#e3e6f0;color:#555a73}.badge.archived{background:#fde2e2;color:#a32626}.badge.scheduled{background:#e1ecff;color:#1e44b0}.badge.completed{background:#d8f5e0;color:#14723b}.badge.cancelled{background:#fde2e2;color:#a32626}.badge.paid{background:#d8f5e0;color:#14723b}.badge.unpaid{background:#fde2e2;color:#a32626}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background:#fff;padding:32px 36px;border-radius:14px;box-shadow:0 4px 24px rgba(20,20,43,.12);width:320px}.login-box h1{font-size:19px;margin-top:0}.error-text{color:#ca2c2c}.error-text,.success-text{font-size:13px;margin-top:6px}.success-text{color:#1e8e3e}.muted{color:#7a7f97;font-size:13px}.actions-row{gap:8px}.actions-row,.modal-overlay{display:flex;align-items:center}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.4);justify-content:center;padding:20px 16px}.modal-card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:min(520px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.modal-card h2{font-size:18px;margin:0 0 14px}.modal-card h3{font-size:14.5px;margin:18px 0 8px}@media (max-width:900px){.modal-overlay{padding:12px}.modal-card{padding:18px;max-height:calc(100dvh - 24px)}}.select,select.select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;color:#1f2330;cursor:pointer;line-height:1.2}.select:focus,select.select:focus{outline:none;border-color:var(--accent)}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;background:#eef0f3;color:#475569}.subj-математика{background:#eaf1fb;color:#2c5aa0}.subj-информатика{background:#e7f5f0;color:#0f766e}.subj-физика{background:#f2edfb;color:#6d28d9}.tag-goal{background:#f1f5f9;color:#475569}.tag-class{background:#eef0f3;color:#334155}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.pill-green{background:#e6f6ec;color:#127a3e}.pill-red{background:#fdecec;color:#c0392b}.pill-gray{background:#f1f5f9;color:#64748b}.pill-violet{background:#f2edfb;color:#6d28d9}.pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#eef0f3;color:#475569;font-size:13px;font-weight:600;flex:0 0 auto}.stat{background:#fff;border:1px solid #e7e9ee;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px rgba(20,20,43,.06);flex:1 1 150px}.stat .stat-label{font-size:12px;color:#7a7f97;margin-bottom:6px}.stat .stat-value{font-size:22px;font-weight:700}.stat .stat-sub{font-size:12px;color:#7a7f97;margin-top:4px}.menu-btn,.mobile-topbar,.sidebar-backdrop{display:none}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:900px){.layout{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:10px;background:#181c2a;color:#fff;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.mobile-topbar .mt-title{font-size:15px;font-weight:600;flex:1 1}.menu-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;width:36px;height:36px;padding:0}.sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;transform:translateX(-100%);transition:transform .22s ease;z-index:200;overflow-y:auto;padding-top:calc(20px + env(safe-area-inset-top))}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:150}body{background:#181c2a}.main{padding:16px 14px;max-width:100%;background:#f4f5f7;min-height:100vh;overflow-x:hidden}.main h1{font-size:20px}.hide-mobile{display:none}.only-mobile{display:block}.btn,.btn-danger,.btn-ghost,.btn-success{padding:6px 11px;font-size:13px}.btn-sm{padding:4px 9px;font-size:12.5px}.select,select.select{padding:6px 10px;font-size:13px}.tabs-scroll{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll{scrollbar-width:none}.tabs-scroll>*{flex:0 0 auto}input,textarea{font-size:16px}}.only-mobile{display:none}