:root{--ink:#080d20;--navy:#101a3d;--blue:#3978ee;--blue-2:#2163e7;--cyan:#38bdf8;--paper:#f4f7fc;--card:#fff;--line:#dfe6f2;--muted:#68748a;--soft:#edf3ff;--green:#21a675;--red:#e45362;--shadow:0 18px 50px rgba(24,54,111,.09);--radius:24px}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit}button,a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;padding:22px 16px 18px;display:flex;flex-direction:column;background:#080d20;color:#fff}.crm-brand{display:flex;align-items:center;gap:13px;padding:0 12px 22px;color:#fff;text-decoration:none}.crm-brand img{width:38px;height:52px;object-fit:contain}.crm-brand span{display:flex;flex-direction:column}.crm-brand strong{font-size:.92rem;letter-spacing:.04em}.crm-brand small{margin-top:3px;color:#8996b5;font-size:.68rem}.side-nav{display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;height:44px;padding:0 12px;border:0;border-radius:13px;display:flex;align-items:center;gap:12px;background:transparent;color:#9da9c4;text-align:left;cursor:pointer;transition:.2s}.nav-item>span{width:22px;color:#7181a8;font-size:1.15rem;text-align:center}.nav-item>b{margin-left:auto;min-width:23px;padding:2px 7px;border-radius:999px;background:#17244a;color:#82aaff;font-size:.7rem;text-align:center}.nav-item:hover{background:#111a34;color:#fff}.nav-item.active{background:linear-gradient(115deg,#225cd6,#3e7df4);color:#fff;box-shadow:0 9px 22px rgba(31,91,223,.28)}.nav-item.active span{color:#fff}.nav-item.active b{background:rgba(255,255,255,.18);color:#fff}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:7px}.lk-link{margin:3px 5px 10px;padding:12px;border:1px solid #253153;border-radius:13px;color:#aab6d0;text-decoration:none}.lk-link span{margin-right:9px;color:#75a5ff}.profile-mini{display:flex;align-items:center;gap:10px;margin-top:5px;padding:13px 9px 0;border-top:1px solid #1d2743}.avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#84bfff,#2e69e8);color:#fff;font-size:.74rem;font-weight:800}.profile-mini div{min-width:0;display:flex;flex-direction:column}.profile-mini strong{font-size:.77rem}.profile-mini small{color:#7785a7;font-size:.68rem}.profile-mini button{margin-left:auto;border:0;background:none;color:#7886a8;cursor:pointer}.workspace{min-height:100vh;margin-left:248px}.topbar{position:sticky;top:0;z-index:20;height:74px;padding:0 32px;display:flex;align-items:center;gap:20px;border-bottom:1px solid rgba(211,221,237,.85);background:rgba(244,247,252,.88);backdrop-filter:blur(18px)}.menu-button{display:none;border:0;background:none;font-size:1.4rem}.global-search{width:min(480px,45vw);height:42px;padding:0 15px;display:flex;align-items:center;gap:9px;border:1px solid #dbe3f0;border-radius:13px;background:#fff}.global-search span{font-size:1.2rem;color:#7e8ba2}.global-search input{width:100%;border:0;outline:0;color:#1c2740;background:transparent}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-button{position:relative;width:42px;height:42px;border:1px solid #dbe3f0;border-radius:13px;background:#fff;cursor:pointer}.icon-button b{position:absolute;right:-4px;top:-4px;width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--paper);border-radius:50%;background:var(--red);color:#fff;font-size:.58rem}.primary-button,.secondary-button{min-height:42px;padding:0 18px;border-radius:13px;font-weight:750;cursor:pointer;transition:.2s}.primary-button{border:0;background:linear-gradient(120deg,#2d69e7,#4e83ee);color:#fff;box-shadow:0 8px 20px rgba(47,104,230,.18)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(47,104,230,.25)}.secondary-button{border:1px solid #d8e0ee;background:#fff;color:#25314c}.content{padding:30px 32px 55px}.view{display:none}.view.active{display:block;animation:view-in .32s ease both}@keyframes view-in{from{opacity:0;transform:translateY(7px)}}.page-heading{margin-bottom:25px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-heading h1{margin:2px 0 7px;font-size:clamp(2rem,3vw,2.7rem);line-height:1;letter-spacing:-.045em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{margin:0!important;color:#3973de!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.14em!important;text-transform:uppercase}.heading-actions{display:flex;gap:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric{min-height:134px;padding:20px 21px;display:flex;align-items:flex-start;justify-content:space-between;border:1px solid #e0e7f2;border-radius:20px;background:var(--card);box-shadow:0 8px 30px rgba(36,66,119,.04)}.metric>div{display:flex;flex-direction:column}.metric span{color:#657188;font-size:.78rem}.metric strong{margin-top:10px;font-size:1.82rem;line-height:1.05;letter-spacing:-.035em}.metric small{margin-top:10px;color:#8792a7;font-size:.69rem}.metric i{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eff4ff;color:#3978ee;font-style:normal;font-size:1.15rem}.metric.accent{border-color:#3978ee;background:linear-gradient(135deg,#1553ca,#397cf2);color:#fff}.metric.accent span,.metric.accent small{color:#c9dbff}.metric.accent i{background:rgba(255,255,255,.16);color:#fff}.metric .positive{color:var(--green)}.metric-grid.compact .metric{min-height:108px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px;margin-top:18px}.dashboard-grid.lower{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.panel{border:1px solid #e0e7f1;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.panel-head{padding:23px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h2{margin:3px 0 0;font-size:1.25rem;letter-spacing:-.025em}.text-button,.round-button{border:0;background:none;color:#356bd6;font-weight:750;cursor:pointer}.round-button{width:34px;height:34px;border-radius:10px;background:#edf3ff;font-size:1.25rem}.lesson-list{padding:0 24px 13px}.lesson{min-height:72px;display:grid;grid-template-columns:52px 4px minmax(190px,1fr) 180px 95px;align-items:center;gap:13px;border-top:1px solid #edf0f6}.lesson time{font-size:.85rem;font-weight:800}.lesson-line{width:4px;height:39px;border-radius:99px}.lesson-line.blue{background:#3978ee}.lesson-line.cyan{background:#36bce8}.lesson-line.navy{background:#13285d}.lesson-line.lilac{background:#8468e8}.lesson strong{font-size:.84rem}.lesson p{margin:3px 0 0;color:#778297;font-size:.72rem}.lesson em{padding:6px 9px;border-radius:9px;background:#f3f6fb;color:#6c778c;font-size:.68rem;font-style:normal;text-align:center}.teacher-chip{display:flex;align-items:center;gap:8px;color:#4f5c73;font-size:.72rem}.teacher-chip span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e8effd;color:#315ead;font-size:.56rem;font-weight:800}.tasks-panel{padding-bottom:13px}.task{position:relative;min-height:69px;margin:0 20px;padding:12px 0;display:flex;align-items:flex-start;gap:11px;border-top:1px solid #edf0f6;cursor:pointer}.task input{position:absolute;opacity:0}.task>span{width:20px;height:20px;margin-top:1px;border:1.5px solid #cbd5e5;border-radius:6px}.task input:checked+span{background:#3978ee;border-color:#3978ee;box-shadow:inset 0 0 0 5px #3978ee}.task input:checked~div{text-decoration:line-through;opacity:.5}.task div{display:flex;flex-direction:column}.task strong{font-size:.8rem}.task p{margin:3px 0 0;color:#7b8699;font-size:.69rem}.task>b{margin-left:auto;padding:4px 7px;border-radius:7px;background:#fff1f2;color:#dc4f5c;font-size:.58rem}.compact-table{padding:0 24px 18px}.table-row{min-height:58px;display:grid;grid-template-columns:1.4fr 1fr .7fr .75fr;align-items:center;gap:15px;border-top:1px solid #edf0f6;color:#526078;font-size:.75rem}.table-row.table-header{min-height:37px;border:0;color:#929caf;font-size:.63rem;text-transform:uppercase}.table-row>span:first-child{display:flex;flex-direction:column}.table-row b{color:#1b263f}.table-row small{color:#9099aa}.status{width:max-content;padding:5px 9px;border-radius:8px;font-size:.65rem;font-weight:750}.status.new{background:#e9f1ff;color:#2f69d8}.status.contact{background:#fff4dd;color:#b56d0c}.status.trial{background:#e7f8f1;color:#16825b}.capacity-panel .panel-head>strong{font-size:1.55rem}.bars{height:150px;padding:15px 24px 5px;display:flex;align-items:end;justify-content:space-between;gap:10px}.bars div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px}.bars i{width:100%;height:var(--h);max-width:29px;border-radius:8px 8px 3px 3px;background:linear-gradient(#4c87f1,#2764dd)}.bars span{color:#8490a4;font-size:.65rem}.panel-note{margin:13px 24px 22px;color:#778297;font-size:.72rem}.filter-bar{margin-bottom:14px;display:flex;gap:10px}.filter-bar.inset{margin:0;padding:20px;border-bottom:1px solid #e8edf5}.filter-bar label{min-width:280px;height:42px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid #dce3ef;border-radius:12px;background:#fff;color:#7c899e}.filter-bar input{width:100%;border:0;outline:0;background:transparent}.filter-bar select{padding:0 13px;border:1px solid #dce3ef;border-radius:12px;background:#fff;color:#526078}.data-panel{overflow:hidden}.data-table{padding:0 20px 12px}.data-row{min-height:65px;display:grid;grid-template-columns:1.3fr 1fr .75fr 1fr .8fr 28px;align-items:center;gap:16px;border-top:1px solid #e9edf4;color:#536078;font-size:.78rem}.data-row.data-head{min-height:44px;border:0;color:#8994a7;font-size:.64rem;text-transform:uppercase}.data-row>span:first-child{display:flex;flex-direction:column}.data-row b{color:#17223a}.data-row small{color:#8e98aa}.data-row select{width:max-content;padding:6px 8px;border:0;border-radius:8px;background:#edf3ff;color:#2d64cf}.row-more{border:0;background:none;color:#758198;cursor:pointer}.calendar-panel{padding:20px;overflow:auto}.calendar-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:17px}.calendar-toolbar>button,.calendar-toolbar div button{height:34px;padding:0 12px;border:1px solid #dbe3ef;background:#fff;cursor:pointer}.calendar-toolbar>button{border-radius:10px}.calendar-toolbar strong{margin-right:auto}.calendar-toolbar div{display:flex}.calendar-toolbar div button:first-child{border-radius:10px 0 0 10px}.calendar-toolbar div button:last-child{border-radius:0 10px 10px 0}.calendar-toolbar div .active{background:#eaf1ff;color:#2e68dc}.week-grid{min-width:820px;display:grid;grid-template-columns:58px repeat(7,1fr);border:1px solid #e2e8f1;border-radius:16px;overflow:hidden}.week-cell{position:relative;min-height:72px;padding:7px;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.week-cell.head{min-height:52px;background:#f6f8fc;text-align:center}.week-cell.time{color:#8994a8;font-size:.65rem;text-align:center}.calendar-event{padding:7px;border-left:3px solid #3978ee;border-radius:7px;background:#eaf1ff;color:#285bbd;font-size:.62rem;font-weight:750}.placeholder-panel{min-height:380px;padding:50px;display:grid;place-items:center;align-content:center;text-align:center}.big-mark{width:75px;height:75px;display:grid;place-items:center;border-radius:23px;background:#eaf1ff;color:#3978ee;font-size:2rem}.placeholder-panel h2{margin:20px 0 8px}.placeholder-panel p{max-width:600px;margin:0 0 25px;color:#68758a}.finance-chart{padding-bottom:20px}.finance-chart svg{width:100%;height:260px;padding:0 20px}.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.teacher-card{padding:23px}.teacher-card header{display:flex;align-items:center;gap:13px}.teacher-card .avatar{width:50px;height:50px}.teacher-card h2{margin:0;font-size:1rem}.teacher-card header p{margin:4px 0 0;color:#728096;font-size:.72rem}.teacher-stats{margin-top:20px;padding-top:17px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e8edf5}.teacher-stats div{display:flex;flex-direction:column}.teacher-stats strong{font-size:1.05rem}.teacher-stats span{color:#8792a5;font-size:.62rem}.load{height:7px;margin-top:17px;border-radius:99px;background:#e8edf5;overflow:hidden}.load i{display:block;height:100%;width:var(--load);border-radius:inherit;background:#3978ee}.messenger{height:650px;display:grid;grid-template-columns:330px 1fr;overflow:hidden}.messenger>aside{border-right:1px solid #e2e8f1}.chat-item{width:100%;padding:17px 18px;display:flex;align-items:center;gap:11px;border:0;border-bottom:1px solid #edf0f5;background:#fff;text-align:left;cursor:pointer}.chat-item.active{background:#edf3ff}.chat-item div{min-width:0;display:flex;flex-direction:column}.chat-item strong{font-size:.78rem}.chat-item small{overflow:hidden;color:#7f899c;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.chat-item time{margin-left:auto;color:#9aa3b2;font-size:.6rem}.chat-window{display:flex;flex-direction:column}.chat-title{height:70px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e8edf4}.chat-title div{display:flex;flex-direction:column}.chat-title small{color:#7c879b}.chat-body{flex:1;padding:25px;display:flex;flex-direction:column;gap:12px;background:#f8faff}.bubble{max-width:65%;padding:12px 15px;border-radius:16px;font-size:.78rem}.incoming{align-self:flex-start;background:#fff;border:1px solid #e3e9f2}.outgoing{align-self:flex-end;background:#3978ee;color:#fff}.chat-compose{padding:15px;display:flex;gap:9px;border-top:1px solid #e5eaf2}.chat-compose input{flex:1;padding:0 14px;border:1px solid #dbe3ef;border-radius:12px}.chat-compose button{padding:0 18px;border:0;border-radius:12px;background:#3978ee;color:#fff}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kanban>section{min-height:500px;padding:16px;border-radius:20px;background:#eaf0f9}.kanban header{padding:4px 3px 14px;display:flex;justify-content:space-between}.kanban header b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#d9e4f5;font-size:.67rem}.kanban article{margin-bottom:10px;padding:18px;border:1px solid #e0e7f1;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(33,60,108,.05)}.kanban h3{margin:13px 0 5px;font-size:.87rem}.kanban p{margin:0;color:#7a8699;font-size:.7rem}.kanban article.done{opacity:.65}.tag{padding:5px 8px;border-radius:7px;background:#eef2f7;color:#637086;font-size:.58rem;font-weight:800}.tag.urgent{background:#fff0f1;color:#dd4f5d}.tag.blue{background:#eaf1ff;color:#316bd8}.tag.green{background:#e6f7f0;color:#17815d}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-grid article{padding:23px;display:flex;flex-direction:column}.report-grid span{color:#657187}.report-grid strong{margin:13px 0;font-size:2rem}.report-grid small{margin-top:9px;color:#7f8b9f}.progress{height:8px;border-radius:99px;background:#e9eef6;overflow:hidden}.progress i{display:block;height:100%;border-radius:99px;background:#3978ee}.direction-report{margin-top:18px;padding-bottom:20px}.direction-line{padding:12px 24px;display:grid;grid-template-columns:1fr 2fr 80px 120px;align-items:center;gap:18px;border-top:1px solid #edf0f5;font-size:.77rem}.direction-line .progress{height:7px}.settings-grid{display:grid;grid-template-columns:260px 1fr;gap:17px}.settings-menu{padding:10px;height:max-content}.settings-menu button{width:100%;height:43px;padding:0 13px;border:0;border-radius:11px;background:none;color:#637087;text-align:left;cursor:pointer}.settings-menu button.active{background:#eaf1ff;color:#2b64d3;font-weight:750}.settings-form{padding:27px}.settings-form h2{margin:0 0 19px;font-size:1.15rem}.settings-form h2:not(:first-child){margin-top:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:#5e6b80;font-size:.73rem;font-weight:700}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:11px 12px;border:1px solid #d9e1ed;border-radius:11px;background:#fff;outline:none;color:#1d2941}.form-grid textarea{min-height:90px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6c9af1;box-shadow:0 0 0 3px rgba(57,120,238,.11)}.modal{width:min(600px,calc(100% - 28px));padding:0;border:0;border-radius:24px;box-shadow:0 30px 100px rgba(5,12,30,.35)}.modal::backdrop{background:rgba(5,10,25,.56);backdrop-filter:blur(4px)}.modal form{padding:25px}.modal-head{display:flex;justify-content:space-between;margin-bottom:25px}.modal-head h2{margin:4px 0 0}.modal-head button{width:36px;height:36px;border:0;border-radius:10px;background:#eff3f8;font-size:1.25rem}.modal-actions{margin-top:23px;display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;right:24px;bottom:24px;z-index:100;padding:13px 17px;border-radius:13px;background:#0d1835;color:#fff;box-shadow:0 16px 45px rgba(7,14,32,.3);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}
@media(max-width:1200px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.teacher-grid{grid-template-columns:1fr 1fr}.lesson{grid-template-columns:52px 4px 1fr 160px}.lesson em{display:none}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 60px rgba(4,9,23,.35)}.workspace{margin-left:0}.menu-button{display:block}.topbar{padding:0 20px}.content{padding:24px 20px 45px}.global-search{width:min(400px,55vw)}.messenger{grid-template-columns:270px 1fr}.settings-grid{grid-template-columns:1fr}.settings-menu{display:flex;overflow:auto}.settings-menu button{min-width:max-content}}
@media(max-width:650px){body{font-size:14px}.topbar{height:66px}.global-search{display:none}.top-actions .primary-button{padding:0 12px;font-size:.72rem}.content{padding:20px 14px 40px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:2rem}.metric-grid,.teacher-grid,.report-grid,.kanban{grid-template-columns:1fr}.metric{min-height:105px}.dashboard-grid{gap:13px}.lesson{grid-template-columns:46px 3px 1fr}.teacher-chip{display:none}.panel-head{padding:20px}.filter-bar{overflow:auto}.filter-bar label{min-width:230px}.data-panel{overflow:auto}.data-table{min-width:760px}.messenger{height:680px;grid-template-columns:1fr}.messenger>aside{max-height:210px;overflow:auto;border-right:0;border-bottom:1px solid #e2e8f1}.chat-item{padding:11px 15px}.settings-form{padding:20px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.direction-line{grid-template-columns:1fr 1.2fr 50px}.direction-line span:last-child{display:none}.sidebar{width:min(280px,88vw)}}
.lesson em.room-chip{display:inline-flex;align-items:center;justify-content:center;min-width:90px;border:1px solid var(--room-color);background:color-mix(in srgb,var(--room-color) 12%,white);color:#17223a;font-weight:750}.lesson em.room-chip::before{content:"";width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--room-color)}#studentsTable .data-row{grid-template-columns:1.2fr .5fr 1.1fr .9fr 1.1fr 100px}#studentsTable .data-row>span:nth-child(3),#studentsTable .data-row>span:nth-child(5){overflow-wrap:anywhere}.direction-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.direction-checks label{padding:12px;display:flex;align-items:center;gap:9px;border:1px solid #dfe6f2;border-radius:12px;cursor:pointer}.direction-checks input{accent-color:#3978ee}@media(max-width:1200px){.lesson em.room-chip{display:inline-flex}}@media(max-width:650px){.lesson{grid-template-columns:46px 3px 1fr 90px;gap:8px}.lesson em.room-chip{min-width:0;font-size:.6rem}.direction-checks{grid-template-columns:1fr}#studentsTable{min-width:900px}}
.payment-direction{display:block;margin-top:3px;color:#7d8ba0;font-size:.7rem}
@media(max-width:1200px){.lesson{grid-template-columns:52px 4px minmax(170px,1fr) 150px 100px}}@media(max-width:650px){.lesson{grid-template-columns:46px 3px minmax(0,1fr) 90px}.lesson .room-chip{grid-column:4}}
[hidden]{display:none!important}.task-card{width:100%;margin-bottom:10px;padding:18px;border:1px solid #e0e7f1;border-radius:16px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(33,60,108,.05)}.task-card:hover,.task-archive-item:hover{border-color:#8eb3f6}.task-card.done{opacity:.72}.task-card h3{margin:13px 0 5px;font-size:.95rem}.task-card p{margin:0;color:#7a8699;font-size:.82rem}.task-empty{margin:15px 4px;color:#8490a4;font-size:.82rem}.task-archive{padding-bottom:16px}.task-archive-item{width:calc(100% - 40px);margin:0 20px;padding:14px 16px;display:flex;justify-content:space-between;gap:15px;border:1px solid #e0e7f1;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.task-archive-item+.task-archive-item{margin-top:9px}.task-archive-item span{color:#738096}.task-archive .task-empty{margin:10px 24px}@media(max-width:650px){.task-archive-item{flex-direction:column}}
.task-client-field{position:relative;display:flex;flex-direction:column;gap:7px;color:#5e6b80;font-size:.73rem;font-weight:700}.task-client-field>input{width:100%;padding:11px 12px;border:1px solid #d9e1ed;border-radius:11px;background:#fff;color:#1d2941;outline:none}.task-client-field>input:focus{border-color:#6c9af1;box-shadow:0 0 0 3px rgba(57,120,238,.11)}.task-client-suggestions{position:absolute;top:100%;left:0;right:0;z-index:2;margin-top:4px;padding:5px;border:1px solid #d9e1ed;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(24,54,111,.16);max-height:240px;overflow:auto}.task-client-suggestions button{width:100%;padding:9px 11px;display:flex;flex-direction:column;gap:2px;border:0;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.task-client-suggestions button:hover,.task-client-suggestions button:focus{background:#edf3ff;outline:none}.task-client-suggestions strong{color:#17223a;font-size:.82rem}.task-client-suggestions small{color:#7b879a;font-size:.7rem;font-weight:400}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Report period controls and exports. */
.export-actions{display:flex;gap:9px}.report-filters{margin-bottom:16px;padding:18px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}.period-tabs{display:flex;padding:4px;border-radius:13px;background:#edf2f9}.period-tabs button{min-height:35px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#67758b;font-weight:750;cursor:pointer}.period-tabs button.active{background:#fff;color:#2f68d8;box-shadow:0 5px 15px rgba(37,68,121,.11)}.date-range{display:flex;align-items:end;gap:9px}.date-range label{display:flex;flex-direction:column;gap:4px;color:#778398;font-size:.64rem;font-weight:750}.date-range input{height:38px;padding:0 10px;border:1px solid #d9e1ed;border-radius:10px;background:#fff;color:#25314a}.date-range>span{padding-bottom:9px;color:#8894a7}.date-range .secondary-button{min-height:38px}.report-filters>p{flex-basis:100%;margin:0;color:#657289;font-size:.73rem}.report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.report-summary article{padding:20px 22px;display:flex;flex-direction:column}.report-summary span{color:#6d798e;font-size:.72rem}.report-summary strong{margin-top:9px;font-size:1.55rem;letter-spacing:-.035em}.report-range-caption{color:#7e899d;font-size:.7rem}
@media(max-width:1000px){.report-filters{align-items:flex-start;flex-direction:column}.report-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.export-actions{width:100%}.export-actions button{flex:1}.period-tabs{width:100%}.period-tabs button{flex:1;padding:0 8px}.date-range{width:100%;align-items:stretch;flex-wrap:wrap}.date-range label{flex:1;min-width:130px}.date-range>span{display:none}.date-range .secondary-button{width:100%}.report-summary{grid-template-columns:1fr 1fr;gap:12px}.report-summary article{padding:17px}.report-summary strong{font-size:1.25rem}}

/* Multi-room schedule */
.calendar-legend{margin:-3px 0 16px;display:flex;flex-wrap:wrap;gap:8px 16px;color:#66738a;font-size:.72rem}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:9px;height:9px;border-radius:50%}.calendar-legend .piano{background:#3978ee}.calendar-legend .vocal{background:#8b62df}.calendar-legend .guitar{background:#18a981}.calendar-legend .drums{background:#ec8a36}.calendar-legend .free{border:1px solid #b9c4d5;background:#fff}.schedule-week{min-width:1080px;display:grid;grid-template-columns:62px repeat(7,minmax(140px,1fr));border:1px solid #e2e8f1;border-radius:16px;overflow:hidden}.schedule-cell{min-height:106px;padding:6px;border:0;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;background:#fff}.schedule-cell.head{min-height:58px;padding:12px 7px;background:#f6f8fc;text-align:center}.schedule-cell.head[data-schedule-day]{cursor:pointer}.schedule-cell.head[data-schedule-day]:hover{background:#eaf1ff;color:#2e68dc}.schedule-cell.head small{display:block;margin-top:2px;color:#8390a4;font-weight:500}.schedule-cell.time{padding-top:11px;color:#8994a8;font-size:.68rem;text-align:center;background:#fbfcfe}.room-events{display:grid;gap:4px}.room-event{min-width:0;padding:5px 6px;border-left:3px solid var(--event-color);border-radius:6px;background:var(--event-bg);color:#27334b;font-size:.64rem;line-height:1.22;cursor:pointer}.room-event b{display:block;overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.room-event span{display:flex;justify-content:space-between;gap:5px;color:#68748b}.room-event em{font-style:normal}.room-event.piano{--event-color:#3978ee;--event-bg:#eaf1ff}.room-event.vocal{--event-color:#8b62df;--event-bg:#f1ebff}.room-event.guitar{--event-color:#18a981;--event-bg:#e8f8f3}.room-event.drums{--event-color:#ec8a36;--event-bg:#fff2e6}.room-event.violin{--event-color:#d05a8a;--event-bg:#fff0f6}.room-event.development{--event-color:#35a7bc;--event-bg:#e9f8fb}.day-schedule{min-width:900px;display:grid;grid-template-columns:72px repeat(4,minmax(190px,1fr));border:1px solid #e2e8f1;border-radius:16px;overflow:hidden}.day-cell{min-height:104px;padding:8px;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.day-cell.head{position:sticky;top:0;z-index:2;min-height:68px;background:#f6f8fc;text-align:center}.day-cell.head strong,.day-cell.head small{display:block}.day-cell.head small{margin-top:3px;color:#7d899c;font-size:.66rem}.day-cell.time{padding-top:12px;background:#fbfcfe;color:#8994a8;font-size:.7rem;text-align:center}.day-event{height:100%;padding:9px 10px;border-top:4px solid var(--event-color);border-radius:10px;background:var(--event-bg);font-size:.7rem}.day-event strong{display:block;margin-bottom:4px;font-size:.76rem}.day-event span,.day-event small{display:block;color:#657187}.day-event small{margin-top:7px}.day-event.piano{--event-color:#3978ee;--event-bg:#eaf1ff}.day-event.vocal{--event-color:#8b62df;--event-bg:#f1ebff}.day-event.guitar{--event-color:#18a981;--event-bg:#e8f8f3}.day-event.drums{--event-color:#ec8a36;--event-bg:#fff2e6}.day-event.violin{--event-color:#d05a8a;--event-bg:#fff0f6}.day-event.development{--event-color:#35a7bc;--event-bg:#e9f8fb}.free-room{height:100%;display:grid;place-items:center;border:1px dashed #d5deeb;border-radius:10px;color:#9aa5b6;font-size:.68rem}.occupancy{display:inline-flex;margin-top:5px;padding:2px 7px;border-radius:99px;background:#e5ecf7;color:#627087;font-size:.6rem}
@media(max-width:800px){.calendar-panel{padding:14px}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar strong{order:-1;width:100%;font-size:.92rem}.schedule-view-switch{margin-left:auto}.calendar-legend{gap:7px 11px}.schedule-week{min-width:980px}.schedule-cell{min-height:100px}}

/* Room settings */
.settings-tab{display:none}.settings-tab.active{display:block}.settings-section-head{margin-bottom:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.settings-section-head h2{margin-bottom:5px}.settings-section-head p{margin:0;color:#738096;font-size:.76rem}.room-settings-list{display:grid;gap:11px}.room-setting{padding:15px 16px;display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(155px,.55fr) 38px;align-items:center;gap:13px;border:1px solid #e3e9f2;border-radius:15px;background:#f9fbfe}.room-color-preview{width:38px;height:38px;border-radius:12px;background:var(--room-color);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 5px 12px color-mix(in srgb,var(--room-color) 24%,transparent)}.room-setting label{display:flex;flex-direction:column;gap:4px;color:#7b879a;font-size:.65rem;font-weight:700}.room-setting input[type="text"]{height:38px;padding:0 11px;border:1px solid #d9e1ed;border-radius:10px;background:#fff;color:#1d2941}.room-color-field{height:38px;padding:4px 7px;display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;border:1px solid #d9e1ed;border-radius:10px;background:#fff}.room-color-field input{width:25px;height:25px;padding:0;border:0;background:none;cursor:pointer}.room-color-field span{color:#536078;font-size:.72rem}.room-delete{width:36px;height:36px;border:1px solid #e1e7f0;border-radius:10px;background:#fff;color:#8b96a8;cursor:pointer}.room-delete:hover{border-color:#f0cbd0;background:#fff2f3;color:#d95160}.settings-empty{min-height:330px;display:grid;place-items:center;align-content:center;text-align:center}.settings-empty>span{font-size:2rem}.settings-empty h2{margin:12px 0 5px}.settings-empty p{margin:0;color:#7b8799}
@media(max-width:650px){.settings-section-head{flex-direction:column}.settings-section-head button{width:100%}.room-setting{grid-template-columns:38px 1fr 36px}.room-setting .room-color-field{grid-column:2/3}.room-delete{grid-column:3;grid-row:1/3}}

/* Payment filters and history */
.payment-filters{margin-bottom:16px;padding:18px 20px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 20px}.payment-filters>p{flex-basis:100%;margin:0;color:#657289;font-size:.73rem}.payment-search{height:42px;min-width:250px;margin-left:auto;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid #d9e1ed;border-radius:12px;background:#fff;color:#7d899e}.payment-search input{width:100%;border:0;outline:0;background:transparent}.payment-history{overflow:hidden}.payment-table{padding:0 22px 14px}.payment-row{min-height:67px;display:grid;grid-template-columns:1.3fr .7fr 1fr .85fr 1fr .8fr;align-items:center;gap:15px;border-top:1px solid #e9edf4;color:#536078;font-size:.76rem}.payment-row.head{min-height:42px;border-top:0;color:#8994a7;font-size:.64rem;text-transform:uppercase}.payment-row>span{min-width:0}.payment-row .payment-person{display:flex;flex-direction:column}.payment-row b{color:#17223a}.payment-row small{display:block;margin-top:3px;color:#8a95a8}.payment-row time{display:flex;flex-direction:column;color:#35435c}.payment-row time small{margin:2px 0 0}.payment-method{width:max-content;padding:5px 8px;border-radius:8px;background:#f0f4fa;color:#536078}.payment-status{width:max-content;padding:5px 9px;border-radius:8px;background:#e7f8f1;color:#16825b;font-size:.67rem;font-weight:750}.payment-empty{padding:45px 20px;border-top:1px solid #edf0f5;color:#7c889b;text-align:center}.payment-metrics .metric strong{font-size:1.55rem}
@media(max-width:1100px){.payment-search{width:100%;margin-left:0}.payment-table{overflow:auto}.payment-row{min-width:880px}}
@media(max-width:650px){.payment-filters{align-items:stretch;flex-direction:column}.payment-filters .period-tabs,.payment-search{width:100%}.payment-metrics{grid-template-columns:1fr 1fr}.payment-history .panel-head{align-items:flex-start;flex-direction:column}.payment-history .panel-head>strong{font-size:1.25rem}}

/* Subscriptions and payment entry */
.subscription-settings-list{display:grid;gap:11px}.subscription-setting{padding:15px 16px;display:grid;grid-template-columns:minmax(170px,1.2fr) 120px 150px 38px;align-items:end;gap:13px;border:1px solid #e3e9f2;border-radius:15px;background:#f9fbfe}.subscription-setting label{display:flex;flex-direction:column;gap:5px;color:#7b879a;font-size:.65rem;font-weight:700}.subscription-setting input{height:38px;padding:0 11px;border:1px solid #d9e1ed;border-radius:10px;background:#fff;color:#1d2941}.subscription-delete{width:36px;height:36px;border:1px solid #e1e7f0;border-radius:10px;background:#fff;color:#8b96a8;cursor:pointer}.subscription-delete:hover{border-color:#f0cbd0;background:#fff2f3;color:#d95160}.payment-summary{margin-top:18px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;border-radius:14px;background:#edf3ff;color:#536078}.payment-summary strong{color:#1f5fd7;font-size:1.35rem}.payment-modal{width:min(680px,calc(100% - 28px))}
@media(max-width:650px){.subscription-setting{grid-template-columns:1fr 1fr 36px}.subscription-setting label:first-child{grid-column:1/-2}.subscription-delete{grid-column:3;grid-row:1/3}.payment-summary{margin-top:14px}}

/* Global CRM search */
.global-search-wrap{position:relative;width:min(520px,48vw)}.global-search-wrap .global-search{width:100%}.global-search-results{position:absolute;left:0;right:0;top:49px;z-index:50;max-height:min(520px,70vh);padding:7px;border:1px solid #dce4f0;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(20,42,84,.2);overflow:auto}.global-search-results[hidden]{display:none}.search-result{width:100%;padding:10px 11px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.search-result:hover,.search-result:focus{background:#edf3ff;outline:0}.search-result-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eaf1ff;color:#3068d5;font-size:.72rem;font-weight:850}.search-result-main{min-width:0;display:flex;flex-direction:column}.search-result-main strong{overflow:hidden;color:#19243c;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.search-result-main small{overflow:hidden;color:#778398;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.search-result-type{padding:4px 7px;border-radius:7px;background:#f2f5fa;color:#758197;font-size:.59rem;font-weight:750}.search-results-title{padding:8px 10px 5px;color:#8a95a7;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.search-no-results{padding:24px 15px;color:#7a8699;text-align:center;font-size:.75rem}.search-hint{padding:9px 10px;color:#8a95a7;font-size:.66rem;border-top:1px solid #edf0f5}
@media(max-width:900px){.global-search-wrap{width:min(400px,55vw)}}
@media(max-width:650px){.global-search-wrap{display:none}}

/* Purchased subscriptions registry */
.subscription-registry{overflow:hidden}.subscription-table{padding:0 22px 14px}.subscription-row{min-height:67px;display:grid;grid-template-columns:1.1fr 1.2fr .8fr .7fr .85fr .78fr 105px;align-items:center;gap:12px;border-top:1px solid #e9edf4;color:#536078;font-size:.75rem}.subscription-row.head{min-height:42px;border-top:0;color:#8994a7;font-size:.63rem;text-transform:uppercase}.subscription-row>span:first-child,.subscription-row>span:nth-child(4){display:flex;flex-direction:column}.subscription-row b{color:#17223a}.subscription-row small{margin-top:2px;color:#8994a7}.subscription-state{width:max-content;padding:5px 8px;border-radius:8px;font-size:.65rem;font-weight:750}.subscription-state.active{background:#e7f8f1;color:#16825b}.subscription-state.ending{background:#fff4dd;color:#b56d0c}.subscription-state.frozen{background:#eaf1ff;color:#2f69d8}.subscription-state.expired{background:#fff0f1;color:#cf4d5a}.subscription-manage{padding:7px 9px;border:1px solid #d9e3f2;border-radius:9px;background:#fff;color:#2d64cf;font-size:.68rem;font-weight:750;cursor:pointer}.subscription-manage:hover{background:#edf3ff}.subscription-modal .modal-head p:last-child{margin:4px 0 0;color:#738096;font-size:.76rem}.subscription-help{margin:18px 0 0;color:#738096;font-size:.72rem}
@media(max-width:1050px){.subscription-table{overflow:auto}.subscription-row{min-width:880px}}
