@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";:root{color-scheme:light;font-family:DM Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#232733;background:#eef1f6;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #eef1f6;--surface: #ffffff;--surface-raised: #ffffff;--surface-soft: #f4f6fa;--line: #d9e0ec;--line-soft: #e4e9f2;--text: #232733;--muted: #6c7689;--muted-dim: #99a1b2;--accent: #5c1a26;--accent-strong: #44131c;--accent-soft: rgba(92, 26, 38, .08);--accent-contrast: #fdf6f2;--slate: #a9bcd2;--slate-soft: rgba(169, 188, 210, .3);--danger: #b3261e;--warning: #9a6b17;--radius: 16px;--serif: "Playfair Display", Georgia, serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 50% -18%,rgba(169,188,210,.35),transparent 52%),linear-gradient(180deg,#f3f5f9,#eef1f6 48%,#eceff5);color:var(--text)}#root{min-height:100vh}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:#5c1a262e;color:#1a1c22}.shell{width:min(1120px,100%);margin:0 auto;padding:34px 26px 52px}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px}.mark{width:44px;height:44px;flex:0 0 44px;border-radius:13px;object-fit:cover;box-shadow:0 6px 18px #5c1a262e}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:1.7px}.top h1,.sectionhead h2{margin:7px 0 5px;color:var(--text);font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:-.4px;line-height:1.2}.top p,.sectionhead p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.avatar,.personicon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(92,26,38,.18);border-radius:16px;background:linear-gradient(145deg,var(--slate),#8ca3bd);color:var(--accent-strong);font-weight:800;box-shadow:0 7px 24px #5c1a261a}.loading{display:grid;justify-items:center;gap:18px;padding:90px 20px 60px;color:var(--muted);text-align:center}.splashLogo{width:min(420px,86vw);height:auto;border-radius:18px;box-shadow:0 18px 44px #5c1a2629}.loading p{margin:0;font-size:13px}.nav{display:flex;gap:5px;overflow-x:auto;margin-bottom:25px;padding:5px;border:1px solid var(--line-soft);border-radius:15px;background:#ffffffd9;scrollbar-width:thin;scrollbar-color:#c3cbdb transparent}.nav button{flex:0 0 auto;border:0;border-radius:10px;padding:10px 15px;background:transparent;color:#6b7489;font-size:12px;font-weight:650;transition:background .18s ease,color .18s ease,transform .18s ease}.nav button:hover{background:var(--surface-soft);color:var(--text)}.nav button.active{background:var(--accent);color:var(--accent-contrast);box-shadow:0 3px 13px #5c1a2638}.guide{margin-bottom:18px;border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px;background:var(--surface-soft);box-shadow:0 8px 24px #2327330d}.guide b{font:700 14px/1.3 Manrope,sans-serif;color:var(--accent-strong)}.guide ol{margin:10px 0 0;padding-left:18px;display:grid;gap:7px}.guide li{color:#4a5268;font-size:12px;line-height:1.55}.guide .close{width:26px;height:26px;flex:0 0 26px;font-size:15px;border-radius:8px}.welcome{position:relative;display:flex;min-height:164px;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;border:1px solid rgba(92,26,38,.14);border-radius:20px;padding:28px 30px;background:radial-gradient(circle at 88% 50%,rgba(169,188,210,.55),transparent 30%),linear-gradient(115deg,#fbf8f6,#f4f0ec 48%,#efebe8);box-shadow:0 16px 44px #5c1a2614}.welcome:after{position:absolute;right:8%;bottom:-110px;width:250px;height:170px;border:1px solid rgba(92,26,38,.1);border-radius:50%;content:"";transform:rotate(-24deg);pointer-events:none}.welcome h2{margin:9px 0 5px;color:var(--accent-strong);font:700 25px/1.25 var(--serif);letter-spacing:-.3px}.welcome p{max-width:540px;margin:0;color:#5a6275;font-size:13px;line-height:1.6}.spark{position:relative;z-index:1;padding:0 12px;color:var(--accent);font-size:42px;text-shadow:0 0 24px rgba(92,26,38,.18)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 31px}.stat,.panel,.person,.lesson{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 24px #2327330d}.stat{min-height:104px;padding:17px 18px;transition:border-color .18s ease,transform .18s ease}.stat:hover{transform:translateY(-2px);border-color:#c5cfe0}.stat span,.balance span{display:block;color:var(--muted);font-size:11px;line-height:1.4}.stat strong{display:block;margin-top:9px;color:var(--accent);font:800 27px/1 Manrope,sans-serif;letter-spacing:-.5px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:7px 0 17px}.sectionhead h2{margin:0 0 4px;font-size:20px;letter-spacing:-.3px}.count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;border:1px solid rgba(92,26,38,.18);border-radius:999px;padding:7px 11px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap}.stack{display:grid;gap:9px}.person,.lesson{display:flex;align-items:center;gap:12px;padding:14px}.personicon{width:42px;height:42px;flex-basis:42px;border-radius:13px;background:var(--slate-soft);color:var(--accent);box-shadow:none}.grow{flex:1;min-width:0}.grow b,.person b,.lesson b{display:block;overflow-wrap:anywhere;color:var(--text);font-size:13px;font-weight:650}.grow small,.person small,.lesson small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.chevron{color:#a4acbd;font-size:22px}.clickable{cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.clickable:hover{transform:translateY(-1px);border-color:#c5cfe0;background:var(--surface-soft)}.panel{padding:18px}.panel h3,.form h3{margin:0 0 3px;color:var(--text);font:700 16px/1.35 Manrope,sans-serif}.form{display:grid;gap:13px;margin-bottom:16px}.form label,.panel label{display:grid;gap:7px;color:#434a5c;font-size:12px;font-weight:600;line-height:1.4}.form label small{color:var(--muted);font-size:10px;font-weight:400}.form input,.form select,.form textarea,.toolbar input,.toolbar select,.panel textarea,.panel input,.panel select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-soft);color:var(--text);font-size:13px;line-height:1.45;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form input::placeholder,.form textarea::placeholder,.toolbar input::placeholder,.panel textarea::placeholder{color:#9aa2b2}.form input:focus,.form select:focus,.form textarea:focus,.toolbar input:focus,.toolbar select:focus,.panel textarea:focus,.panel input:focus,.panel select:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #5c1a2617}.form textarea,.panel textarea{min-height:80px;resize:vertical}input[type=checkbox]{width:16px;min-height:16px;height:16px;accent-color:var(--accent)}.primary,.secondary,.subtle,.danger,.tiny{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:700;line-height:1.25;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 5px 15px #5c1a262e}.primary:hover{transform:translateY(-1px);background:var(--accent-strong);box-shadow:0 7px 20px #5c1a263d}.primary:disabled,.secondary:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.secondary{border-color:#c7a9af;background:#f6ebe9;color:var(--accent-strong)}.secondary:hover{border-color:var(--accent);background:#f1ddd9}.subtle{border-color:transparent;padding:8px 10px;background:transparent;color:var(--accent)}.subtle:hover{background:var(--accent-soft);color:var(--accent-strong)}.danger{border-color:#b3261e38;background:#b3261e14;color:#b3261e}.danger:hover{background:#b3261e29}.tiny{min-height:32px;border-color:#d7c3c6;border-radius:9px;padding:7px 10px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px}.tiny:hover{border-color:var(--accent);background:#ecdcd9}.tiny.muted{border-color:var(--line);background:var(--surface-soft);color:#6b7489}.tiny.muted:hover{border-color:#b7c2d6;background:#e9edf4}.lesson{padding:13px}.datebox{display:grid;width:46px;height:50px;flex:0 0 46px;align-content:center;justify-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.datebox b{color:var(--accent-strong);font:750 17px/1 Manrope,sans-serif}.datebox small{margin-top:4px;color:var(--muted);font-size:9px}.pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:var(--surface-soft);color:#5c6478;font-size:10px;font-weight:650;line-height:1.2;white-space:nowrap}.pill.warning{border-color:#9a6b1740;background:#9a6b171a;color:var(--warning)}.pill.completed,.pill.active{border-color:#3c825a38;background:#3c825a1a;color:#2f7a52}.pill.cancelled,.pill.missed,.pill.archived{border-color:#b3261e33;background:#b3261e14;color:var(--danger)}.pill.sending{border-color:#5c1a2633;background:var(--accent-soft);color:var(--accent)}.lessonActions{display:flex;gap:6px}.balance{padding:23px}.balance strong{display:block;margin:8px 0;color:var(--accent);font:800 42px/1 Manrope,sans-serif;letter-spacing:-1px}.balance small{color:var(--muted);font-size:11px}.empty{border:1px dashed #c7cfe0;border-radius:var(--radius);padding:34px 20px;background:var(--surface-soft);color:var(--muted);text-align:center}.empty p{margin:0;font-size:12px}.notice{margin-bottom:15px;border:1px solid rgba(179,38,30,.22);border-radius:12px;padding:13px 15px;background:#b3261e12;color:#8c241d;font-size:12px;line-height:1.55}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input{flex:1}.toolbar select{max-width:220px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modalBackdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:18px;background:#23273373;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{width:min(560px,100%);max-height:min(90vh,900px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:21px;background:var(--surface);box-shadow:0 24px 90px #23273338}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.modalHead h3{margin:0;color:var(--text);font:700 18px/1.35 Manrope,sans-serif}.close{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:#5c6478;font-size:21px}.close:hover{border-color:#b7c2d6;background:#e9edf4;color:var(--accent-strong)}.student-picker{display:grid;max-height:240px;gap:7px;overflow:auto;padding:3px}.pick-row{display:flex!important;align-items:center;gap:10px!important;border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;background:var(--surface-soft)}.pick-row input{width:16px!important;min-height:16px!important}.pick-row small{margin-left:auto;color:#7a84a3}.preview{display:grid;gap:12px;border:1px solid var(--line);border-radius:13px;padding:15px;background:linear-gradient(145deg,var(--slate-soft),var(--surface-soft))}.messagePreview{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--surface);color:var(--text);white-space:pre-wrap}.messagePreview p{margin:8px 0 0;color:#4a5268;font-size:13px;line-height:1.55}.warningText{margin:0;color:var(--warning);font-size:12px;line-height:1.45}.counter{display:block;color:var(--muted);font-size:10px;text-align:right}.broadcastRow{display:grid;gap:10px}.broadcastRow p{margin:0;color:#4a5268;font-size:12px;line-height:1.55;white-space:pre-wrap}.broadcastMeta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--muted);font-size:10px}.rowBetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.gapTop{margin-top:30px}footer{margin-top:38px;color:var(--muted-dim);font-size:10px;text-align:center}footer span{padding:0 6px;color:var(--slate)}@media(max-width:860px){.shell{padding-right:20px;padding-left:20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.shell{padding:22px 14px 34px}.top{margin-bottom:18px}.top h1{font-size:23px}.top p{max-width:280px;font-size:12px}.avatar{width:42px;height:42px;flex-basis:42px;border-radius:14px}.mark{width:38px;height:38px;flex-basis:38px}.nav{margin-right:-2px;margin-bottom:18px}.nav button{padding:10px 12px;font-size:11px}.welcome{min-height:145px;border-radius:17px;padding:21px 19px}.welcome h2{font-size:21px}.welcome p{max-width:250px;font-size:12px}.spark{padding:0 3px;font-size:31px}.stats{gap:8px;margin:11px 0 25px}.stat{min-height:93px;padding:13px}.stat strong{font-size:23px}.sectionhead{align-items:flex-start}.sectionhead h2{font-size:18px}.sectionhead p{font-size:11px}.person,.lesson{gap:9px;padding:11px}.personicon{width:38px;height:38px;flex-basis:38px;border-radius:12px}.grow b,.person b,.lesson b{font-size:12px}.grow small,.person small,.lesson small{font-size:10px}.pill{padding:5px 7px;font-size:9px}.lesson{flex-wrap:wrap}.lesson .grow{min-width:calc(100% - 60px)}.lessonActions{margin-left:auto}.toolbar{flex-direction:column}.toolbar select{max-width:none}.two{grid-template-columns:1fr}.panel{padding:14px}.modal{padding:17px}.broadcastMeta{gap:7px 11px}}@media(max-width:390px){.shell{padding-right:11px;padding-left:11px}.top h1{font-size:20px}.eyebrow{font-size:9px;letter-spacing:1.3px}.welcome{padding:18px 15px}.welcome h2{font-size:19px}.count{padding:6px 8px;font-size:10px}.stats{gap:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.datebox.today{border-color:#5c1a2659;background:linear-gradient(145deg,var(--slate-soft),#eef1f6);box-shadow:0 5px 16px #5c1a261a}.datebox.today b{color:var(--accent-strong)}.datebox.today small{color:var(--accent)}
