:root{--brand:#4a6ef5;--accent:#5bc0de;--text-color:#1e293b;--bg-color:#f8f9fa;--card-bg:#fff;--border-color:#ddd;--radius:20px}*,:before,:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif!important}button,a,[role=button]{-webkit-tap-highlight-color:transparent;appearance:none}input[type=date]{font-family:sans-serif!important}button:active,a:active{color:inherit;background-color:inherit}html{font-size:clamp(14px,1.8vw,18px)}h2{color:#000;margin:0!important}body{background:var(--bg-color);color:var(--text-color);margin:0;padding:0;font-family:Inter,sans-serif!important}.app-wrapper{background:var(--bg-color);min-height:100vh;display:flex}.app-main{flex-direction:column;flex-grow:1;display:flex}.app-content{flex-grow:1;margin-right:20px}.header{background:var(--brand);color:#fff;border-bottom:1px solid var(--border-color);border-radius:20px;justify-content:space-between;align-items:center;margin:20px 20px 20px 0;padding:10px 20px;display:flex}.header-left,.header-right{align-items:center;gap:10px;display:flex}.logout-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:6px 12px}.list-grid{-webkit-overflow-scrolling:touch;flex:1;max-height:60vh;padding-right:4px;overflow-y:auto}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:10px;padding:15px}.btn{cursor:pointer;border:none;border-radius:20px;padding:6px 12px}.btn-primary{background:var(--accent);color:color-contrast(var(--brand) vs #333, #fff);text-shadow:0 1px 1px #00000040}.btn-success{color:#fff;background:#28a745}.btn-danger{color:#fff;background:#dc3545}.group-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.group-card{padding:14px 16px;transition:all .25s}.group-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 4px 14px #00000014}.group-name{color:var(--text-color);font-size:16px}.group-end{color:#999;margin-top:4px;font-size:13px}.group-card-page{flex-direction:column;gap:16px;display:flex}.group-info{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:18px;box-shadow:0 1px 3px #0000000d}.group-name{color:var(--text-color);font-size:20px;font-weight:600}.group-date{color:#777;font-size:15px}.group-meta p{margin:4px 0;font-size:14px}.section-title{color:var(--text-color);margin-top:10px;font-size:17px;font-weight:600}.group-students{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.student-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.status{text-transform:lowercase;border-radius:20px;padding:2px 8px;font-size:13px;font-weight:600}.status.active{color:#28a745;background:#28a7451a}.status.inactive{color:#6c757d;background:#6c757d26}.group-info-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:16px;padding:18px}.group-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.group-title{color:var(--text-color);font-size:1.2rem;font-weight:600}.group-date{color:#777;font-size:.95rem;font-weight:500}.group-info-card p{margin:6px 0;font-size:.95rem}.group-student-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:14px;transition:all .25s}.group-student-card:hover{transform:translateY(-3px);box-shadow:0 4px 10px #00000014}.group-student-card strong{color:var(--text-color);margin-bottom:4px;font-size:15px;display:block}.data-table{border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);width:100%;min-width:900px}.data-table th{background:#f5f6f8;font-weight:500}.data-table tr{border-bottom:1px solid var(--border-color)}.group-student-card p{color:#555;margin:2px 0;font-size:13.5px}.data-table td:nth-child(2),.data-table td:nth-child(3){color:#333;font-size:14px}.data-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table-wrapper::-webkit-scrollbar{height:6px}.data-table-wrapper::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.profile-actions{align-items:center;gap:10px;display:flex}.icon-btn{cursor:pointer;background:0 0;border:1px dashed #eee;border-radius:10px;padding:10px;transition:background .2s}.icon-btn svg{fill:var(--brand);vertical-align:middle}.icon-btn:hover svg{fill:var(--accent)}.icon-btn.delete:hover{background-color:#ffcdcc;border-color:#ffcdcc}.student-card-container{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 8px #0000001a}.actions{align-items:center;gap:10px;display:flex}.tabs{margin:20px 0}.tabs button{cursor:pointer;background:#f7f7f7;border:1px solid #ccc;border-radius:20px;margin-right:10px;padding:6px 14px}.tabs button.active{background:#e1e9ff;border-color:#4a6ef5}.lessons-table{border-collapse:collapse;width:100%}.lessons-table th,.lessons-table td{border:1px solid #ddd;padding:8px}.warning{color:#b30000;margin-top:10px;font-weight:700}.student-name,.teacher-name{color:#1e293b;font-weight:600}@media (max-width:768px){.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff80;border-radius:16px;justify-content:space-between;align-items:center;margin:10px;transition:all .3s;display:flex;box-shadow:0 4px 16px #0000001a}.header-left h2{margin:0;font-size:16px}.logout-btn{padding:4px 10px;font-size:13px}.app-content{padding:10px}.card{padding:10px;font-size:14px}}.bottom-nav{display:none}@media (max-width:1024px){.lessons-header{align-items:flex-start!important}.app-content{margin:0}.sidebar{display:none}.bottom-nav{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:1000;background:#ffffffd9;border:1px solid #ffffff80;border-start-start-radius:20px;border-start-end-radius:20px;justify-content:space-around;align-items:center;width:100%;height:64px;transition:all .3s;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001a}.bottom-nav-item{text-align:center;color:var(--text-color);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:500;text-decoration:none;transition:all .25s;display:flex}.bottom-nav-item svg{fill:var(--text-color);margin-bottom:4px;transition:fill .25s;display:block}.bottom-nav-item.active{color:var(--brand);font-weight:600}.bottom-nav-item.active svg{fill:var(--brand);transform:scale(1.1)}.app-content{padding-bottom:100px}.bottom-nav-item:active{transform:scale(.95)}}@media (max-width:480px){.sidebar{flex-direction:column}.data-table td{font-size:.2em}.sidebar-item{text-align:left;width:100%;padding:8px;font-size:13px}.header{padding:15px}.header-left h2{font-size:15px}.logout-btn{padding:4px 8px;font-size:12px}.card{border-radius:10px}}.student-dashboard{display:flex}.link-btn{color:#333;cursor:pointer;background:0 0;border:none;padding:10px;font-weight:700}.link-btn:hover{border:1px solid #333}.student-menu{background:#fff;border-right:1px solid #ddd;width:220px;padding:20px}.student-menu h3{margin-bottom:15px}.student-menu ul{padding:0;list-style:none}.student-menu li{cursor:pointer;border-radius:6px;margin-bottom:6px;padding:8px 10px}.student-menu li.active{color:#2c5afc;background:#e2ebff;font-weight:700}.student-content{background:#fff;flex-grow:1;padding:25px}.student-home{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.dashboard-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d}.dashboard-card h3{color:var(--brand,#4a6ef5);align-items:center;gap:8px;margin-bottom:10px;display:flex}.progress-fill{background:var(--brand,#4a6ef5);height:100%}.warning{color:#dc2626;font-weight:600}.student-home{color:var(--text-color);background:#f9fafb;grid-template-columns:2fr 1fr;gap:24px;display:grid}.card h3,.card h4{color:var(--brand);align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.progress-ring{justify-content:center;margin:10px 0;display:flex}.progress-inner{background:conic-gradient(var(--brand) 0deg, #eee 0deg);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;font-weight:600;display:flex}.btn,.btn-outline{cursor:pointer;border-radius:6px;width:100%;margin-top:6px;padding:8px 0;font-size:14px;transition:background .2s}.btn{background:var(--brand);color:#fff;border:none}.btn:hover{background:var(--accent)}.btn-outline{border:1px solid var(--brand);color:var(--brand);background:0 0}.btn-outline:hover{background:var(--brand);color:#fff}@media (max-width:768px){.student-home{grid-template-columns:1fr;gap:10px}}.fc-toolbar-title{color:var(--brand,#4a6ef5);font-weight:600;font-size:16px!important}.fc-daygrid-day:hover{background:#f9fafb}.lesson-event{background:var(--accent,#e0e7ff);border-left:3px solid var(--brand,#4a6ef5);border-radius:4px}.fc-daygrid-day-number{color:#475569;font-size:12px}.fc-button-group{align-items:center;gap:10px;display:flex}.fc-theme-standard td,.fc-theme-standard th{border-color:#0000000d}.student-calendar-full{flex-direction:column;height:calc(100vh - 220px);display:flex}.student-calendar-full .fc{flex:1}.fc-scroller{overflow:hidden auto!important}.fc{color:var(--text-color,#1e293b);font-family:Segoe UI,Roboto,sans-serif}.fc-toolbar-title{color:var(--brand);font-size:16px;font-weight:600}.fc-button{background:var(--brand)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:4px 10px!important;font-size:13px!important}.fc-timegrid-slot{height:40px!important}.fc-event{color:#1e293b;background:#ddd;border-radius:6px;padding:2px 4px;font-size:13px}.fc-timegrid-axis-cushion{color:#64748b;font-size:11px}.block{margin:0}.mobile-block{background:#f5f7fb;justify-content:center;align-items:center;width:100%;height:100vh;padding:20px;display:flex}.mobile-block-content{text-align:center;max-width:320px}.mobile-block-logo{opacity:.85;width:90px;height:90px;margin-bottom:20px}.mobile-block h2{color:#1a1a1a;margin-bottom:12px;font-size:22px;font-weight:600}.mobile-block p{color:#555;font-size:16px;line-height:1.4}.mobile-block-actions{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.mbtn{cursor:pointer;border-radius:14px;outline:none;width:100%;max-width:320px;padding:12px 14px;font-size:15px;font-weight:800;transition:transform 80ms,box-shadow .12s,background .12s,border-color .12s}.mbtn:active{transform:translateY(1px)}.mbtn-primary{border:1px solid color-mix(in srgb, var(--brand) 55%, #000 0%);background:var(--brand);color:#fff;box-shadow:0 10px 18px #0000001a}.mbtn-primary:hover{box-shadow:0 12px 22px #00000024}.mbtn-primary:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 25%, transparent)}.mbtn-ghost{color:#000000c7;background:#fff;border:1px solid #0000001a}.mbtn-ghost:hover{background:#00000008;border-color:#00000029}.dashboard-header{background:var(--brand,#fc0);color:#222;z-index:40;border-radius:20px;justify-content:space-between;align-items:center;height:66px;margin-right:20px;padding:8px 14px;display:flex;position:sticky;top:20px}.menu-btn{cursor:pointer;background:0 0;border:0;font-size:20px;display:none}.header-left{align-items:center;gap:10px;min-width:0;display:flex}.header-logo{object-fit:contain;max-width:42px;max-height:42px}.header-logo.placeholder{background:#fff;border-radius:6px;width:32px;height:32px}.header-school{white-space:nowrap;text-overflow:ellipsis;font-size:1.5em;font-weight:700;overflow:hidden}.header-right{align-items:center;gap:12px;display:flex}.user-box{align-items:center;gap:8px;display:flex}.user-avatar{object-fit:cover;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:inline-flex}.user-avatar.placeholder{color:#fff;background:#222}.user-name{font-size:14px;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background:#222;border:0;border-radius:6px;padding:6px 10px}.logout-btn.icon-only{color:var(--accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;font-size:42px;transition:all .2s;display:flex}.logout-btn.icon-only svg{font-size:25px}.logout-btn.icon-only:hover{color:var(--accent);transform:scale(1.15)}@media (max-width:1024px){.menu-btn{display:block}.dashboard-header{border-radius:0;border-end-end-radius:20px;border-end-start-radius:20px;margin:0;padding:5px 10px;top:0}}@media (max-width:768px){.user-avatar,.logout-btn.icon-only{display:none}}.header-bell{cursor:pointer;-webkit-tap-highlight-color:transparent;appearance:none;color:#333;-webkit-text-fill-color:#333;-webkit-user-select:none;user-select:none;background:0 0;border:none;margin-right:14px;font-size:28px;text-decoration:none;position:relative}.bell-badge{color:#fff;background:#ff3b30;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;top:-2px;right:-6px}.sidebar{background:#333;border-radius:20px;flex-direction:column;width:230px;min-height:100vh;margin:20px;padding:15px;transition:transform .25s,width .25s;display:flex}.sidebar-head{color:#444;background:#f7f7f8;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 10px;font-size:14px;font-weight:700;display:flex}.sidebar.collapsed .sidebar-head{flex-direction:column;justify-content:center;align-items:center;display:flex}.collapse-btn{color:#444;cursor:pointer;background:0 0;border:none;padding:6px;font-size:18px}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.sidebar-item{cursor:pointer;color:#f7f7f8;border-radius:20px;align-items:center;gap:8px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.sidebar-item:hover{background:var(--brand);color:color-contrast(var(--brand) vs #333, #fff)}.sidebar-item.active{background:var(--brand);color:#333}.sidebar-icon{text-align:center;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex}.sidebar-item svg{fill:var(--brand);margin:0}.sidebar-item.active svg,.sidebar-item:hover svg{fill:#333}.sidebar.collapsed{width:72px;padding:15px 8px}.sidebar.collapsed .sidebar-head span{display:none}.sidebar.collapsed .sidebar-item{justify-content:center;padding:12px 0;position:relative}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .sidebar-nav{gap:0}.sidebar.collapsed .sidebar-item:hover:after{content:attr(data-label);color:#fff;white-space:nowrap;z-index:999;pointer-events:none;background:#000;border-radius:6px;padding:6px 12px;font-size:13px;position:absolute;top:50%;left:60px;transform:translateY(-50%)}@media (max-width:1024px){.sidebar{z-index:1001;border-radius:0;width:260px;height:100vh;margin:0;position:fixed;top:0;left:0;transform:translate(-120%);box-shadow:0 10px 30px #00000059}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:260px}.sidebar.collapsed .sidebar-item:hover:after{content:none}}.bn-item{color:#333;text-align:center;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:12px;text-decoration:none;display:flex}.bn-item.active{color:#333;background:var(--brand);border-radius:20px;padding:10px 5px}.bottom-more-item{text-align:left;-webkit-tap-highlight-color:transparent;appearance:none;color:#333;-webkit-text-fill-color:#333;-webkit-user-select:none;user-select:none;background:#fafafa;border:1px solid #eee;border-radius:20px;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;text-decoration:none;display:flex}.bn-more{border-left:1px solid #eee}.bottom-more-backdrop{z-index:30;background:#00000061;position:fixed;inset:0}.bottom-more-menu{z-index:40;padding:12px 0;position:fixed;bottom:56px;left:0;right:0}.more-menu-inner{background:#fff;border-radius:20px;flex-wrap:wrap;gap:10px;padding:12px;display:flex;box-shadow:0 -2px 12px #00000026}.bottom-more-item{text-align:left;background:#fafafa;border:1px solid #eee;border-radius:20px;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;display:flex}.bottom-more-item:hover{background:#f2f2f2}.bottom-more-icon{font-size:18px}:root{--brand:#fff8dd;--accent:#d10000;--text-color:#222}.dashboard-layout{display:flex}.dashboard-content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.dashboard-main{border-radius:20px;flex:1;margin:20px 20px 20px 0;overflow:hidden auto}.dashboard-layout.menu-open:after{content:"";z-index:30;background:#00000059;display:none;position:fixed;inset:0}@media (max-width:1024px){.dashboard-layout.menu-open:after{display:block}.dashboard-layout{height:auto}.dashboard-main{margin:0 10px 90px;overflow-y:auto}}.imp-banner{z-index:19999;background:color-mix(in srgb, var(--brand) 12%, #fff);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;position:sticky;top:0}.imp-left{align-items:center;gap:10px;min-width:0;display:flex}.imp-icon{background:#0000000a;border-radius:10px;flex:none;place-items:center;width:28px;height:28px;display:grid}.imp-text{min-width:0;line-height:1.1}.imp-title{color:#000000b3;letter-spacing:.2px;font-size:12px;font-weight:900}.imp-sub{color:#000000d1;white-space:nowrap;text-overflow:ellipsis;max-width:62vw;font-size:13px;overflow:hidden}.imp-role{color:#0000008c;font-weight:700}.imp-btn{border:1px solid color-mix(in srgb, var(--brand) 24%, #0000001a);color:#000c;cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:8px 12px;font-size:13px;font-weight:900;transition:transform 80ms,background .12s,border-color .12s}.imp-btn:active{transform:translateY(1px)}.imp-btn:hover{background:#00000008}@media (max-width:360px){.imp-sub{max-width:56vw;font-size:12px}.imp-btn{padding:8px 10px}}.superadmin-sidebar{color:#fff;background:#1e1e1e;border-radius:20px;flex-direction:column;min-width:230px;min-height:100vh;padding:15px;transition:all .25s;display:flex;position:relative}.superadmin-sidebar.collapsed{min-width:60px;padding:15px 8px}.sa-logout{color:#d9534f;cursor:pointer;background:0 0;border:none;align-items:center;margin-top:20px;display:flex}.sa-logout:hover{background:#d9534f26}.sa-head{background:#2a2a2a;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px;display:flex}.superadmin-sidebar.collapsed .sa-title{display:none}.sa-collapse-btn{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:18px;display:flex}.sa-collapse-btn:hover{opacity:.7}.sa-nav{flex-direction:column;gap:8px;display:flex}.sa-item{color:#fff;border-radius:10px;align-items:center;gap:8px;padding:12px;text-decoration:none;transition:all .15s;display:flex}.sa-item:hover{background:#ffffff1a}.sa-item.active{background:#337ab7}.sa-icon{text-align:center;width:28px;font-size:10px}.superadmin-sidebar.collapsed .sa-label{display:none}.superadmin-sidebar.collapsed .sa-item{justify-content:center;position:relative}.sa-icon{justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:18px;display:flex}.superadmin-sidebar.collapsed .sa-item{justify-content:center}.superadmin-sidebar.collapsed .sa-item:hover:after{content:attr(data-label);color:#fff;white-space:nowrap;z-index:100;background:#000;border-radius:6px;padding:6px 10px;font-size:13px;position:absolute;top:50%;left:55px;transform:translateY(-50%)}.superadmin-layout{padding:20px;display:flex}.superadmin-main{flex:1;padding:20px}.superadmin-main h1{margin:0}@media (max-width:1024px){.superadmin-layout{padding:5px;display:block}.superadmin-layout>:first-child{display:none}.superadmin-main{width:100%;margin:0;padding:0}}.page .btn{width:fit-content}.schools-head{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.schools-head h1{margin:0}.add-btn{color:#fff;background:#2563eb;border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:10px 18px;font-size:15px;transition:all .2s;display:flex}.add-btn:hover{background:#1d4ed8}.schools-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));align-items:stretch;gap:20px;display:grid}.schools-grid .school-card{cursor:pointer;background:#fff;border:1px solid #f1f1f1;border-radius:20px;flex-direction:column;justify-content:space-between;gap:10px;padding:20px;transition:all .25s;display:flex;box-shadow:0 4px 14px #00000014}.school-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.superadmin-dashboard{flex-direction:column;gap:20px;display:flex}.school-card h3{align-items:center;gap:8px;margin:0 0 6px;font-weight:600;display:flex}.school-card h3 svg{color:#2563eb;font-size:18px}.school-card .row{gap:8px;font-size:14px;display:flex}.school-card .row span{color:#6b7280;min-width:90px}.badge-active{color:#166534;background:#ecfdf3}.badge-paused{color:#92400e;background:#fef3c7}.badge-expired{color:#b91c1c;background:#fee2e2}.card-actions{gap:8px;margin-top:10px;display:flex}.btn.small:hover{background:#e9e9e9}.btn.small.danger{color:#b91c1c;background:#fee2e2}.btn.small.block{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.modal{background:#fff;border-radius:18px;width:380px;padding:26px;animation:.25s ease-out modalFade;box-shadow:0 14px 40px #0000002e}@keyframes modalFade{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.loader{padding:20px}.kpi-grid,.activity-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:stretch;gap:20px;display:grid}.school-details{flex-direction:column;gap:20px;display:flex}.school-details .details-head{justify-content:space-between;align-items:center;display:flex}.school-details h1{align-items:center;gap:10px;display:flex}.school-details h1 svg{color:#2563eb}.head-actions{gap:10px;display:flex}.school-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.school-details .school-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 2px 10px #0000000d}.school-details .school-card:hover{box-shadow:none;transform:translateY(0)}.school-card h3{align-items:center;gap:8px;margin-top:0;margin-bottom:12px;display:flex}.info-row{justify-content:space-between;margin-bottom:6px;font-size:14px;display:flex}.info-row span:first-child{color:#6b7280}.colors-block{flex-direction:column;gap:10px;display:flex}.color-item{align-items:center;gap:10px;display:flex}.color-preview{border:1px solid #e5e7eb;border-radius:8px;width:28px;height:28px}.stats-grid{grid-template-columns:1fr;gap:8px;display:grid}.stat-item{justify-content:space-between;font-size:14px;display:flex}.school-details .badge{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:500}.school-details .badge-active{color:#166534;background:#ecfdf3}.school-details .badge-paused{color:#92400e;background:#fef3c7}.school-details .badge-expired{color:#b91c1c;background:#fee2e2}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:380px;padding:26px;box-shadow:0 14px 40px #0000002e}.school-blocked-banner{color:#780a0af2;background:#dc262614;border:1px solid #dc262640;border-radius:12px;align-items:flex-start;gap:12px;margin:12px 0 18px;padding:12px 14px;display:flex}.school-blocked-banner svg{flex:none;margin-top:2px}.muted{opacity:.8;font-size:13px}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #00000014;padding:10px 8px;font-size:14px}.modules-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:16px;display:grid}.module-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 2px 10px #0000000d}.module-card h3{align-items:center;gap:8px;margin-top:0;display:flex}.module-card h3 svg{color:#2563eb}.module-desc{color:#4b5563;margin-bottom:12px;font-size:14px}.switch-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.plan-meta{flex-direction:column;gap:10px;display:flex}.plan-title{margin-top:0}.page-header{justify-content:space-between;align-items:center;display:flex}.plan-card{background:#fff;border-radius:12px;flex-direction:column;justify-content:space-between;padding:20px;display:flex;box-shadow:0 3px 10px #00000014}.btn-add{color:#fff;cursor:pointer;background:#1984ff;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 14px;display:flex}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:20px;display:grid}.plan-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 3px 10px #00000014}.plan-title{align-items:center;gap:8px;display:flex}.unlimited-icon{color:#ff7b00}.status.active{color:#0abf36;font-weight:700}.status.inactive{color:#c00;font-weight:700}.plan-modules,.plan-limits{margin-top:5px;margin-left:0;padding-left:5px;list-style-type:none}.plan-limits{padding-left:0}.plan-card h4{margin-bottom:0}.btn-edit{color:#fff;cursor:pointer;background:#444;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;padding:10px;display:flex}.create-school-page{flex-direction:column;gap:20px;display:flex}.create-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 2px 8px #0000000f}.form-section{flex-direction:column;width:100%;margin-bottom:18px;display:flex}.form-section label{margin-bottom:6px;font-weight:600}.form-section input,.form-section select{border:1px solid #ddd;border-radius:10px;padding:10px 14px}.form-row{gap:20px;display:flex}.save-btn{color:#fff;background:#1984ff;border-radius:20px;width:fit-content;padding:12px 16px;font-weight:600}.btn.secondary{color:#fff;background:#666;width:fit-content}.users-page{flex-direction:column;gap:20px;display:flex}.users-page .users-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.users-page .users-head h1{align-items:center;gap:10px;margin:0;display:flex}.users-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;display:grid}.btn:disabled{opacity:.5;cursor:not-allowed}.users-mobile-bar{display:none}@media (max-width:1024px){.users-mobile-bar{justify-content:flex-end;margin-bottom:12px;display:flex}.users-mobile-exit{color:#000000bf;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:800;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.users-mobile-exit:hover{background:#00000008;border-color:#0000002e}.users-mobile-exit:active{transform:translateY(1px)}.users-mobile-exit svg{font-size:16px}}.users-filters{background:#fff;border-radius:20px;flex-direction:column;gap:20px;margin:12px 0 18px;padding:20px;display:flex}.search-input{background:#fff;border:1px solid #00000014;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 2px 8px #0000000a}.search-input input{color:#000000d9;background:0 0;border:0;outline:none;width:100%;font-size:14px}.search-input svg{opacity:.7}.icon-btn{cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:10px;padding:6px;transition:background .12s,opacity .12s}.icon-btn:hover{opacity:.9;background:#0000000a}.filters-row-adm{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.filters-row-adm .filter-item{flex-direction:column;gap:6px;min-width:160px;display:flex}.filters-row-adm .filter-item label{color:#0009;font-size:12px;font-weight:700}.filters-row-adm .filter-item select{background:#fff;border:1px solid #00000014;border-radius:12px;outline:none;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.filters-row-adm .filter-item select:focus{border-color:color-mix(in srgb, var(--brand) 50%, #00000014);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 30%, transparent)}.filters-row-adm .filters-meta{opacity:.85;font-size:13px}.user-card{background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;gap:10px;padding:18px;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s;display:flex;box-shadow:0 3px 10px #0000000d}.user-card:hover{border-color:#0000001a;transform:translateY(-1px);box-shadow:0 10px 22px #00000012}.user-card.blocked{background:#fef8f8;border:1px solid #dc262629}.user-card h3{justify-content:space-between;align-items:center;gap:10px;margin:0 0 6px;font-size:18px;display:flex}.user-card .row{justify-content:space-between;gap:12px;font-size:14px;display:flex}.user-card .row span{color:#0009;align-items:center;gap:10px;display:flex}.user-card .row strong{color:#000000e0;font-weight:800}.user-status-block{color:#333;background:#f5f6fa;border:1px solid #dcdfe6;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:800;transition:all .25s;display:inline-flex}.user-status-block:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.activation-row .activation-code{letter-spacing:1px;background:#00000005;border:1px dashed #0000002e;border-radius:10px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.used{color:#15803d}.unused{color:#b45309}.blocked-reason strong{color:#b91c1c}.user-card .card-actions{gap:10px;padding-top:12px;display:flex}.btn.small{color:#000000c7;cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;margin:0;padding:0;transition:transform 80ms,background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn.small svg{font-size:16px}.btn.small:hover{background:#00000008;border-color:#00000029;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.btn.small:active{box-shadow:none;transform:translateY(0)}.btn.small:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent);border-color:color-mix(in srgb, var(--brand) 55%, #0000001a);outline:none}.btn.small.danger{color:#b91c1c;background:#fbf1f1;border-color:#b91c1c2e}.btn.small.danger:hover{background:#f8e8e8;border-color:#b91c1c47}.btn.small.block{color:#dc2626;background:#fdf2f2;border-color:#dc26262e}.btn.small.block:hover{background:#fce9e9;border-color:#dc262647}.btn.small.unblock{color:#15803d;background:#f1f7f3;border-color:#15803d2e}.btn.small.unblock:hover{background:#e8f2ec;border-color:#15803d47}.btn.small.key{color:color-mix(in srgb, var(--brand) 70%, #000 0%);border-color:color-mix(in srgb, var(--brand) 25%, #0000001a);background:color-mix(in srgb, var(--brand) 7%, #fff)}.btn.small.key:hover{background:color-mix(in srgb, var(--brand) 12%, #fff);border-color:color-mix(in srgb, var(--brand) 35%, #0000001a)}.reset-password-box{background:#fff7e6;border:1px solid #ffd591;border-radius:12px;margin-top:12px;padding:12px}.temp-password{letter-spacing:1px;text-align:center;background:#fff;border:1px solid #00000014;border-radius:12px;margin-top:8px;padding:12px;font-size:18px;font-weight:900}.actions-dtail{align-items:center;gap:10px;display:flex}@media (max-width:1023px){.users-page{padding:14px}.users-page .users-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px}.users-page .users-head h1{font-size:18px;line-height:1.2}.users-page .add-btn{background:var(--brand);color:#fff;border:1px solid color-mix(in srgb, var(--brand) 60%, #000 0%);border-radius:14px;justify-content:center;width:100%;padding:12px 14px;font-weight:800;box-shadow:0 10px 18px #0000001a}.users-grid{grid-template-columns:1fr;gap:12px}.user-card{border-radius:16px;padding:14px;box-shadow:0 2px 8px #0000000d}.user-card h3{gap:8px;font-size:16px}.user-card .row{font-size:13px}.user-card .row strong{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.user-card .card-actions{gap:10px;padding-top:12px}.btn.small{border-radius:14px;width:44px;height:44px}.user-status-block{border-radius:999px;padding:6px 10px;font-size:12px}.filter-item{min-width:140px}}.limit-card{cursor:help;background:#f9fbff;border:1px solid #dbe3ff;border-radius:10px;margin-bottom:12px;padding:14px;transition:all .25s}.limit-card:hover{background:#eef3ff;border-color:#a5b8ff}.limit-label{margin-bottom:6px;font-size:14px;font-weight:600}.limit-input-wrapper{position:relative}.limit-input{border:1px solid #bfc6e8;border-radius:6px;width:120px;padding:8px 10px;font-size:15px;transition:all .25s}.limit-input:focus{border-color:#5373ff;outline:none;box-shadow:0 0 0 3px #5373ff40}.limit-input.unlimited{text-align:center;color:#666;font-weight:600}.limit-infinity{color:#666;pointer-events:none;position:absolute;top:9px;right:10px}.plan-editor{padding:20px}.plan-editor .page-title{margin-bottom:25px;font-size:28px;font-weight:700}.plan-editor .card{background:#fff;border-radius:14px;flex-direction:column;gap:10px;margin-bottom:30px;padding:22px 26px;display:flex;box-shadow:0 4px 18px #00000012}.card-title{margin-bottom:18px;font-size:20px;font-weight:600}.form-group{margin-bottom:18px}.form-group label{margin-bottom:6px;font-weight:500;display:block}.plan-editor input[type=text],.plan-editor input[type=number]{box-sizing:border-box;border:1px solid #d0d4e4;border-radius:8px;width:100%;padding:10px 12px;font-size:15px;transition:all .25s;display:block}input:focus{border-color:#1984ff;outline:none;box-shadow:0 0 0 3px #1984ff40}.form-grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.checkbox-row{gap:20px;margin-top:10px;display:flex}.module-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.module-item{cursor:pointer;background:#f7f9ff;border:1px solid #dbe3ff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.module-item:hover{background:#eef3ff;border-color:#b7c5ff}.limit-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.btn-save{color:#fff;cursor:pointer;background:#1984ff;border:none;border-radius:10px;width:100%;padding:14px;font-size:17px;font-weight:600;transition:all .25s}.btn-save:hover{background:#0f6dd3}.btn-save:disabled{opacity:.6;cursor:default}.notification{color:#333;z-index:2020;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:260px;padding:12px 18px;font-size:14px;animation:.3s slideIn;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 10px #00000026}.notification.error{color:#b30000;background:#ffeaea;border-left:5px solid #e74c3c}.notification.success{color:#137a1f;background:#eaffea;border-left:5px solid #2ecc71}.notification.info{color:#0b4a7a;background:#ebf5ff;border-left:5px solid #3498db}.close-btn{color:inherit;cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.notification{bottom:10px;left:10px;right:10px}}.storage-main{flex-direction:column;gap:25px;display:flex}h1{align-items:center;gap:10px;margin:0;font-size:32px;display:flex}.storage-main .tabs{gap:12px;margin:0;display:flex}.tabs button{cursor:pointer;background:#f1f1f1;border:none;border-radius:10px;padding:10px 20px;font-weight:600;transition:all .25s}.tabs button:hover{background:#e0e0e0}.tabs .active{background:var(--brand);color:#000!important}.storage-card{background:#fff;border-radius:18px;margin-bottom:20px;padding:22px;box-shadow:0 3px 12px #00000014}.storage-card h2{font-size:22px;font-weight:700;margin-bottom:10px!important}.disk-bar{background:#ececec;border-radius:10px;width:100%;height:12px;margin:8px 0 12px;overflow:hidden}.disk-bar .fill{background:#7a5bff;border-radius:10px;height:100%;transition:width .4s}.disk-stats{flex-wrap:wrap;gap:25px;font-size:15px;display:flex}.sub-info{flex-wrap:wrap;gap:25px;margin-top:12px;font-size:15px;display:flex}.school-row{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:15px}.school-head{justify-content:space-between;margin-bottom:8px;font-size:17px;font-weight:600;display:flex}.school-meta{opacity:.7;margin-top:6px;font-size:14px}.no-limit{opacity:.6;font-style:italic}.progress-bar{background:#e8e8e8;border-radius:8px;width:100%;height:14px;margin:8px 0;overflow:hidden}.progress-bar.small{height:8px}.progress-fill{background:#1984ff;border-radius:8px;height:100%}.progress-fill.green{background:#4caf50}.progress-fill.orange{background:#ff9800}.progress-fill.red{background:#e53935}.table-wrapper{overflow-x:auto}.simple-table{border-collapse:collapse;width:100%;font-size:15px}.simple-table thead{background:#fafafa}.simple-table th{text-align:left;cursor:pointer;border-bottom:2px solid #e5e5e5;padding:12px 10px;font-weight:700}.simple-table td{border-bottom:1px solid #f0f0f0;padding:10px}.btn-delete{color:#fff;cursor:pointer;background:#ff4d4f;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .2s}.btn-delete:hover{background:#e53935}@media (max-width:768px){.tabs{flex-wrap:wrap}.disk-stats,.sub-info{flex-direction:column;gap:10px}.school-head{flex-direction:column;gap:5px}}.logs-tabs{gap:10px;margin-bottom:20px;display:flex}.logs-tabs button{cursor:pointer;background:#eee;border:none;border-radius:20px;padding:8px 14px}.logs-tabs button.active{color:#fff;background:#1984ff}.logs-filters{gap:10px;margin-bottom:20px;display:flex}.logs-filters .btn{margin:0}.logs-filters input,.logs-filters select{border:1px solid #ddd;border-radius:20px;padding:6px 10px}.logs-table-wrapper{background:#fff;border-radius:20px;padding:15px;font-size:15px}.logs-table{border-collapse:collapse;width:100%}.logs-table th{text-align:left;padding-bottom:8px;font-weight:600}.logs-table td{border-top:1px solid #f0f0f0;padding:8px 0}.table-link{color:#1984ff;cursor:pointer;background:0 0;border:none}.log-json{background:#f7f7f7;border-radius:20px;max-height:300px;padding:10px;overflow:auto}.importPage{flex-direction:column;gap:20px;padding:18px 18px 40px;display:flex}.importHeader{margin-bottom:14px}.importTitle{margin:0;font-size:22px;font-weight:700}.importSubtitle{color:#6b7280;margin-top:6px;font-size:14px}.importGrid{grid-template-columns:1.15fr 1fr;gap:14px;margin-top:12px;display:grid}@media (max-width:1100px){.importGrid{grid-template-columns:1fr}}.importCard{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;box-shadow:0 1px 2px #0000000a}.cardTitle{margin-bottom:10px;font-size:15px;font-weight:700}.cardTitleRow{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.rowRight{align-items:center;gap:8px;display:flex}.cardSubTitle{color:#111827;margin:8px 0;font-size:13px;font-weight:700}.importRow{grid-template-columns:160px 1fr;align-items:start;gap:10px;margin-bottom:10px;display:grid}@media (max-width:520px){.importRow{grid-template-columns:1fr}}.importLabel{color:#374151;padding-top:7px;font-size:13px}.importSelect,.importInput,.miniSelect{background:#fff;border:1px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:9px 10px;font-size:14px}.miniSelect{border-radius:9px;padding:6px 8px;font-size:13px}.toggle{align-items:flex-start;gap:10px;display:flex}.toggle input{margin-top:4px}.toggle span{color:#111827;font-size:14px;display:block}.toggle small{color:#6b7280;margin-top:4px;font-size:12px;line-height:1.25;display:block}.flagsTitle{margin:10px 0 8px;font-size:13px;font-weight:700}.flagsGrid{grid-template-columns:1fr;gap:8px;display:grid}.flagItem{background:#fafafa;border:1px solid #eef2f7;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.flagItem input{margin:0}.flagText{color:#111827;font-size:13px}.actionsRow{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.actions-import{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.btn,.btnPrimary,.btnGhost,.btnMini{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;padding:9px 12px;font-size:14px;line-height:1;transition:transform 50ms,background .15s,border-color .15s;display:flex}.btn:hover,.btnGhost:hover,.btnMini:hover{background:#f9fafb}.btn:active,.btnPrimary:active,.btnGhost:active,.btnMini:active{transform:translateY(1px)}.btnPrimary{color:#fff;background:#111827;border-color:#111827}.btnPrimary:hover{background:#0b1220}.btnGhost{background:#fff}.btnMini{border-radius:9px;padding:7px 10px;font-size:13px}.btn[disabled],.btnPrimary[disabled],.btnGhost[disabled],.btnMini[disabled]{opacity:.55;cursor:not-allowed;transform:none}.dropZone{text-align:center;cursor:pointer;background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;padding:18px 14px}.dropZone.isDrag{background:#f3f4f6;border-color:#111827}.dropText{color:#111827;font-size:14px}.dropSub{color:#6b7280;margin-top:6px;font-size:12px}.hiddenInput{display:none}.fileMeta{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.fileName{color:#111827;font-size:13px;font-weight:700}.fileSize{color:#6b7280;margin-top:2px;font-size:12px}.progressWrap{margin-top:10px}.progressBar{background:#eef2f7;border-radius:999px;height:10px;overflow:hidden}.progressFill{background:#111827;width:0%;height:100%;transition:width .2s}.progressText{color:#6b7280;margin-top:6px;font-size:12px}.microHint{color:#6b7280;margin-top:10px;font-size:12px}.empty{color:#6b7280;background:#fafafa;border:1px dashed #e5e7eb;border-radius:10px;padding:10px 12px;font-size:13px}.tableWrap{border:1px solid #eef2f7;border-radius:12px;width:100%;overflow:auto}.miniTable{border-collapse:collapse;width:100%;font-size:13px}.miniTable th,.miniTable td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:10px}.miniTable th{text-align:left;color:#111827;z-index:1;background:#fafafa;font-weight:700;position:sticky;top:0}.miniTable td{color:#111827}.miniTable tr:hover td{background:#fcfcfd}.summaryGrid{grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;display:grid}@media (max-width:1100px){.summaryGrid{grid-template-columns:repeat(2,minmax(140px,1fr))}}.summaryItem{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:10px 12px}.summaryLabel{color:#6b7280;font-size:12px}.summaryValue{margin-top:4px;font-size:18px;font-weight:800}.summaryValue.good{color:#16a34a}.summaryValue.bad{color:#dc2626}.summaryValue.warn{color:#d97706}.badge{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.badge-green{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.badge-red{color:#991b1b;background:#fef2f2;border-color:#fecaca}.badge-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.badge-gray{color:#374151;background:#f9fafb;border-color:#e5e7eb}.inlineGap{align-items:center;gap:8px;display:inline-flex}.controlsRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.miniCheck{color:#374151;background:#fafafa;border:1px solid #eef2f7;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:inline-flex}.miniCheck input{margin:0}.errorsList{gap:8px;display:grid}.errorRow{color:#7f1d1d;word-break:break-word;white-space:normal;background:#fef2f2;border:1px solid #fee2e2;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.35}.section{margin-top:12px}.sectionHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.sectionTitle{color:#111827;font-size:13px;font-weight:800}.sectionRight{align-items:center;gap:10px;display:flex}.detailsGrid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;display:grid}@media (max-width:1100px){.detailsGrid{grid-template-columns:1fr}}.listBlock{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:10px 12px}.listTitle{color:#374151;margin-bottom:8px;font-size:12px;font-weight:800}.listEmpty{color:#6b7280;font-size:13px}.listItems{gap:6px;display:grid}.listItem{color:#111827;background:#fafafa;border:1px solid #f1f5f9;border-radius:10px;padding:7px 10px;font-size:13px}.muted{color:#6b7280;font-size:12px;font-weight:500}.cGood{color:#16a34a;font-weight:800}.cWarn{color:#d97706;font-weight:800}.cMuted{color:#6b7280;font-weight:800}.modalOverlay{z-index:2000;background:#11182773;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:min(980px,100%);max-height:88vh;overflow:auto;box-shadow:0 10px 30px #00000040}.modalHead{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 10px;display:flex}.modalTitle{color:#111827;font-size:16px;font-weight:900}.modalSub{color:#6b7280;margin-top:4px;font-size:12px}.modalActions{align-items:center;gap:10px;display:flex}.modalBody{padding:14px}.jsonBox{color:#e5e7eb;background:#0b1220;border:1px solid #eef2f7;border-radius:12px;max-height:320px;margin:0;padding:12px;font-size:12px;line-height:1.35;overflow:auto}.miniTable td{max-width:320px}.miniTable td .inlineGap{flex-wrap:wrap}.miniTable td,.miniTable th{line-height:1.35}.miniTable td{white-space:nowrap}.miniTable td.wrapCell,.miniTable th.wrapCell{white-space:normal}.tableWrap .miniTable{min-width:max(100%,1000px)}.jsonBox{white-space:pre-wrap;word-break:break-word}.badge{white-space:nowrap;max-width:100%}.controlsRow .miniSelect{min-width:180px}@media (max-width:768px){.modalHead{flex-direction:column;align-items:stretch}.modalActions{flex-wrap:wrap;justify-content:flex-end;width:100%}.summaryGrid{grid-template-columns:1fr}}@media (max-width:640px){.cardTitleRow,.sectionHead,.rowRight,.actions,.actionsRow,.controlsRow{flex-direction:column;align-items:stretch}.btn,.btnPrimary,.btnGhost,.btnMini{justify-content:center;width:100%}.miniSelect{width:100%;min-width:0}}.importCard,.section,.sectionHead,.sectionRight,.rowRight,.cardTitleRow,.controlsRow,.fileMeta,.modalHead,.modalActions,.importGrid>*{min-width:0}.miniTable td,.miniTable th{max-width:280px}.miniTable td.wrapCell,.miniTable th.wrapCell{white-space:normal;word-break:break-word}@media (max-width:768px){.importPage{gap:14px;padding:12px 12px 28px}.importCard{border-radius:10px;padding:12px}.miniTable{font-size:12px}.miniTable th,.miniTable td{padding:8px}.summaryValue{font-size:16px}.badge{padding:3px 7px;font-size:11px}}.login-wrapper{background:url(/assets/main-BgN0miv8.png) 50%/cover no-repeat;justify-content:center;align-items:center;height:100vh;font-family:Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.login-wrapper:before{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:0;background:#00000059;position:absolute;inset:0}.login-card{z-index:2;background:0 0;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.login-left{z-index:2;flex:1;justify-content:center;align-items:center;animation:.8s forwards fadeInLeft;display:flex;position:relative}.login-overlay{position:absolute;inset:0}.login-form-box{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-sizing:border-box;z-index:3;opacity:0;background:#ffffff40;border:1px solid #ffffff4d;border-radius:16px;width:90%;max-width:540px;padding:40px 35px;animation:1s .4s forwards fadeInUp;position:relative;box-shadow:0 8px 20px #00000026}.login-form-box h2{text-align:center;color:#fff;margin-bottom:15px;font-weight:700}.login-form-box button:not(.password-toggle){color:#0070f3;cursor:pointer;background:#fff;border:none;border-radius:25px;width:100%;padding:10px;font-size:16px;font-weight:600;transition:all .3s;display:block}.login-form-box button:not(.password-toggle):hover{color:#fff;background:#1984ff;transform:translateY(-2px);box-shadow:0 4px 12px #fff6}.login-form-box button:not(.password-toggle):disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.tab-buttons{gap:10px;margin:20px 0;display:flex}.tab-buttons button{color:#fff;cursor:pointer;background:0 0;border:2px solid #fff9;border-radius:25px;flex:1;padding:10px;font-weight:600;transition:all .3s}.tab-buttons button.active{border-color:#fff;box-shadow:0 0 10px #5ee7ff99;color:#fff!important;background:#1984ff!important}.login-form-box label{color:#fff;margin-bottom:5px;font-size:14px}.login-form-box input{box-sizing:border-box;color:#fff;background:#fff3;border:1px solid #fff6;border-radius:20px;outline:none;width:100%;margin-bottom:14px;padding:10px 14px;font-size:16px;transition:all .3s}.login-form-box input::placeholder{color:#fff9}.login-form-box input:focus{border-color:#fff;box-shadow:0 0 8px #ffffff80}.login-right{flex:1;justify-content:center;align-items:center;animation:.8s forwards fadeInRight;display:flex}.login-right img{object-fit:cover;object-position:center;width:100%;height:100%}.notif-box{color:#fff;z-index:9999;border-radius:8px;justify-content:space-between;align-items:center;min-width:260px;padding:14px 18px;font-size:14px;animation:.3s forwards fadeIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 10px #00000026}.notif-box.success{background:linear-gradient(135deg,#22c55e,#16a34a)}.notif-box.error{background:linear-gradient(135deg,#ef4444,#b91c1c)}.notif-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;margin-left:10px;font-size:18px;line-height:1}.notif-close:hover{opacity:1}.consent-row{margin:10px 0}.consent-label{-webkit-user-select:none;user-select:none;cursor:pointer;color:#ffffffeb;align-items:center;gap:10px;margin-bottom:20px;font-size:14px;line-height:1.25;display:flex}.consent-label input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff8c;border-radius:5px;flex:0 0 18px;place-content:center;width:18px;height:18px;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s;display:inline-grid;box-shadow:inset 0 0 0 1px #0000001f}.consent-label:hover input[type=checkbox]{background:#ffffff29;border-color:#fffc}.consent-label input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #0099ff59,inset 0 0 0 1px #0000001f}.consent-label input[type=checkbox]:checked{background:#0099ffeb;border-color:#0099fff2;box-shadow:0 0 12px #0099ff73,inset 0 0 0 1px #0000001f}.consent-label input[type=checkbox]:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;margin-top:-1px;transition:transform .12s;transform:rotate(-45deg)scale(0)}.consent-label input[type=checkbox]:checked:after{transform:rotate(-45deg)scale(1)}.consent-label input[type=checkbox]:active{transform:scale(.96)}.consent-label span{opacity:.95}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media (max-width:1024px){.login-card{flex-direction:column}.login-right{display:none}.login-left{justify-content:center;align-items:center}.login-form-box{width:90%;max-width:400px}}.password-field{width:100%;margin-bottom:14px;position:relative}.password-field input{padding-right:46px;margin-bottom:0!important}.password-toggle{color:#000000f2;cursor:pointer;background:#ffffff24;border:none;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .15s,transform .12s,box-shadow .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #ffffff2e}.password-toggle:hover{background:#ffffff38;box-shadow:0 0 12px #5ee7ff40}.password-toggle:active{transform:translateY(-50%)scale(.96)}.password-toggle:focus-visible{outline:2px solid var(--brand,#1984ff);outline-offset:2px}.cp2-page{place-items:center;padding:20px;display:grid}.cp2-shell{border-radius:20px;flex-direction:column;gap:20px;width:100%;display:flex}.cp2-head{background:#fff;border:1px solid #00000014;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 8px 18px #1118270f}.cp2-title{align-items:flex-start;gap:12px;min-width:260px;display:flex}.cp2-ic{color:#fff;background:var(--brand);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 14px #0000001f}.cp2-title h2{color:#222;margin:0;font-size:18px;font-weight:900}.cp2-sub{color:#666;max-width:640px;margin-top:4px;font-size:13px}.cp2-actions-top{align-items:center;gap:8px;display:flex}.cp2-body{background:#fff;border:1px solid #00000014;border-radius:20px;grid-template-columns:1fr 320px;gap:14px;padding:16px;display:grid}.cp2-form{gap:12px;display:grid}.cp2-field label{color:#222;margin-bottom:6px;font-size:13px;font-weight:800;display:block}.cp2-input{position:relative}.cp2-input input{border:1px solid #0000002e;border-radius:12px;outline:none;width:100%;height:44px;padding:0 46px 0 12px;font-size:14px}.cp2-input input:focus{border-color:color-mix(in srgb, var(--accent) 65%, black);box-shadow:0 0 0 2px #00b7ff1f}.cp2-eye{cursor:pointer;color:#333;background:#0000000d;border:none;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.cp2-eye:hover{background:#00000014}.cp2-hint{color:#6c757d;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.cp2-strength{background:#00000005;border:1px solid #0000000f;border-radius:12px;margin-top:10px;padding:10px 10px 8px}.cp2-strength-bar{background:#00000014;border-radius:999px;height:10px;overflow:hidden}.cp2-strength-fill{background:var(--brand);border-radius:999px;width:0%;height:100%;transition:width .2s}.cp2-strength-label{color:#333;margin-top:8px;font-size:13px}.cp2-strength.weak .cp2-strength-fill{filter:brightness(.85)}.cp2-strength.ok .cp2-strength-fill{filter:brightness(.95)}.cp2-strength.good .cp2-strength-fill{filter:brightness(1.02)}.cp2-strength.strong .cp2-strength-fill{filter:brightness(1.1)}.cp2-rules{gap:6px;margin-top:10px;display:grid}.cp2-rule{color:#444;align-items:center;gap:8px;font-size:12.5px;display:flex}.cp2-rule.ok svg{color:#1aa56d}.cp2-rule.no svg{color:#dc3545}.cp2-rule.soft{opacity:.9}.cp2-error{color:#b02a37;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;display:flex}.cp2-form-actions{justify-content:flex-end;margin-top:4px;display:flex}.cp2-btn{cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:12px;align-items:center;gap:8px;height:38px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.cp2-btn:disabled{opacity:.6;cursor:not-allowed}.cp2-btn.primary{background:var(--brand);color:#fff;border-color:#0000}.cp2-btn.primary:hover{filter:brightness(.98)}.cp2-btn.ghost{background:#00000008}.cp2-btn.ghost:hover{background:#0000000f}.cp2-btn.danger{color:#b02a37;background:#dc354514;border-color:#dc354533}.cp2-btn.danger:hover{background:#dc35451f}.cp2-footnote{color:#777;margin-top:6px;font-size:12px}.cp2-side{align-content:start;gap:12px;display:grid}.cp2-side-card{background:#00000005;border:1px solid #0000000f;border-radius:16px;padding:12px 12px 10px}.cp2-side-card.warn{background:#fca5351a;border-color:#fca53540;flex-direction:column;align-items:start;gap:10px;display:flex}.cp2-side-title{color:#222;margin-bottom:8px;font-size:13px;font-weight:900}.cp2-side-list{color:#444;margin:0;padding-left:18px;font-size:13px;line-height:1.4}.cp2-side-text{color:#444;font-size:13px;line-height:1.4}@media (max-width:860px){.cp2-body{grid-template-columns:1fr}}@media (max-width:560px){.cp2-page{padding:10px}.cp2-form-actions{justify-content:stretch}.cp2-btn.primary{justify-content:center;width:100%}}.instr-profile-page{flex-direction:column;gap:20px;padding:20px;display:flex}.instr-profile-page .page-header{margin:0}.instr-page .fc .fc-timegrid-slot{height:1.5em!important}.fc .fc-timegrid-event{color:color-contrast(var(--brand) vs #333, #fff)}.fc-v-event .fc-event-main{color:inherit!important}.instr-page .actions-notif{box-shadow:none;width:100%;padding:0}.schedule-header{background:#fff;border:1px solid #00000014;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 8px 18px #1118270f}.schedule-header__title{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.schedule-header__icon{color:var(--brand);justify-content:center;align-items:center;font-size:20px;display:flex}.schedule-header .subtitle{margin:0}.schedule-header__actions{white-space:nowrap;flex:none;align-items:center;gap:10px;width:100%;margin-left:auto;display:flex}.instr-page-header{background:#fff;border:1px solid #00000014;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 8px 18px #1118270f}.instr-page-header .subtitle{margin:0}.avatar-big{background:#f2f2f2;border-radius:20px;justify-content:center;align-items:center;width:100%;height:260px;display:flex;overflow:hidden}.avatar-big img{object-fit:cover;width:100%;height:100%}.avatar-empty{color:#666;font-size:15px}.btn-upload{background:var(--brand);color:#fff;cursor:pointer;text-align:center;border-radius:20px;margin-top:10px;padding:10px 14px;font-size:14px;display:inline-block}.btn-upload input{display:none}.profile-info{color:#333;margin-top:15px;font-size:14px;line-height:1.5em}.profile-form{grid-template-columns:repeat(2,1fr);gap:15px 25px;display:grid}.form-col{flex-direction:column;gap:6px;display:flex}.form-actions{text-align:right;grid-column:span 2;margin-top:10px}.car-card-wide{background:#fff;border-radius:18px;padding:22px;box-shadow:0 6px 14px #00000014}.car-wide-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.car-wide-title{align-items:center;gap:10px;display:flex}.car-wide-title h3{margin:0;font-size:20px;font-weight:600}.car-wide-edit-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:8px 14px;font-size:14px}.car-wide-body{flex-direction:column;gap:20px;display:flex}.car-wide-photo{background:#f0f0f0;border-radius:14px;flex:0 0 240px;justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.car-wide-photo img{object-fit:cover;width:100%;height:100%}.car-wide-photo-placeholder{color:#777}.car-wide-info{flex-direction:column;flex:1;gap:10px;padding:0 10px;font-size:15px;display:flex}.car-info-row{gap:10px;display:flex}.car-info-row .lbl{color:#444;width:120px;font-weight:600}.modal-overlay{z-index:50;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:420px;max-width:90%;padding:22px}.car-edit-form .form-col{margin-bottom:12px}.card.profile-card-left{margin:0}@media (max-width:1200px){.profile-grid{grid-template-columns:220px 1fr}.avatar-big{height:160px}}@media (max-width:1024px){.profile-grid{grid-template-columns:260px 1fr}.avatar-big{height:220px}.car-wide-body{flex-direction:column}.instr-profile-page{gap:10px;padding:10px 0}}@media (max-width:680px){.profile-grid,.profile-form{grid-template-columns:1fr}.form-actions{text-align:center;grid-column:1}.avatar-big{height:240px}}@media (max-width:480px){.avatar-big{height:200px}}.instr-page{color:var(--text-main);flex-direction:column;gap:15px;padding:10px 20px;display:flex}.instr-page .cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.kpi-card{background:#fff;border-radius:20px;flex-direction:column;gap:6px;padding:18px 20px;display:flex;box-shadow:0 2px 8px #0000000d}.block{background:#fff;border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000d}.block-header h2{margin:0;font-size:18px;font-weight:600}.lesson-item{border:1px solid #eee;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 15px;display:flex}.lesson-time{align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex;color:#333!important}.lesson-status{white-space:nowrap;background:#f4f4f4;border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600}@media (max-width:1024px){.instr-page{padding:10px 0}.lesson-item{flex-direction:column;align-items:flex-start}.lesson-status{align-self:flex-end;margin-top:4px}}.page-header{justify-content:space-between;align-items:center;padding:12px 4px;display:flex}.instr-page .page-header{margin:0}.page-header h1{align-items:center;gap:10px;margin:0;font-size:26px;font-weight:600;display:flex}.page-subtitle{color:#666;margin-top:4px;margin-bottom:0;font-size:14px}.page-header .subtitle{margin:0}.ui-card,.block,.kpi-card,.student-card,.table-wrapper{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 10px #0000000f}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.kpi-card{flex-direction:column;gap:6px;display:flex}.kpi-value{font-size:30px;font-weight:700}.kpi-extra{color:#666;font-size:13px}.block-header h2{align-items:center;gap:8px;margin:0;font-size:19px;font-weight:600;display:flex}.list{flex-direction:column;gap:14px;display:flex}.lesson-item{background:#fff;border:1px solid #eee;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px;display:flex;box-shadow:0 1px 4px #00000008}.lesson-main{flex-direction:column;gap:4px;display:flex}.lesson-student,.lesson-group{color:#444;font-size:14px}.lesson-status{color:#444;white-space:nowrap;background:#f4f4f4;border-radius:10px;padding:5px 12px;font-weight:600}.filters-row input,.filters-row select{border:1px solid #ddd;border-radius:20px;padding:9px 12px;font-size:16px}.filters-row label{align-items:center;gap:10px;display:flex}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:14px;padding:10px 18px;font-size:14px;font-weight:500}.btn-secondary{cursor:pointer;background:#ddd;border:none;border-radius:14px;padding:10px 18px;font-size:14px}.btn-outline{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:14px;padding:10px 16px;font-size:14px}.table-wrapper{padding:0;overflow-x:auto}.simple-table{border-collapse:separate;border-spacing:0;width:100%}.simple-table th{text-align:left;background:#fafafa;border-bottom:1px solid #eee;padding:12px 16px;font-weight:600}.simple-table td{border-bottom:1px solid #f1f1f1;padding:12px 16px;font-size:14px}.student-card{flex-direction:column;gap:8px;display:flex}.student-name{font-size:16px;font-weight:600}.student-info{color:#555;flex-direction:column;font-size:14px;display:flex}@media (max-width:680px){.instr-page{padding:10px 0}.lesson-item{flex-direction:column;align-items:flex-start}.lesson-status{align-self:flex-end}.filters-row{padding:12px}.car-card-wide{padding:10px}}.salary-block{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.salary-period{color:var(--text-main);margin-bottom:16px;font-size:16px;font-weight:400}.salary-period strong{font-weight:700}.salary-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.salary-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;gap:6px;padding:16px;display:flex}.salary-card .label{color:var(--text-muted);font-size:16px}.salary-card .value{color:var(--text-main);font-size:26px;font-weight:700}.salary-card.total{background:var(--brand);color:#000}.salary-card.total .label{color:#000000b3}.value.positive{color:#22c55e}.value.negative{color:#ef4444}.block{background:var(--card-bg);box-shadow:var(--shadow);border-radius:20px;padding:20px}.lsn-badges .warn{margin:0!important}.block-header{margin-bottom:14px}.block-header h2{font-size:20px;font-weight:600}.graph-block{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;padding:20px}.graph-block h2{margin-bottom:14px;font-size:18px}.compare-stats{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:12px 14px}.compare-stats .row{justify-content:space-between;margin-bottom:6px;display:flex}.compare-stats .row:last-child{margin-bottom:0}.filter-row{margin:15px 0 10px}.search-input{border:1px solid #d0d0d0;border-radius:8px;padding:10px 12px;font-size:14px}@media (max-width:1024px){.salary-cards{grid-template-columns:1fr 1fr}.filters-row input,.filters-row select,.filters-row label{width:100%}.block-header{flex-direction:column;align-items:flex-start}}@media (max-width:500px){.salary-cards{grid-template-columns:1fr}.graph-block,.block,.salary-block{padding:14px}}.slots-row{flex-direction:column;gap:12px;margin-top:12px;display:flex}.slot-item{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:relative}.slot-free{border-left:4px solid var(--brand)}.slot-busy{border-left:4px solid #ff5252}.slot-time{font-size:16px;font-weight:600}.slot-student{color:var(--text-muted);font-size:14px}.slot-delete{color:var(--negative);cursor:pointer;background:0 0;border:none;font-size:16px}.modal-overlay{background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-bg);border-radius:var(--radius);width:320px;box-shadow:var(--shadow);padding:20px}.slot-form label{flex-direction:column;margin-bottom:12px;display:flex}.modal-actions{justify-content:space-between;margin-top:10px;display:flex}.instr-students-cards{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:600px){.instr-students-cards{grid-template-columns:1fr 1fr}}@media (min-width:900px){.instr-students-cards{grid-template-columns:1fr 1fr 1fr}}.instr-student-card{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:14px;flex-direction:column;gap:10px;padding:16px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000f}.instr-student-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001f}.instr-student-card.inactive{opacity:.6}.card-top{align-items:center;gap:12px;display:flex}.card-avatar{color:var(--brand,#2563eb);border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex}.card-name{margin:0;font-size:16px;font-weight:600}.card-phone{color:#6b7280;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.card-bottom{margin-top:4px}.status-badge{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.status-badge.on{color:#166534;background:#dcfce7}.status-badge.off{color:#991b1b;background:#fee2e2}.license-cats{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.license-cat{cursor:pointer;-webkit-user-select:none;user-select:none;color:#222;background:#f6f7fb;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;position:relative}.license-cat:hover{border-color:var(--brand);background:#00000005}.license-cat input{opacity:0;pointer-events:none;position:absolute}.license-cat span{align-items:center;gap:8px;display:flex}.license-cat span:before{content:"";background:#fff;border:2px solid #cbd5e1;border-radius:50%;width:16px;height:16px;transition:all .2s}.license-cat input:checked+span:before{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px #fff}.license-cat input:checked+span{color:var(--brand)}.license-cat:has(input:checked){background:color-mix(in srgb, var(--brand) 10%, #fff);border-color:var(--brand)}.lsn-badges{vertical-align:middle;flex-wrap:wrap;gap:8px;margin-left:10px;display:inline-flex}.lsn-badge{color:#000000bf;background:#00000008;border:1px solid #00000014;align-items:center;font-size:12px;font-weight:800;display:inline-flex;border-radius:999px!important;padding:4px 5px!important}.lsn-badge.success{color:#13783ff2;background:#2ecc711f;border-color:#2ecc7140}.lsn-badge.warn{color:#875800f2;background:#ffc10724;border-color:#ffc10742}.lsn-badge.danger{color:#a0281cf2;background:#e74c3c1f;border-color:#e74c3c40}.lsn-badge.info{color:#125a78f2;background:#2e9fcc1f;border-color:#2e9fcc40}.lsn-badge.neutral{color:#000000a6;background:#0000000a;border-color:#0000001a}.fc-event-missed{opacity:1}.fc-event-canceled{opacity:.6;text-decoration:line-through}.fc-event-report{box-shadow:inset 0 0 0 2px #00000026}.fc-event-empty{filter:grayscale(.2)}@media (max-width:1024px){.license-cat{padding:8px 12px;font-size:13px}.schedule-header{flex-direction:column;align-items:flex-start;width:100%}.schedule-header__actions{margin:0;width:100%!important}.schedule-header__actions button{width:100%}}.segmented{background:#f3f4f6;border-radius:999px;align-items:center;gap:2px;padding:4px;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000f}.seg-item{appearance:none;color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .18s,color .18s,box-shadow .18s,transform 50ms}.seg-item:hover{color:#111827}.seg-item:active{transform:scale(.97)}.seg-item.active{background:var(--brand);color:#1f2937;box-shadow:0 2px 6px #00000026,inset 0 0 0 1px #00000014}.seg-item:focus-visible{outline:none;box-shadow:0 0 0 3px #6e6e6e73}.instr-sessions-page{flex-direction:column;gap:16px;display:flex}.instr-sessions-page .page-header.lessons-header{margin:0}.session-card{background:#fff;border:1px solid #00000014;border-radius:18px;justify-content:space-between;gap:16px;padding:16px;display:flex;box-shadow:0 6px 14px #0000000d}.session-card.extra{border-left:5px solid #a855f7}.session-main{flex-direction:column;gap:8px;display:flex}.session-row{color:var(--text-main,#111827);align-items:center;gap:8px;font-size:14px;display:flex}.session-row.top{font-weight:700}.session-date{color:#374151}.session-time{color:#6b7280}.session-student{font-weight:600}.session-car{color:#4b5563;font-size:13px}button.small{border-radius:14px;padding:9px 12px;font-size:13px}.badge{color:#000000b3;background:#0000000a;border:1px solid #00000014;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.badge-orange{color:#8c4600f2;background:#ff990024;border-color:#ff990042}.paid-chip{color:#13783ff2;background:#2ecc711f;border:1px solid #2ecc7140;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.missed-reason{color:#9a3412;background:#fff7ed;border:1px solid #9a34121f;border-radius:12px;margin-top:6px;padding:7px 10px;font-size:13px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:640px){.session-card{flex-direction:column}.session-actions{flex-flow:wrap;min-width:0}.full-width-on-mobile{width:100%}}.practice-card{background:#fff;border:1px solid #00000014;border-radius:18px;overflow:hidden;box-shadow:0 10px 22px #1118270f}.practice-card.is-extra{border-left:5px solid #a855f7}.practice-card.is-missed{border-left:5px solid #ff9900e6}.practice-card__grid{grid-template-columns:1fr 170px;gap:14px;padding:16px;display:grid}.practice-card__main{flex-direction:column;gap:10px;min-width:0;display:flex}.practice-card__row{color:var(--text-main,#111827);align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.practice-card__row--top{gap:12px;font-weight:800}.practice-card__date{color:#374151;align-items:center;gap:8px;display:inline-flex}.practice-card__time{color:#6b7280;white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:inline-flex}.practice-card__student{font-weight:800}.practice-card__car{color:#4b5563;font-size:13px}.practice-card__badges{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.practice-card__actions{flex-direction:column;gap:8px;display:flex}.practice-card__footer{border-top:1px solid #0000000f}.practice-card__missed{color:#8c4600f2;background:linear-gradient(#ff99001a,#ff99001a);align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:13px;font-weight:800;display:flex}.practice-card__missed span{font-weight:700;line-height:1.25}.practice-card__missed{word-break:break-word}@media (max-width:1024px){.practice-card__grid{grid-template-columns:1fr}.practice-card__actions{flex-flow:wrap}.practice-card__actions .full-width-on-mobile{width:100%}.profile-form{gap:10px}}.lsn-detail{flex-direction:column;gap:14px;display:flex}.lsn-detail__row{background:#f7f9fb;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.lsn-detail__k{opacity:.7;font-weight:700}.lsn-detail__v{text-align:right;font-weight:800}.lsn-detail__block{background:#f7f9fb;border-radius:10px;padding:12px}.lsn-detail__block .lsn-detail__k{margin-bottom:6px}.lsn-detail__actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.wk-actions{flex-direction:column;gap:10px;display:flex}.wk-actions button{width:100%}@media (max-width:600px){.lsn-detail__row{flex-direction:column;align-items:flex-start;gap:4px}.lsn-detail__v{text-align:left}.lsn-detail__actions{flex-direction:column}}.salary-presets{flex-wrap:wrap;gap:10px;display:flex}.salary-preset{-webkit-tap-highlight-color:transparent;appearance:none;color:#333;-webkit-text-fill-color:#333;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #0000001a;border-radius:999px;padding:12px;font-size:16px;font-weight:700;text-decoration:none}.salary-preset.active{color:#333;background:#bbb;border-color:#bbb}.salary-filters-row{flex-wrap:wrap;align-items:flex-end;gap:12px}.salary-filters-row label{flex-direction:column;gap:6px;font-weight:700;display:flex}.salary-filters-row label span{align-items:center;gap:6px;font-size:16px;display:flex}.salary-card .sub{opacity:.72;margin-top:6px;font-size:16px;font-weight:700}@media (max-width:640px){.salary-presets{gap:8px}.salary-preset{flex:calc(50% - 8px);min-width:140px;padding:12px;font-size:15px}.salary-cards-big{grid-template-columns:1fr 1fr}.salary-card{min-height:110px}.salary-card .value{font-size:24px}.salary-filters-row{grid-template-columns:1fr 1fr;display:grid}.salary-filters-row button{grid-column:1/-1}}@media (max-width:420px){.salary-cards-big,.salary-filters-row{grid-template-columns:1fr}.salary-history-card__top{flex-direction:column;align-items:flex-start}.salary-history-card__row{flex-direction:column}.salary-history-card__row strong{text-align:left;max-width:100%}}.salary-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.salary-toolbar__btn{background:#fff;border:1px solid #0000001a;border-radius:12px;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:800;display:flex}.salary-toolbar__current{opacity:.88;background:#f8fafc;border:1px solid #00000014;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:220px;padding:12px 14px;font-weight:700;display:flex}.salary-warning{background:#fff7db;border:1px solid #f0d88a;border-radius:12px;margin-top:10px;margin-bottom:14px;padding:12px 14px;font-weight:700;line-height:1.45}.salary-cards-big{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.salary-history-cards{flex-direction:column;gap:12px;display:flex}.salary-history-card{background:#fff;border:1px solid #00000014;border-radius:16px;padding:14px;box-shadow:0 8px 18px #0000000d}.salary-history-card__top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.salary-history-card__date{font-size:16px;font-weight:900;line-height:1.2}.salary-history-card__time{opacity:.82;align-items:center;gap:8px;margin-bottom:12px;font-weight:800;display:flex}.salary-history-card__row{border-bottom:1px dashed #00000014;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.salary-history-card__row:last-of-type{border-bottom:none}.salary-history-card__row span{opacity:.7;font-weight:700}.salary-history-card__row strong{text-align:right;max-width:58%}.salary-history-card__row.total{margin-top:6px;padding-top:12px;font-size:16px}.salary-history-card__reason{opacity:.75;margin-top:10px;font-size:13px;line-height:1.45}.salary-status-pill{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.salary-status-pill.success{color:#1d8f52;background:#e9f9ef}.salary-status-pill.danger{color:#cf3f3f;background:#fdecec}.salary-status-pill.warn{color:#b7791f;background:#fff6dd}.salary-status-pill.neutral{color:#5b6470;background:#eef1f4}.salary-period-modal{flex-direction:column;gap:16px;display:flex}.salary-period-modal__section{background:#f8fafc;border:1px solid #00000014;border-radius:14px;padding:14px}.salary-period-modal__title{margin-bottom:12px;font-size:16px;font-weight:900}.salary-period-modal__grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.salary-period-modal__row{gap:12px;display:grid}.salary-period-modal__row.two{grid-template-columns:1fr 1fr}.salary-period-modal__apply{width:100%;margin-top:12px}@media (max-width:640px){.salary-presets{gap:8px}.salary-preset{flex:calc(50% - 8px);min-width:140px;padding:12px;font-size:15px}.salary-toolbar{flex-direction:column;align-items:stretch}.salary-toolbar__btn{justify-content:center;width:100%}.salary-toolbar__current{width:100%}.salary-cards-big{grid-template-columns:1fr 1fr}.salary-card{min-height:110px}.salary-card .value{font-size:24px}.salary-period-modal__grid{grid-template-columns:1fr 1fr}}@media (max-width:420px){.salary-cards-big{grid-template-columns:1fr}.salary-history-card__top{flex-direction:column;align-items:flex-start}.salary-history-card__row{flex-direction:column}.salary-history-card__row strong{text-align:left;max-width:100%}.salary-period-modal__grid,.salary-period-modal__row.two{grid-template-columns:1fr}}.quick-status-grid{grid-template-columns:1fr;gap:10px;display:grid}.quick-status-btn{width:100%;box-shadow:none;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:16px;font-weight:600;transition:all .18s;display:flex}.quick-status-btn:disabled{opacity:.65}.quick-status-btn.is-planned{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.quick-status-btn.is-planned.active{background:#e5e7eb;border-color:#cbd5e1}.quick-status-btn.is-completed{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.quick-status-btn.is-completed.active{background:#d1fae5;border-color:#34d399}.quick-status-btn.is-missed{color:#ea580c;background:#fff7ed;border-color:#fdba74}.quick-status-btn.is-missed.active{background:#ffedd5;border-color:#fb923c}.quick-status-btn svg{flex:none}.quick-status-btn span{line-height:1.1}.isp-arrow{opacity:.5;margin-left:auto;font-size:18px}.profile-single-card{margin:0;padding:18px;font-size:16px}.profile-single-top{flex-direction:column;align-items:center;gap:14px;margin-bottom:18px;display:flex}.profile-single-avatar{width:100%;margin:0 auto}.profile-single-name{text-align:center;color:#333}.profile-single-name h3{margin:0;font-size:24px;font-weight:800;line-height:1.2}.profile-single-sub{color:#7a7a7a;margin-top:6px;font-weight:600}.profile-data.under-avatar{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.profile-row{background:#f7f7f7;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.profile-row .label{color:#666;align-items:center;font-size:15px;font-weight:700;display:flex}.profile-row .value{color:#1f1f1f;word-break:break-word;font-weight:700;line-height:1.3}.profile-note{color:#555;margin-top:14px;font-size:15px;line-height:1.45}.profile-actions-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.aside-card{margin:0}@media (max-width:1024px){.profile-actions-grid{grid-template-columns:1fr}.profile-single-name h3{font-size:22px}.profile-row .value{font-size:18px}}.profile-grid{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:20px;display:grid}.profile-grid-two{flex-direction:column;gap:20px;display:flex}.profile-grid .card{border-radius:18px}@media (max-width:1024px){.profile-grid,.profile-data.under-avatar{grid-template-columns:1fr}}.instr-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.instr-stat-card{background:var(--card-bg,#fff);border:1px solid #00000014;border-radius:18px;padding:16px;box-shadow:0 8px 30px #0000000a}.instr-stat-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.instr-stat-title{color:var(--muted,#6b7280);align-items:center;gap:8px;font-size:14px;display:flex}.instr-stat-value{margin-bottom:6px;font-size:30px;font-weight:800;line-height:1}.instr-stat-sub{color:var(--muted,#6b7280);font-size:13px}.instr-stats-layout{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.instr-progress-list{flex-direction:column;gap:14px;display:flex}.instr-progress-item{flex-direction:column;gap:8px;display:flex}.instr-progress-row{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.instr-progress-track{background:#00000014;border-radius:999px;width:100%;height:12px;overflow:hidden}.instr-progress-fill{border-radius:999px;height:100%}.instr-progress-fill.success{background:#22c55e}.instr-progress-fill.info{background:#3b82f6}.instr-progress-fill.danger{background:#ef4444}.instr-progress-fill.warning{background:#f59e0b}.instr-mini-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.instr-mini-card{background:#00000006;border-radius:14px;padding:14px}.instr-mini-title{color:var(--muted,#6b7280);margin-bottom:6px;font-size:13px}.instr-mini-value{font-size:24px;font-weight:800;line-height:1.1}.instr-stats-note{color:#92400e;background:#f59e0b14;border-radius:14px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:14px;display:flex}.instr-stats-note svg{width:50px}@media (max-width:1100px){.instr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instr-stats-layout{grid-template-columns:1fr}}@media (max-width:700px){.instr-stats-grid,.instr-mini-grid{grid-template-columns:1fr}.instr-stat-value{font-size:26px}.instr-stats-tab,.instr-stats-refresh{min-height:42px}}.instr-stats-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.instr-stats-header .isp-title{min-width:0}.instr-stats-header .isp-titleText h2{margin:0}.instr-stats-header .subtitle{margin:4px 0 0}.instr-stats-header-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.instr-stats-tabs{background:#fff;border:1px solid #00000014;border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex;box-shadow:0 4px 18px #0000000a}.instr-stats-tab{color:#111827;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 14px;font-size:16px;font-weight:700;transition:all .18s}.instr-stats-tab:hover{background:#2563eb14}.instr-stats-tab.active{background:var(--brand);color:#333}.instr-stats-refresh{color:#111827;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:14px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 4px 18px #0000000a}.instr-stats-refresh:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #00000014}.instr-stats-refresh:disabled{opacity:.7;cursor:default}@keyframes instrSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.instr-stats-header{align-items:stretch}.instr-stats-header-actions{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.instr-stats-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.instr-stats-tab,.instr-stats-refresh{width:100%}}.lessons-header.instr-stats-header{margin:0}@media (max-width:700px){.instr-stat-card{border-radius:20px;padding:18px}.instr-stat-title{gap:10px;font-size:16px}.instr-stat-value{margin-bottom:8px;font-size:36px;font-weight:900}.instr-stat-sub{font-size:15px;line-height:1.35}.instr-progress-row{font-size:16px}.instr-progress-track{height:14px}.instr-mini-card{border-radius:16px;padding:16px}.instr-mini-title{font-size:14px}.instr-mini-value{font-size:28px}.instr-stats-note{padding:14px 16px;font-size:15px}}@media (max-width:420px){.instr-stat-value{font-size:40px}.instr-stat-title{font-size:17px}.instr-stat-sub{font-size:15px}.instr-mini-value{font-size:30px}.instr-progress-row{font-size:17px}}.instr-stat-value{letter-spacing:-.5px}.nb-root .warn{margin:0}.card h3,.card h4{color:#333}.form-field input[type=checkbox]{width:fit-content}.instr-profile-page .card .btn-secondary.mobile-only-logout{margin-top:10px!important}.profile-toggles{flex-direction:column;gap:14px;margin-top:10px;display:flex}.profile-toggle-row{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.profile-toggle-row:last-child{border-bottom:none}.profile-toggle-text{flex:1;min-width:0}.profile-toggle-label{color:var(--text-main);font-weight:600}.profile-toggle-desc{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.4}.profile-switch{flex-shrink:0;width:52px;height:30px;display:inline-block;position:relative}.profile-switch input{opacity:0;width:0;height:0}.profile-slider{cursor:pointer;background:#d1d5db;border-radius:999px;transition:all .2s;position:absolute;inset:0}.profile-slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:4px;left:4px;box-shadow:0 1px 4px #0000002e}.profile-switch input:checked+.profile-slider{background:var(--brand)}.profile-switch input:checked+.profile-slider:before{transform:translate(22px)}.profile-switch.is-disabled{opacity:.6;pointer-events:none}.telegram-status-line{margin:8px 0 14px}.status-chip{border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.status-chip.success{color:#15803d;background:#22c55e1f}.status-chip.muted{color:#4b5563;background:#6b72801f}.profile-actions-grid .mobile-only-logout-instr{justify-content:center;gap:8px;width:100%;margin-top:10px;display:none}@media (max-width:768px){.profile-actions-grid .mobile-only-logout-instr{display:inline-flex}}.dashboard-kpi{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.dashboard-kpi-page .block-header{margin:0}.kpi-card{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 3px 8px #0000000f}.kpi-card.kpi-wide{flex-direction:column;justify-content:space-between;display:flex}.kpi-title{align-items:center;gap:8px;margin-bottom:8px;font-size:17px;font-weight:700;display:flex}.kpi-icon{color:var(--brand,#1984ff);font-size:18px}.kpi-content{flex-direction:column;gap:2px;display:flex}.kpi-row{justify-content:space-between;padding:3px 0;font-size:15px;display:flex}.kpi-row.small{opacity:.75;font-size:14px}.kpi-load-value{color:var(--brand,#1984ff);margin-top:6px;font-size:32px;font-weight:800}.kpi-sub.small{opacity:.8;margin-top:4px;font-size:14px}.dashboard-kpi-page .block{margin:0}.dash-lesson{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #0000000f;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:14px;transition:transform 80ms,box-shadow .12s,border-color .12s;display:flex}.dash-lesson:hover{border-color:#0000001f;transform:translateY(-1px);box-shadow:0 10px 24px #0000000f}.dash-lesson.is-missed{background:#e74c3c08;border-color:#e74c3c33}.dash-lesson-main{flex:1;min-width:0}.dash-time{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.dash-time-strong{color:#333;font-weight:900}.dash-row{align-items:center;gap:10px;margin-top:4px;font-size:13px;display:flex}.dash-row.muted{opacity:.75}.dash-pill{background:#00000008;border:1px solid #00000014;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.dash-pill.done{color:#13783ff2;background:#2ecc711f;border-color:#2ecc7140}.dash-pill.planned{color:#875800f2;background:#ffc10724;border-color:#ffc10742}.dash-pill.missed{color:#a0281cf2;background:#e74c3c1f;border-color:#e74c3c40}.dash-list{flex-direction:column;gap:12px;display:flex}@media (max-width:560px){.kpi-title{font-size:16px}.kpi-load-value{font-size:28px}.dash-lesson{padding:12px}}.m-overlay,.m-overlay *,.m-overlay :before,.m-overlay :after{box-sizing:border-box}.m-overlay{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:16px;animation:.2s mFade;display:flex;position:fixed;inset:0;overflow:hidden}.m-window{--field-font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--field-font-size:16px;--field-line-height:1.25;--field-padding-y:11px;--field-padding-x:12px;--field-radius:999px;background:#fff;border-radius:20px;flex-direction:column;width:100%;min-width:0;max-width:900px;max-height:calc(80vh - 32px);animation:.2s mScale;display:flex;overflow:hidden;box-shadow:0 10px 30px #0003}.m-window.m-mobile{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:calc(100vh - 12px);animation:.25s ease-out mSlideUp}.m-drag{display:none}@media (max-width:768px){.m-overlay{justify-content:center;align-items:flex-end;padding:0}.m-drag{touch-action:pan-y;background:#fff;justify-content:center;width:100%;padding:10px 0 6px;display:flex}.m-drag-bar{background:#0000002e;border-radius:999px;width:44px;height:5px}}.m-header{background:#fff;border-bottom:1px solid #eee;flex:none;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex}@media (max-width:768px){.m-header{padding-top:8px;padding-bottom:10px}}.m-title{color:#333;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:16px;font-weight:800;overflow:hidden}.m-close{cursor:pointer;color:#555;background:#00000008;border:1px solid #00000014;border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.m-header:before{content:"";flex:none;width:36px;height:36px}.m-close:hover{background:#0000000f;border-color:#0000001f;transform:translateY(-1px)}.m-close:active{transform:translateY(0)}.m-body{-webkit-overflow-scrolling:touch;flex:auto;min-width:0;min-height:0;padding:14px 16px;overflow:auto}.form-vertical,.form-vertical-content{flex-direction:column;gap:12px;min-width:0;max-height:none;padding-top:6px;display:flex;overflow:visible}.form-field{flex-direction:column;gap:6px;width:100%;min-width:0;max-width:100%;display:flex;margin:0!important}.form-field label{color:var(--accent);min-width:0;font-weight:700;margin:0!important;font-size:16px!important}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field textarea,.form-field select{border-radius:var(--field-radius);width:100%;min-width:0;max-width:100%;padding:var(--field-padding-y) var(--field-padding-x);font-family:var(--field-font);font-size:var(--field-font-size);line-height:var(--field-line-height);text-overflow:ellipsis;white-space:nowrap;appearance:none;-webkit-text-size-adjust:100%;background:#fbfbfb;border:1px solid #00000024;outline:none;transition:box-shadow .2s,border-color .2s,background .2s;overflow:hidden}.form-field input::placeholder,.form-field textarea::placeholder{font-family:var(--field-font);font-size:var(--field-font-size);line-height:var(--field-line-height);opacity:.65}.form-field textarea{white-space:normal;resize:vertical;min-height:84px;overflow:auto}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:color-mix(in srgb, var(--accent) 65%, black);background:#fff;box-shadow:0 0 0 3px #00b7ff1f}.react-select__control,.react-select__value-container,.react-select__single-value,.react-select__input-container,.react-select__placeholder,.react-select__menu,.react-select__option{font-family:var(--field-font)!important;font-size:var(--field-font-size)!important;line-height:var(--field-line-height)!important}.react-select__control{border-radius:var(--field-radius)!important;min-height:calc((var(--field-padding-y) * 2) + 20px)!important;box-shadow:none!important;background:#fbfbfb!important;border-color:#00000024!important}.react-select__control:hover{border-color:#00000038!important}.react-select__control--is-focused{border-color:color-mix(in srgb, var(--accent) 65%, black)!important;background:#fff!important;box-shadow:0 0 0 3px #00b7ff1f!important}.react-select__value-container{padding:0 var(--field-padding-x)!important}.react-select__input-container{margin:0!important;padding:0!important}.react-select__placeholder{opacity:.65!important}.react-select__indicator{padding:0 10px!important}.react-select__indicator-separator{display:none!important}.form-field.checkbox-inline label{cursor:pointer;-webkit-user-select:none;user-select:none;color:#222;background:#00000005;border:1px solid #0000000f;border-radius:12px;align-items:flex-start;gap:12px;padding:10px 12px;line-height:1.35;display:flex}.form-field.checkbox-inline input[type=checkbox]{accent-color:var(--brand);flex:none;width:18px!important;height:18px!important;margin:2px 0 0!important}.form-divider{background:linear-gradient(90deg,#0000,#00000024,#0000);border:0;height:1px;margin:14px 0 0}.form-section-title{letter-spacing:.25px;color:#333;border-radius:12px;align-items:center;gap:10px;padding-top:8px;font-size:13px;font-weight:900;display:flex}.modal-actions{border-top:1px solid #eee;justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-top:10px;padding-top:14px;display:flex}.btn-primary,.btn-cancel,.btn-secondary,.btn-warning,.btn-delete{cursor:pointer;border:none;border-radius:20px;align-items:center;gap:10px;min-width:0;padding:9px 16px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s;display:flex}.btn-primary{background:var(--accent);color:#fff}.btn-cancel{color:#333;background:#0000000f}.btn-secondary{color:#fff}.btn-secondary:hover{background:#43a047;transform:translateY(-1px);box-shadow:0 6px 14px #4caf5040}.btn-warning{color:#ff9800;background:#fff;border:1.5px solid #ff980099}.btn-warning:hover{background:#ff98001a;transform:translateY(-1px)}.btn-delete{color:#fff;background:#ff4d4f}.btn-delete:hover{background:#e63a3d;transform:translateY(-1px);box-shadow:0 6px 14px #e63a3d40}.form-field .css-b62m3t-container{width:100%;min-width:0;font-family:var(--field-font);font-size:var(--field-font-size);line-height:var(--field-line-height)}.form-field .css-b62m3t-container>div[class*=-control]{min-height:calc((var(--field-padding-y) * 2) + 20px);border-radius:var(--field-radius);box-shadow:none;background:#fbfbfb;border:1px solid #00000024;transition:box-shadow .2s,border-color .2s,background .2s}.form-field .css-b62m3t-container>div[class*=-control]:hover{border-color:#00000038}.form-field .css-b62m3t-container>div[class*=-control][class*=--is-focused],.form-field .css-b62m3t-container>div[class*=-control]:focus-within{border-color:color-mix(in srgb, var(--accent) 65%, black);background:#fff;box-shadow:0 0 0 3px #00b7ff1f}.form-field .css-b62m3t-container div[class*=-ValueContainer],.form-field .css-b62m3t-container div[class*=-valueContainer],.form-field .css-b62m3t-container .css-hlgwow{padding:0 var(--field-padding-x)}.form-field .css-b62m3t-container div[class*=-placeholder],.form-field .css-b62m3t-container div[class*=-singleValue]{font-family:var(--field-font);font-size:var(--field-font-size);line-height:var(--field-line-height)}.form-field .css-b62m3t-container div[class*=-placeholder]{opacity:.65}.form-field .css-b62m3t-container input{font-family:var(--field-font)!important;font-size:var(--field-font-size)!important;line-height:var(--field-line-height)!important}.form-field .css-b62m3t-container div[class*=-IndicatorsContainer],.form-field .css-b62m3t-container .css-1wy0on6{padding-right:8px}.form-field .css-b62m3t-container span[class*=indicatorSeparator],.form-field .css-b62m3t-container .css-1u9des2-indicatorSeparator{display:none}.form-field .css-b62m3t-container div[class*=-menu]{z-index:2100;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #00000024}.form-field .css-b62m3t-container div[class*=-menuList]{padding:6px}.form-field .css-b62m3t-container div[class*=-option]{font-family:var(--field-font);font-size:var(--field-font-size);line-height:var(--field-line-height);cursor:pointer;border-radius:10px;padding:10px}.form-field .css-b62m3t-container div[class*=-option][aria-selected=true],.form-field .css-b62m3t-container div[class*=-option]:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.form-field .css-b62m3t-container>div[class*=-control][class*=--is-disabled]{opacity:.75;background:#00000008}@media (max-width:1024px){.m-window{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:calc(60vh - 12px)}.m-body{padding:12px 14px}.modal-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.btn-primary,.btn-cancel,.btn-secondary,.btn-warning,.btn-delete{width:100%;padding:12px 14px}}@supports (padding:max(0px)){@media (max-width:768px){.m-window{padding-bottom:max(12px, env(safe-area-inset-bottom))}}}.m-window input:not([type=checkbox]):not([type=radio]),.m-window textarea,.m-window select,.m-window .react-select__control,.m-window .react-select__single-value,.m-window .react-select__placeholder{font-size:16px!important}@keyframes mFade{0%{opacity:0}to{opacity:1}}@keyframes mScale{0%{opacity:.92;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes mSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.isp-page{padding:16px 16px 28px}.isp-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.isp-title{align-items:flex-start;gap:12px;display:flex}.isp-titleIcon{background:linear-gradient(135deg,#0000000a,#00000005);border:1px solid #0000000f;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.isp-titleText h2{letter-spacing:.2px;margin:0;font-size:20px}.isp-subtitle{opacity:.78;max-width:720px;margin:4px 0 0;font-size:13px;line-height:1.35}.isp-actions{align-items:center;gap:10px;display:flex}.isp-btnIcon{background:var(--bg-card,#fff);cursor:pointer;border:1px solid #00000014;border-radius:12px;place-items:center;width:40px;height:40px;transition:transform .12s,box-shadow .12s,border-color .12s;display:grid}.isp-btnIcon:hover{border-color:#0000001f;transform:translateY(-1px);box-shadow:0 6px 16px #0000000f}.isp-btnIcon:active{box-shadow:none;transform:translateY(0)}.isp-viewToggle{background:var(--bg-card,#fff);border:1px solid #00000014;border-radius:14px;gap:4px;padding:4px;display:flex}.isp-viewToggle button{cursor:pointer;opacity:.72;background:0 0;border:none;border-radius:10px;width:40px;height:32px;transition:background .12s,opacity .12s}.isp-viewToggle button:hover{opacity:.92;background:#0000000a}.isp-viewToggle button.isp-active{opacity:1;background:#0000000f}.isp-filters{background:var(--bg-card,#fff);border:1px solid #00000014;border-radius:16px;margin-bottom:14px;padding:12px}.isp-fRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.isp-fRow+.isp-fRow{margin-top:10px}.isp-filter{background:#00000005;border:1px solid #0000000f;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex}.isp-filter svg{opacity:.75}.isp-filter select{background:0 0;border:none;outline:none;min-width:160px;font-size:14px}.isp-search{background:#fff;border:1px solid #00000014;border-radius:14px;outline:none;flex:1;min-width:240px;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.isp-search:focus{border-color:color-mix(in srgb, var(--brand) 55%, #0000002e);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 16%, transparent)}.isp-chips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.isp-chip{white-space:nowrap;background:#00000005;border:1px solid #00000014;border-radius:999px;padding:6px 10px;font-size:12px}.isp-chip.isp-ok{background:color-mix(in srgb, var(--brand) 12%, #fff);border-color:color-mix(in srgb, var(--brand) 28%, #0000001f)}.isp-chip.isp-warn{background:#f1c40f24;border-color:#f1c40f40}.isp-chip.isp-bad{background:#e74c3c1f;border-color:#e74c3c38}.isp-loading{background:var(--bg-card,#fff);opacity:.85;border:1px dashed #00000024;border-radius:16px;padding:18px}.isp-empty{background:var(--bg-card,#fff);opacity:.8;border:1px dashed #00000024;border-radius:16px;padding:18px}.isp-header .subtitle{margin:0}.isp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1100px){.isp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.isp-cards{grid-template-columns:1fr}}.isp-card{background:var(--bg-card,#fff);cursor:pointer;border:1px solid #00000014;border-radius:18px;padding:14px;transition:transform .12s,box-shadow .12s,border-color .12s;position:relative;overflow:hidden;box-shadow:0 6px 16px #0000000a}.isp-card:hover{border-color:#0000001f;transform:translateY(-2px);box-shadow:0 12px 26px #00000012}.isp-card:active{transform:translateY(0);box-shadow:0 6px 16px #0000000a}.isp-card.isp-inactive{opacity:.86}.isp-card.isp-blocked{border-color:#e74c3c38}.isp-cardTop{align-items:flex-start;gap:12px;display:flex}.isp-avatar{background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 14%, #fff), #00000005);border:1px solid color-mix(in srgb, var(--brand) 20%, #00000014);border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.isp-cardMain{flex:1;min-width:0}.isp-name{letter-spacing:.2px;margin:0;font-size:16px;line-height:1.2}.isp-phone{opacity:.9;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;display:flex}.isp-meta{opacity:.78;white-space:normal;margin:6px 0 0;font-size:13px;line-height:1.35}.isp-meta b{opacity:.95}.isp-cardBottom{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.isp-badge{background:#00000005;border:1px solid #00000014;border-radius:999px;padding:6px 10px;font-size:12px}.isp-badge.isp-on{background:color-mix(in srgb, var(--brand) 12%, #fff);border-color:color-mix(in srgb, var(--brand) 28%, #0000001f)}.isp-badge.isp-off{opacity:.85;background:#00000008;border-color:#0000001a}.isp-badge.isp-danger{color:#b03a2e;background:#e74c3c1f;border-color:#e74c3c38}.isp-badge.isp-warn{color:#7a5b00;background:#f1c40f24;border-color:#f1c40f40}.isp-card:before{content:"";background:linear-gradient(90deg, var(--brand), color-mix(in srgb, var(--brand) 40%, #fff));opacity:.55;height:4px;position:absolute;inset:0 0 auto}.isp-tableWrap{background:var(--bg-card,#fff);border:1px solid #00000014;border-radius:16px;padding:10px}@media (max-width:1024px){.isp-page{padding:10px 0}.isp-fRow{width:100%}.isp-header{flex-direction:column;align-items:stretch}.isp-actions{justify-content:space-between;width:100%}.isp-filters{padding:10px}.isp-filter{width:100%}.isp-filter select{width:100%;min-width:140px}.isp-chips{justify-content:flex-start}}.isp-filters--simple{gap:10px}.isp-fRow--simple{align-items:center;gap:10px;display:flex}.isp-filtersToggle{white-space:nowrap;align-items:center;display:inline-flex}.isp-filtersToggle.is-active{box-shadow:0 0 0 2px #0ea5a32e}.isp-fRow--filters{flex-wrap:wrap;gap:10px}.isp-filter--minor{opacity:.9}@media (max-width:720px){.isp-fRow--simple{flex-direction:column;align-items:stretch}.isp-filtersToggle{justify-content:center}}.phone-link{color:#0a6f6d;background:#0ea5a314;border:1px solid #0ea5a338;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.phone-link:hover{background:#0ea5a31f;border-color:#0ea5a359}.phone-link:focus-visible{outline:none;box-shadow:0 0 0 3px #0ea5a340}.phone-link__ic{opacity:.9}.phone-link__text{letter-spacing:.2px}.phone-link--disabled{color:#00000073;background:#0000000a;border-color:#00000014;font-weight:500}.isp-card--contact .isp-name{align-items:center;margin-bottom:6px;display:flex}@media (max-width:1024px){.isp-name{font-size:18px}.phone-link{border-radius:12px;justify-content:center;width:100%;margin:0;padding:10px 12px;font-size:16px}.student-card-page-detail .card-header{align-items:flex-start}.student-card-page-detail .info-row span,.student-card-page-detail .info-row.compact b{font-size:16px}}.mobFilters{flex-direction:column;gap:12px;display:flex}.mobFilters__search{width:100%}.mobFilters__row{flex-direction:column;gap:6px;display:flex}.mobFilters__label{opacity:.8;font-size:13px}.mobFilters__select{border-radius:10px;width:100%;padding:10px 12px}.mobFilters__actions{gap:10px;margin-top:4px;display:flex}.mobFilters__actions .btn-secondary,.mobFilters__actions .btn-primary{flex:1}.dashboard-grid--single{grid-template-columns:1fr!important}.dashboard-grid--single .dash-col{min-width:0}.student-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.back-btn{cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;line-height:1;display:inline-flex}.card-student-new-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.btn-pdf{border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:inline-flex}.phone-link{background:#0ea5a314;border:1px solid #0ea5a340;border-radius:12px;justify-content:center;align-items:center;padding:10px 12px;font-weight:700;text-decoration:none;display:inline-flex}.phone-link:active{transform:scale(.985)}.card-profile .profile-main{align-items:flex-start;gap:14px;display:flex}.card-profile .student-ava img{object-fit:cover;border-radius:16px;width:76px;height:76px}@media (max-width:640px){.student-card-page-detail{padding-bottom:80px}.card-profile .profile-main{flex-direction:row;align-items:flex-start}.card-profile .profile-name{font-size:20px;line-height:1.2}.card-student-new-header{flex-direction:column;align-items:stretch}.card-student-new-header>div{width:100%}.btn-pdf{justify-content:center;width:100%}.info-row.compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.info-row.compact b{word-break:break-word;font-weight:700}.phone-link{width:100%;margin-top:6px}}.card-wide{overflow:hidden}.card-wide .datatable,.card-wide table{max-width:100%}.card-wide .datatable-wrap,.card-wide .table-wrap,.card-wide .dataTableWrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.card-wide input[type=text],.card-wide input[type=search]{border-radius:12px}@media (max-width:640px){.card{border-radius:16px}}:root{--brand:var(--brand,#1984ff);--radius:16px;--shadow:0 10px 26px #0000000f;--line:#00000014;--muted:#0009}.slots-page{padding:16px}.muted{color:#0000008c}.warn{color:#785000f2;background:#ffc1071a;border:1px solid #ffc10759;border-radius:14px;align-items:center;gap:8px;margin-top:10px;padding:12px 14px;font-size:15px;font-weight:700;display:inline-flex}.actions-notif{box-shadow:none;flex-wrap:wrap;align-items:center;gap:10px;padding:0;display:flex}.block.slots-block{margin:0;padding:10px}.week-nav,.day-nav{justify-content:center;align-items:center;gap:10px;margin:10px 0 14px;display:flex}.week-label,.day-label{color:#000000c7;background:#00000005;border:1px solid #00000014;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700}.nav-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.nav-btn:hover{background:#00000008;border-color:#00000029}.nav-btn:active{transform:translateY(1px)}.nav-btn:disabled{opacity:.45;cursor:not-allowed}.mobile-slots-swipe-area{touch-action:pan-y}.mobile-swipe-hint{text-align:center;color:#00000073;margin:-2px 0 12px;font-size:12px}.slots-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:14px;display:grid}@media (max-width:1400px){.slots-week-grid{scrollbar-gutter:stable;grid-template-columns:repeat(7,220px);padding-bottom:8px;overflow-x:auto}.slots-week-grid::-webkit-scrollbar{height:10px}.slots-week-grid::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}.slots-week-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:999px}}.week-day-column{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;overflow:hidden;box-shadow:0 8px 22px #0000000a}.week-day-header{background:#00000005;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:700;display:flex}.week-day-date{color:#0000008c;font-size:12px;font-weight:800}.week-day-body{flex-direction:column;gap:10px;padding:10px;display:flex}.empty-day{color:#00000073;padding:12px 4px;font-size:13px}.slot-card-new{background:#fff;border:1px solid #00000014;border-radius:14px;padding:10px;transition:box-shadow .15s,transform 80ms,border-color .15s;position:relative;box-shadow:0 6px 18px #0000000a}.slot-card-new:hover{border-color:#00000024;transform:translateY(-1px);box-shadow:0 10px 26px #0000000f}.slot-card-new.slot-free,.slot-card-new.slot-reserved,.slot-card-new.slot-lesson,.slot-card-new.slot-busy,.slot-card-new.slot-completed,.slot-card-new.slot-missed{background:#fff!important}.slot-card-new:before{content:"";background:#0000001f;border-radius:999px;width:4px;position:absolute;top:10px;bottom:10px;left:0}.slot-card-new.slot-free:before{background:#1984ff8c}.slot-card-new.slot-reserved:before{background:#00000047}.slot-card-new.slot-lesson:before,.slot-card-new.slot-busy:before{background:#e74c3c73}.slot-card-new.slot-completed:before{background:#2ecc718c}.slot-card-new.slot-missed:before{background:#ffc1078c}.slot-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.slot-time-new{color:#000000d1;letter-spacing:.2px;font-size:13.5px;font-weight:700}.slot-status-pill{color:#0000008c;background:#00000008;border:1px solid #0000001a;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.slot-status-text{color:#0000008c;margin-top:6px;font-size:12.5px}.lesson-info{color:#000000c7;background:#00000008;border:1px solid #0000000f;border-radius:12px;margin-top:8px;padding:10px;font-size:12.5px}.lesson-comment{color:#0000009e;margin-top:6px;font-size:12px}.slot-actions-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.slot-action-btn{color:#000000bf;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #0000001f;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.slot-action-btn:hover{background:#00000008;border-color:#0000002e}.slot-action-btn:active{transform:translateY(1px)}.slot-action-btn.primary{color:#1984fff2;background:#1984ff1a;border-color:#1984ff38}.slot-action-btn.primary:hover{background:#1984ff24;border-color:#1984ff4d}.slot-action-btn.warning{color:#785000f2;background:#ffc10724;border-color:#ffc1074d;margin:0}.slot-action-btn.danger{color:#e74c3ceb;background:#e74c3c14;border-color:#e74c3c38}.slot-delete-btn{color:#e74c3ceb;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e74c3c0f;border:1px solid #e74c3c33;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.slot-delete-btn:hover{background:#e74c3c1a;border-color:#e74c3c47}.slot-delete-btn:active{transform:translateY(1px)}.slot-action-btn:disabled,.slot-delete-btn:disabled{opacity:.55;cursor:not-allowed}.readonly-field{color:#000000a6;background:#00000005;border:1px dashed #0000002e;border-radius:20px;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:600;display:flex}.hint{color:#00000085;font-size:12px;display:block}.days{flex-wrap:wrap;gap:8px;display:flex}.day{border:1px solid color-mix(in srgb, var(--brand) 35%, transparent);color:color-mix(in srgb, var(--brand) 80%, #000);cursor:pointer;background:#fff;border-radius:999px;padding:8px 10px;font-weight:900;transition:background .12s,border-color .12s,color .12s,transform 80ms}.day:hover{background:color-mix(in srgb, var(--brand) 6%, #fff);border-color:color-mix(in srgb, var(--brand) 55%, transparent)}.day:active{transform:translateY(1px)}.day.active{background:color-mix(in srgb, var(--brand) 18%, #fff);border-color:color-mix(in srgb, var(--brand) 85%, transparent);color:var(--brand)}.time-row{align-items:center;gap:8px;display:flex}.time-row span{color:#00000073;font-weight:700}.slots-page .actions-notif{box-shadow:none;border:none;padding:0}@media (max-width:1024px){.slots-page{padding:10px 0}.page-header.slots-header.lessons-header{flex-direction:column;align-items:stretch;gap:12px}.actions-notif{justify-content:flex-start;gap:10px;width:100%}.day-nav{justify-content:space-between;gap:10px;margin:8px 0 12px}.day-label{text-align:center;flex:1;justify-content:center;align-items:center;min-height:44px;padding:10px 12px;font-size:15px;display:flex}.nav-btn{width:44px;height:44px;font-size:16px}.day-slots-list{flex-direction:column;gap:12px;display:flex}.slot-card-new{border-radius:14px;padding:14px}.slot-card-top{gap:12px}.slot-time-new{font-size:17px;font-weight:800}.slot-status-pill{width:32px;height:32px;font-size:14px}.slot-status-text{margin-top:8px;font-size:14px}.lesson-info{border-radius:14px;margin-top:10px;padding:12px;font-size:14px;line-height:1.45}.lesson-comment{margin-top:8px;font-size:13px;line-height:1.4}.slot-actions-row{gap:8px;margin-top:12px}.slot-action-btn{gap:7px;min-height:42px;padding:10px 13px;font-size:13px}.slot-delete-btn{width:42px;height:42px;margin-left:0;font-size:15px}.warn{width:100%;font-size:14px;line-height:1.4}.readonly-field{border-radius:16px;padding:12px;font-size:14px}.hint{font-size:12px}.days{gap:10px}.day{min-height:42px;padding:10px 12px;font-size:13px}.modal-actions{flex-wrap:wrap;justify-content:stretch}.modal-actions>button{flex:auto;min-height:44px}}@media (max-width:640px){.slots-page{padding:8px 0 14px}.block.slots-block{padding:8px}.day-label{font-size:16px;font-weight:800;line-height:1.35}.mobile-swipe-hint{margin-bottom:14px;font-size:13px}.slot-card-new{border-radius:16px;padding:15px}.slot-time-new{font-size:18px}.slot-status-text,.lesson-info{font-size:15px}.lesson-comment{font-size:14px}.slot-action-btn{min-height:46px;padding:11px 14px;font-size:14px}.slot-delete-btn{width:46px;height:46px}.empty-day{padding:14px 6px;font-size:14px}.warn{font-size:15px}}.instr-sessions-page{padding:20px}.btn-ghost{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #0f172a14}.btn-ghost:disabled{opacity:.6;cursor:default}.spin{animation:.8s linear infinite spin}.muted-text{color:#6b7280;margin:8px 0 0;font-size:14px}.sessions-list{flex-direction:column;gap:12px;display:flex}.session-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex;box-shadow:0 2px 10px #0f172a12}.session-card.extra{border-left:4px solid #8b5cf6;padding-left:12px}.session-main{flex-direction:column;flex:1;gap:8px;display:flex}.session-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.session-row.top{gap:10px}.session-date,.session-time,.session-student,.session-car{color:#111827;align-items:center;gap:8px;font-size:14px;display:inline-flex}.badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.badge-blue{color:#1e3a8a;background:#dbeafe}.badge-yellow{color:#92400e;background:#fef3c7}.badge-green{color:#166534;background:#dcfce7}.badge-purple{color:#5b21b6;background:#ede9fe}.paid-chip{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;font-weight:900}.session-actions{flex-direction:column;gap:8px;min-width:220px;display:flex}.session-actions .small{border-radius:999px;padding:11px 12px;font-size:14px;font-weight:700}@media (max-width:768px){.instr-sessions-page{padding:12px}.page-header{flex-direction:column;align-items:stretch}.btn-ghost{justify-content:center;width:100%}.session-card{flex-direction:column;gap:12px}.session-actions{min-width:0}.session-actions .small{width:100%}}.maplibregl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:-webkit-full-screen{width:100%;height:100%}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.maplibregl-ctrl-group button{box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;outline:none;width:29px;height:29px;padding:0;display:block}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.maplibregl-ctrl-group button+button{border-top:1px solid buttontext}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:2s linear infinite maplibregl-spin}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:content-box;color:#000;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{box-sizing:border-box;cursor:pointer;background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{box-sizing:border-box;color:#333;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.maplibregl-popup-close-button{cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;position:relative;box-shadow:0 1px 2px #0000001a}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:"";animation:2s infinite maplibregl-user-location-dot-pulse;position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:"";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items:center;padding:1rem;font-size:1.4em;line-height:1.2;transition:opacity 1s 1s;display:flex;position:absolute;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}.practice-detail{flex-direction:column;gap:18px;padding:20px;display:flex}.practice-detail .page-header{padding:0}.detail-header-with-action{justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-header-with-action h3{align-items:center;gap:8px;margin:0;display:flex}.card.detail-block{margin:0}.detail-block{background:var(--bg-card,#fff);border:1px solid #0000000f;border-radius:14px;padding:18px 20px;box-shadow:0 2px 6px #0000000f}.detail-block h3{align-items:center;gap:6px;margin-bottom:12px;font-size:17px;display:flex}.info-row{gap:10px;margin:6px 0;display:flex}.practice-detail .itog{flex-direction:column;gap:12px;display:flex}.itog{border:1px solid #0000000f;border-radius:16px;padding:16px 18px;box-shadow:0 8px 22px #0f172a0f}.itog-head{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.itog-head h3{align-items:center;gap:8px;margin:0;display:flex}.itog-body{gap:16px;padding-top:10px;display:flex}.itog-col{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.itog-label{color:#374151;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.itog-rating{background:#f9fafb;border:1px solid #eef2f7;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.itog-hint{color:#6b7280;font-size:13px}.stars{align-items:center;gap:6px;display:inline-flex}.star{cursor:pointer;color:#d1d5db;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;font-size:28px;line-height:1;transition:transform .1s,color .12s,filter .12s}.star.on{color:#f2c94c;filter:drop-shadow(0 2px 2px #f2c94c40)}.star:hover{transform:translateY(-1px)scale(1.03)}.star:active{transform:translateY(0)scale(.97)}.stars.disabled .star{cursor:default;opacity:.55;filter:none;transform:none}.stars-value{color:#374151;margin-left:8px;font-size:13px;font-weight:900}.itog-textarea{resize:vertical;background:#fcfcfd;border:1px solid #e5e7eb;border-radius:14px;outline:none;width:100%;padding:12px;font-size:14px;transition:box-shadow .12s,border-color .12s,background .12s}.itog-textarea:focus{background:#fff;border-color:#1984ff8c;box-shadow:0 0 0 3px #1984ff1f}.itog-textarea:disabled{color:#666;background:#f7f7f7;border-color:#e0e0e0}.itog-footer{border-top:1px solid #0000000f;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.itog-save{border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.itog-footer-note{color:#6b7280;font-size:13px}.pill{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.pill.ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.pill.dirty{color:#92400e;background:#fef3c7;border-color:#fde68a}.route-card{padding-bottom:10px}.route-empty{color:#6b7280;flex-direction:column;align-items:center;gap:8px;padding:12px 0 6px;display:flex}.session-main{width:100%}.route-placeholder-svg{opacity:.95}@media (max-width:1024px){.itog-body{flex-direction:column}.instr-page.practice-detail .page-header{align-items:flex-start}}@media (max-width:720px){.practice-detail{padding:10px 0}.info-row{flex-direction:column}.info-row span{width:100%}.itog-footer{flex-direction:column;align-items:stretch}.itog-save{justify-content:center;width:100%}}.missed-banner{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;box-shadow:0 6px 18px #0f172a0f}.missed-banner .missed-ic{background:#ffedd5;border:1px solid #7c2d121f;border-radius:12px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.missed-banner .missed-text{flex-direction:column;gap:4px;min-width:0;display:flex}.missed-banner .missed-title{letter-spacing:.02em;font-weight:900}.missed-banner .missed-reason{color:#7c2d12d9;word-break:break-word;font-size:14px;line-height:1.35}.practice-detail .page-header{align-items:center;gap:12px}.practice-detail .page-title{align-items:center;gap:10px;min-width:0;margin:0;font-size:20px;font-weight:800;display:flex}.practice-detail .title-icon{flex:none}.detail-block .info-row{background:#00000005;border-radius:12px;padding:8px 10px}.detail-block .info-row span{color:#111827cc;width:150px}@media (max-width:720px){.detail-block .info-row{padding:10px 12px}}.pill.missed{color:#7c2d12;background:#ffedd5;border-color:#fed7aa}.itog.is-locked{opacity:.95}.itog.is-locked .itog-hint{color:#6b7280e6}.itog.is-locked .itog-textarea{background:#f6f7f9}.itog.is-locked .stars-value{opacity:.8}.route-card .route-empty p{color:#6b7280f2;margin:0;font-weight:700}@media (max-width:720px){.practice-detail .page-header{flex-direction:column;align-items:flex-start}.practice-detail .page-title{font-size:18px}}:root{--bg:#f9fafb;--card-bg:#fff;--text-main:#111827;--text-muted:#6b7280;--positive:#22c55e;--negative:#ef4444;--brand:#2563eb;--accent:#f97316;--shadow:0 2px 8px #0f172a0f;--radius:14px}.admin-dashboard{color:var(--text-main);flex-direction:column;gap:20px;padding:20px;display:flex}.mobile-only-logout{justify-content:center;align-items:center;gap:8px;margin:0;display:none}@media (max-width:768px){.mobile-only-logout{display:inline-flex}}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.stat-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:14px;padding:18px 20px;transition:all .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f172a14}.stat-card.clickable{cursor:pointer}.stat-card .icon{color:var(--brand);font-size:30px}.stat-card p{color:var(--text-muted);margin:0;font-size:15px}.stat-card h2{margin:0;font-size:24px;font-weight:700}.muted{color:var(--text-muted);font-size:15px}.positive{color:var(--positive);font-size:15px}.negative{color:var(--negative);font-size:15px}.row{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;display:grid}.admin-dashboard .card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;margin:0;padding:18px;display:flex}.card-header.dashboard{justify-content:flex-start;align-items:center;gap:8px;margin-bottom:0;display:flex}.cp2-ic{justify-content:center;align-items:center;display:inline-flex}.admin-dashboard .card-header svg{color:color-contrast(var(--brand) vs #333, #fff)}.admin-dashboard .card-header h3,.admin-dashboard .card-header h4{color:#111827;margin:0;font-size:18px;font-weight:600}.today-card{gap:10px}.today-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.today-grid p{color:var(--text-muted);margin:0;font-size:14px}.today-grid h2{margin:3px 0 0;font-size:25px}.status-item{background:#f8fafc;border-radius:10px;padding:10px 12px}.nearest-lessons{flex-direction:column;gap:6px;margin-top:6px;display:flex}.nearest-item{background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;font-size:15px;display:flex}.nearest-item .time{color:var(--accent);font-weight:600}.nearest-item .label{color:#374151;background:#e5e7eb;border-radius:999px;padding:2px 6px;font-size:15px}.type-practice,.type-theory{border-radius:999px;padding:2px 6px;font-size:15px;font-weight:500}.type-practice{color:#15803d;background:#dcfce7}.type-theory{color:#2563eb;background:#eff6ff}.risks-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.risks-list{flex-direction:column;gap:4px;margin:0;padding:10px 0;list-style:none;display:flex}.risk-item{color:#374151;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:15px;display:flex}.risk-item strong{color:#111827;margin-left:auto;font-weight:600}.risk-icon{color:var(--negative);font-size:16px}.risk-item.clickable{cursor:pointer;transition:background .15s,transform 80ms,box-shadow .15s}.risk-item.clickable:hover{background:#fffbeb;transform:translateY(-1px);box-shadow:0 1px 4px #0f172a1f}.hint{color:var(--text-muted);margin-top:6px;font-size:15px}.charts-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.chart-box{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:14px}.chart-box-wide{grid-column:1/-1}.chart-box h3{margin:0 0 6px;font-size:17px}.chart-scroll-x{-webkit-overflow-scrolling:touch;width:100%;padding-bottom:6px;overflow:auto hidden}.chart-scroll-x::-webkit-scrollbar{height:8px}.chart-scroll-x::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:13px;box-shadow:0 6px 24px #00000014}.chart-tooltip strong{margin-bottom:6px;display:block}.tooltip-row{justify-content:space-between;gap:12px;margin-top:4px;display:flex}.chart-hint{color:#6b7280;margin-top:10px;font-size:13px}.chart-legend{flex-wrap:wrap;gap:10px 14px;margin-top:12px;display:flex}.chart-legend-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px 16px;margin-top:14px;display:grid}.chart-legend-item{color:#374151;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.chart-legend-item-strong{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;padding:8px 10px}.chart-legend-item-strong .chart-legend-text{color:#374151;font-size:14px}.chart-legend-item-strong strong{color:#111827}.chart-legend-color{border-radius:50%;flex:0 0 10px;width:10px;height:10px;margin-top:4px}.chart-legend-text{word-break:break-word;line-height:1.35}.attendance-card{flex-direction:column;gap:16px;display:flex}.attendance-kpi{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kpi-item{background:#f8f9fb;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.kpi-item.theory{border-left:4px solid #0d6efd}.kpi-item.practice{border-left:4px solid #20c997}.kpi-label{color:#6c757d;font-size:13px}.kpi-value{font-size:28px;font-weight:700;line-height:1.2}.kpi-hint{color:#adb5bd;font-size:12px}.attendance-warn{border-top:1px dashed #e0e0e0;padding-top:12px}.warn-title{color:#dc3545;margin-bottom:6px;font-size:13px;font-weight:600}.warn-list{margin:0;padding:0;list-style:none}.warn-list li{justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;display:flex}.group-name{color:#495057}.group-value{color:#dc3545;font-weight:600}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin-top:8px;display:grid}.actions-grid button{background:var(--brand);color:color-contrast(var(--brand) vs #111, #fff);cursor:pointer;text-shadow:0 1px 1px #00000040;border:none;border-radius:20px;padding:7px 8px;font-size:15px;font-weight:500;transition:all .18s}.actions-grid button:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 2px 6px #2563eb40}.events-list{margin:6px 0 0;padding:0;list-style:none}.events-list li{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:4px 0;font-size:15px;display:flex}.events-list .time{color:var(--text-muted);min-width:52px;font-size:15px}.mt-10{margin-top:10px}.mt-5{margin-top:5px}.mini-list{margin:0;padding:0;list-style:none}.mini-list li{padding:2px 0;font-size:11px}@media (min-width:1025px){.charts-main .attendance-card{grid-column:1/-1}}@media (max-width:1280px){.chart-legend-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width:1024px){.charts-main{grid-template-columns:1fr}.charts-main .attendance-card,.chart-box-wide{grid-column:auto}.chart-legend-grid{grid-template-columns:1fr}.admin-dashboard{gap:16px;padding:10px 0}.stat-card h2{font-size:22px}.row{grid-template-columns:1fr}}@media (max-width:768px){.admin-dashboard{gap:12px;padding:10px 0}.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card{gap:8px;padding:10px}.stat-card .icon{font-size:22px}.stat-card h2{font-size:18px}.row,.risks-row{grid-template-columns:1fr;gap:10px}.admin-dashboard .card{padding:12px}.today-grid{grid-template-columns:1fr;gap:6px}.actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-box{padding:14px}.chart-legend{gap:8px 10px}.chart-legend-item{font-size:12px}.attendance-kpi{grid-template-columns:1fr}}@media (max-width:480px){.stats-cards{grid-template-columns:1fr 1fr}.stat-card{text-align:center;flex-direction:column;align-items:center}.chart-box{padding:10px}}.filters-bar select,.filters-bar input[type=date]{font-family:system-ui}.ps-status{width:fit-content}.chart-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:18px}.chart-title{color:var(--text-muted);border-bottom:1px solid #efefef;align-items:center;gap:8px;padding:12px 14px;font-size:.95rem;font-weight:500;display:flex}.chart-body{padding:10px 6px 14px}.section-title{color:var(--text-muted);align-items:center;gap:6px;margin:12px 0 8px;font-weight:500;display:flex}.table-wrapper{box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.admin-salaries-page .data-table{margin:0}@media (max-width:1024px){.admin-salaries-page .page-header{flex-direction:column;align-items:flex-start;gap:10px}.admin-salaries-page{padding:10px 0 60px}}@media (max-width:680px){.filters-bar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px;padding:16px}.quick-buttons{flex-direction:column;gap:8px;width:100%;display:flex}.quick-buttons button{border-radius:10px;width:100%;padding:10px 0;font-size:.95rem}.filters-inline{flex-direction:column;gap:12px;width:100%;display:flex}.fi{align-items:center;width:92%;display:flex}.fi input[type=date],.fi select{background:0 0;border:none;outline:none;width:100%;font-size:1rem}.fi svg{opacity:.6;flex-shrink:0;font-size:1.1rem}.filters-inline span{display:none!important}.filters-bar .btn-secondary{border-radius:12px;justify-content:center;width:100%;margin:0;padding:12px;font-size:1rem}}@media (max-width:500px){.summary-cards{grid-template-columns:1fr 1fr}.quick-buttons{flex-direction:column;align-items:stretch;gap:6px}.quick-buttons button{text-align:center;width:100%}}.admin-salaries-page{color:var(--text-main);padding:20px}.page-header h2{align-items:center;gap:8px;font-size:1.4rem;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:16px;display:grid}.summary-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:6px;padding:16px 18px;transition:all .15s;display:flex}.summary-card:hover{transform:translateY(-2px)}.summary-card span{color:var(--text-muted);font-size:.86rem}.filters-bar{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.filters-bar span{color:var(--text-muted);font-size:.9rem}.filters-inline{align-items:center;gap:8px;display:flex}.fi{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.fi input[type=date],.fi select{background:0 0;border:none;outline:none;font-size:.9rem}.quick-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-buttons button{cursor:pointer;white-space:nowrap;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:6px 14px;font-size:.85rem;transition:all .15s}.quick-buttons button:hover{background:#e5e7eb}.report-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:18px;overflow:hidden}.report-card__title{color:var(--text-muted);border-bottom:1px solid #efefef;align-items:center;gap:8px;padding:12px 14px;font-size:.95rem;font-weight:500;display:flex}.report-card__body{padding:10px 6px 14px}.report-table{border-radius:calc(var(--radius) - 2px);overflow:hidden}.report-table__table{margin:0}.report-table__state{color:var(--text-muted);padding:14px 10px}@media (max-width:1024px){.admin-salaries-page .page-header{flex-direction:column;align-items:flex-start;gap:10px}.admin-salaries-page{padding:10px 0 60px}}@media (max-width:680px){.filters-bar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px;padding:16px}.quick-buttons{flex-direction:column;gap:8px;width:100%;display:flex}.quick-buttons button{border-radius:10px;width:100%;padding:10px 0;font-size:.95rem}.filters-inline{flex-direction:column;gap:12px;width:100%;display:flex}.fi{align-items:center;width:92%;display:flex}.fi input[type=date],.fi select{background:0 0;border:none;outline:none;width:100%;font-size:1rem}.fi svg{opacity:.6;flex-shrink:0;font-size:1.1rem}.filters-inline span{display:none!important}.filters-bar .btn-secondary{border-radius:12px;justify-content:center;width:100%;margin:0;padding:12px;font-size:1rem}.report-card__body{padding:10px 6px 12px}}@media (max-width:500px){.summary-cards{grid-template-columns:1fr 1fr}.quick-buttons{flex-direction:column;align-items:stretch;gap:6px}.quick-buttons button{text-align:center;width:100%}}:root{--chart-amount:#0ea5a3;--chart-lessons:#64748b}.charts-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:900px){.charts-grid{grid-template-columns:1fr}}.report-tooltip{box-shadow:var(--shadow);background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:180px;padding:10px 12px}.report-tooltip__title{margin-bottom:6px;font-weight:600}.report-tooltip__row{color:var(--text-main);justify-content:space-between;gap:10px;font-size:.9rem;display:flex}.report-tooltip__row span{color:var(--text-muted)}.report-table__table{border-collapse:separate;border-spacing:0;text-align:center;background:#fff;width:100%;font-size:.9rem}.report-table__table thead th{z-index:2;color:var(--text-muted);text-align:left;white-space:nowrap;text-align:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:.85rem;font-weight:500;position:sticky;top:0}.report-table__table tbody td{vertical-align:middle;text-align:center;background:#fff;border-bottom:1px solid #f0f0f0;padding:12px}.report-table__table td.num{text-align:right;font-variant-numeric:tabular-nums}.report-table__table tbody tr:last-child td{border-bottom:none}.report-table__table tbody tr:hover td{background:#f9fafb}.report-table__state{text-align:center;color:var(--text-muted);padding:18px 12px;font-size:.9rem}.report-table__table tbody td strong{font-weight:600}@media (max-width:768px){.report-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.report-table__table{min-width:720px}.report-table__table thead th,.report-table__table tbody td{padding:10px}}@media (max-width:480px){.report-table__table{font-size:.85rem}.report-table__table thead th{font-size:.8rem}}.cars-page,.instructors-page{color:#333;padding:20px}.page-header h2{align-items:center;gap:10px;font-size:22px;font-weight:600;display:flex}.page-header .actions{align-items:center;gap:10px;display:flex}.cars-grid,.cards-grid{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:20px;display:grid}.car-card{background:#fff;border-radius:20px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 3px 10px #0000000f}.car-card:hover{transform:translateY(-3px);box-shadow:0 5px 14px #00000014}.car-photo{border-bottom:1px solid #eee;width:100%;height:200px;overflow:hidden}.car-photo img{object-fit:cover;width:100%;height:100%}.car-info{flex-direction:column;flex:1;padding:12px 14px;display:flex}.car-info h3{color:#222;margin-bottom:6px;font-size:18px;font-weight:600}.car-info p{color:#555;margin:4px 0;font-size:14px}.no-instr{color:#aaa;font-style:italic}.card-actions{border-top:1px solid #eee;justify-content:flex-end;gap:8px;margin-top:auto;padding:10px 14px 12px;display:flex}.instr-card{cursor:pointer;background:#fff;border-radius:20px;flex-direction:column;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0000000f}.instr-card:hover{transform:translateY(-3px);box-shadow:0 6px 14px #0000001a}.instr-top .avatar{object-fit:cover;background-color:#f7f7f7;border-bottom:1px solid #eee;width:100%;height:200px}.instr-info{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.instr-info h3{margin:0 0 4px;font-size:16px}.instr-info .muted{color:#6b7280;align-items:center;gap:5px;margin:0;font-size:15px;display:flex}.badges-top{z-index:2;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:10px;left:10px;right:10px}.badge{border-radius:20px;padding:5px 10px;font-size:14px;font-weight:500}.badge-cat{color:#1e3a8a;background:#e0e7ff;border:1px solid #c7d2fe}.badge-exp{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.load-bar{background:#f3f4f6;border-radius:10px;height:10px;margin-top:8px;position:relative;overflow:hidden}.load-fill{border-radius:10px;height:100%;transition:width .6s}.load-label{color:#555;font-size:12px;position:absolute;top:-18px;right:0}select.period-select{appearance:none;color:#111;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1px solid #e5e7eb;border-radius:12px;padding:8px 34px 8px 12px;font-size:14px;font-weight:600;transition:border-color .2s,box-shadow .2s;box-shadow:0 2px 8px #0000000a}select.period-select:hover{border-color:#d1d5db}select.period-select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #0000000d}select.period-select:disabled{opacity:.6;cursor:not-allowed}@media (max-width:1400px){.cars-grid,.cards-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1200px){.cars-grid,.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.cars-page,.instructors-page{padding:10px 0}.page-header{gap:10px}.cars-grid,.cards-grid{grid-template-columns:1fr}.instr-info{padding:14px}}.result-modal{flex-direction:column;gap:18px;display:flex}.result-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.result-row{border-bottom:1px solid #e5e7eb;align-items:flex-start;gap:10px;padding-bottom:10px;font-size:15px;line-height:1.45;display:flex}.result-row:last-child{border-bottom:none;padding-bottom:0}.result-row>span{color:#6b7280;flex-shrink:0;min-width:140px;font-weight:500}.result-row>b{color:#111827;word-break:break-word;font-weight:700}.result-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.btn-copy{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-copy:hover{background:#dbeafe;border-color:#bfdbfe}.btn-copy:active{transform:translateY(1px)}.result-modal p{color:#374151;margin:0;font-size:16px}@media (max-width:768px){.result-row{flex-direction:column;gap:4px}.result-row>span{min-width:unset}.result-actions{flex-direction:column-reverse}.result-actions .btn-copy,.result-actions .btn-primary{width:100%}}.detail-page{flex-direction:column;gap:20px;margin-bottom:30px;padding:20px 10px;display:flex}.detail-wrap{flex-direction:column;gap:16px;display:flex}.detail-page .back-btn{width:fit-content;margin:0}.detail-card{background:#fff;border-radius:20px;flex-wrap:wrap;display:flex;overflow:hidden;box-shadow:0 3px 10px #0000000f}.detail-image{flex:300px;max-width:400px;height:280px;overflow:hidden}.detail-image img{object-fit:cover;width:100%;height:100%}.detail-info{flex:300px;padding:20px}.detail-info h2{margin-bottom:10px;font-size:24px}.detail-info p{color:#444;margin:6px 0;font-size:15px}.detail-info .link{color:#333;cursor:pointer;font-weight:600;transition:all .2s}.detail-info .link:hover{color:var(--accent);text-decoration:underline}.detail-header{background:#fff;border:1px solid #eee;border-radius:16px;align-items:center;gap:16px;padding:16px;display:flex}.avatar-xl{object-fit:cover;background:#f3f4f6;border-radius:50%;width:84px;height:84px}.detail-header .main h2{margin:0 0 4px}.detail-header .muted{color:#6b7280;margin:0 0 8px}.detail-header .row{color:#374151;align-items:center;gap:8px;margin:0 0 12px;display:flex}.detail-header .actions{gap:8px;display:flex}.btn{background:var(--brand);color:#000;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:inline-flex}.btn.outline{color:#111;background:#fff;border:1px solid #e5e7eb}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.metric{background:#fff;border:1px solid #eee;border-radius:16px;padding:14px}.metric .label{color:#6b7280;font-size:13px}.metric .value{margin-top:4px;font-size:22px;font-weight:700}.metric .bar{background:#f3f4f6;border-radius:999px;height:8px;margin-top:8px;position:relative}.metric .bar .fill{background:var(--brand);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card{background:#fff;border:1px solid #eee;border-radius:20px;padding:14px}.card h3{margin:0 0 10px}.slots,.students{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slots li,.students li{background:#fafafa;border:1px solid #eee;border-radius:10px;justify-content:space-between;padding:8px 10px;display:flex}.stat-text{flex-direction:column;gap:10px;width:100%;display:flex}.detail-card.car-two-col{width:100%;box-shadow:none;background:0 0;grid-template-columns:1.1fr 1fr;align-items:stretch;gap:25px;margin:0 auto;padding-bottom:30px;transition:all .25s;display:grid}.car-two-col .detail-image{border-radius:20px;width:100%;max-width:100%;overflow:hidden;box-shadow:0 3px 8px #0000001a}.car-two-col .detail-image img{object-fit:cover;border-radius:20px;width:100%;height:100%}.car-two-col .detail-info{background:#fff;border-radius:20px;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #0000000d}.car-two-col .detail-header{background:linear-gradient(90deg, var(--brand,#f7b500), #fc3);color:#111;border-radius:20px 20px 0 0;align-items:center;gap:8px;padding:14px 20px;font-size:1.3rem;font-weight:600;display:flex}.car-two-col .detail-body{padding:20px 25px 70px}.car-two-col .detail-body p{color:#333;margin:8px 0;font-size:15px}.car-two-col .detail-body strong{color:#000}.car-two-col .detail-body .link{color:#333;cursor:pointer;font-weight:600}.car-two-col .detail-body .link:hover{text-decoration:underline}.car-two-col .detail-actions{border-top:1px solid #eee;border-radius:0 0 20px 20px;justify-content:end;gap:12px;padding:14px 14px 0;display:flex}.car-info.link{cursor:pointer;color:var(--brand);flex-direction:row;align-items:center;gap:10px;width:fit-content;margin:0;transition:all .2s;display:flex}.car-info.link:hover{color:var(--accent);text-decoration:underline}.instructor-detail-page{flex-direction:column;gap:16px;margin-bottom:30px;padding:20px 10px;display:flex}.instructor-detail-page .back-btn{width:fit-content;margin:0}.instructor-detail-page .profile-card{background:#fff;border-radius:20px;flex-wrap:wrap;align-items:flex-start;gap:16px;padding:18px;display:flex;box-shadow:0 4px 10px #0000000d}.instructor-detail-page .profile-avatar{object-fit:cover;border:2px solid var(--brand);border-radius:18px;flex:none;width:120px;height:120px}.instructor-detail-page .profile-info{flex:320px;min-width:0}.instructor-detail-page .profile-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.instructor-detail-page .profile-title{margin:0;font-size:20px;line-height:1.2}.instructor-detail-page .badges{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.instructor-detail-page .badge{white-space:nowrap;background:#00000005;border:1px solid #00000014;border-radius:999px;padding:6px 10px;font-size:12px;line-height:1}.instructor-detail-page .badge-cat,.instructor-detail-page .badge-exp{font-weight:600}.instructor-detail-page .car-info{color:#333;background:#00000008;border-radius:12px;align-items:center;gap:10px;max-width:100%;margin:6px 0 0;padding:8px 10px;display:inline-flex}.instructor-detail-page .car-info.link{cursor:pointer;width:fit-content;transition:all .2s}.instructor-detail-page .car-info.link:hover{color:var(--accent);text-decoration:underline}.instructor-detail-page .contacts{gap:6px;margin-top:10px;display:grid}.instructor-detail-page .contact-info{color:#666;align-items:center;gap:10px;margin:0;display:inline-flex}.instructor-detail-page .contact-info svg{color:var(--accent)}.instructor-detail-page .profile-actions{flex:none;gap:8px;display:flex}.instructor-detail-page .icon-btn{cursor:pointer;background:#0000000a;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:inline-flex}.instructor-detail-page .icon-btn:hover{background:#00000014}.instructor-detail-page .icon-btn:disabled{opacity:.55;cursor:not-allowed}.instructor-detail-page .icon-btn.delete:hover{background:#ff00001a}.instructor-detail-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.instructor-detail-page .stat-card{background:#fff;border-radius:20px;align-items:flex-start;gap:12px;min-width:0;padding:14px 16px;display:flex;box-shadow:0 4px 10px #0000000d}.instructor-detail-page .stat-card h4{color:#666;margin:0;font-size:13px}.instructor-detail-page .stat-value{margin-top:6px;font-size:18px;font-weight:700;display:inline-block}.instructor-detail-page .progress{background:#f3f4f6;border-radius:999px;width:100%;height:8px;margin-top:8px;overflow:hidden}.instructor-detail-page .progress-bar{background:var(--brand);border-radius:999px;height:100%;transition:width .35s}.instructor-detail-page .activity-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.instructor-detail-page .activity-card{background:#fff;border-radius:18px;min-width:0;padding:14px;box-shadow:0 4px 10px #0000000d}.instructor-detail-page .activity-card h3{color:#111;margin:0 0 10px;font-size:14px}.instructor-detail-page .muted{color:#777;font-size:14px}.instructor-detail-page .lessons-history-wrap{background:#fff;border-radius:18px;padding:12px;overflow-x:auto;box-shadow:0 4px 10px #0000000d}.instructor-detail-page .lessons-history-wrap table{min-width:900px}.btn-primary,.btn-cancel{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.btn-primary{color:#fff;background:#000000d9}.btn-cancel{background:#0000000f}.btn-secondary{cursor:pointer;color:#333;background:#0000000f;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:flex}.form-vertical{gap:12px;display:grid}.form-field label{opacity:.8;margin-bottom:6px;font-size:12px;display:block}.form-field input,.form-field select,.form-input{border:1px solid #0000001f;border-radius:999px;outline:none;width:100%;padding:10px 12px}.checkbox-group{flex-wrap:wrap;gap:10px 14px;padding:6px 0;display:flex}.checkbox-item{align-items:center;gap:8px;font-size:13px;display:inline-flex}.file-upload .preview{object-fit:cover;border:1px solid #00000014;border-radius:14px;width:90px;height:90px;margin-top:10px}.hint{opacity:.7;margin-top:6px;font-size:12px;display:inline-block}@media (max-width:1024px){.detail-card.car-two-col{grid-template-columns:1fr;gap:20px}.car-two-col .detail-image{height:250px}.two-col{grid-template-columns:1fr}.detail-page,.instructor-detail-page,.metrics-grid,.stats-grid,.activity-section{gap:10px}}@media (max-width:768px){.detail-card{flex-direction:column}.detail-page,.instructor-detail-page{padding:10px}.detail-image{max-width:100%;height:220px}.instructor-detail-page .profile-card{flex-direction:column}.instructor-detail-page .profile-avatar{border-radius:18px;width:100%;height:160px}.instructor-detail-page .stats-grid,.instructor-detail-page .activity-section{grid-template-columns:1fr}.instructor-detail-page .profile-top{flex-direction:column;align-items:stretch}.instructor-detail-page .profile-actions{justify-content:flex-start}}.students-page{padding:20px;animation:.3s fadeIn}.empty-text{text-align:center;color:#777;margin-top:60px;font-size:15px}.badge-finished{color:#027a48;background:#ecfdf3;border:1px solid #abefc6}.text-success{color:#027a48;font-weight:600}.students-header{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.students-header .title{color:var(--brand);align-items:center;gap:10px;display:flex}.students-header h2{margin:0;font-size:22px;font-weight:700}.students-header .header-actions{align-items:center;gap:10px;display:flex}.students-filters{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin:8px 0 14px;display:flex}.filters-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters-title{color:#222;white-space:nowrap;align-items:center;gap:8px;margin-right:2px;font-size:13px;font-weight:800;display:inline-flex}.filters-title svg{color:var(--brand);font-size:16px}.students-filters select{color:#222;background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;height:28px;padding:2px 8px;font-size:12px}.students-filters select:focus{border-color:color-mix(in srgb, var(--accent) 65%, black);box-shadow:0 0 0 2px #00b7ff1a}.students-filters input[type=text]{color:#222;background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;min-width:220px;height:28px;padding:2px 8px;font-size:12px}.students-filters input[type=text]:focus{border-color:color-mix(in srgb, var(--accent) 65%, black);box-shadow:0 0 0 2px #00b7ff1a}.btn-reset{cursor:pointer;color:#333;background:#0000000a;border:1px solid #0000002e;border-radius:6px;align-items:center;gap:6px;height:28px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.btn-reset:hover{background:#00000012}.filters-count{color:#333;white-space:nowrap;font-size:13px}.filters-count strong{color:#000}.student-badges{flex-wrap:wrap;gap:6px;margin-top:6px;margin-bottom:2px;display:flex}.simple-table .student-badges{flex-direction:column;align-items:center;gap:6px;margin-top:6px;margin-bottom:2px;display:flex}.badge{color:#333;background:#00000008;border:1px solid #00000014;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.badge-ic svg{font-size:13px}.badge-remote{color:#1b7ea3;background:#2e9fcc1f;border-color:#2e9fcc40}.badge-individual{color:#a56a00;background:#fca53526;border-color:#fca53559}.badge-blocked{color:#b02a37;background:#dc35451a;border-color:#dc354540}.badge-activated{color:#1aa56d;background:#1aa56d1f;border-color:#1aa56d40}.badge-not-activated{color:#6c757d;background:#6c757d24;border-color:#6c757d40}.fio-cell{flex-direction:column;align-items:center;gap:6px;display:flex}.students-page .students-cards{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;padding:0;display:grid}.student-card{cursor:pointer;background:#fff;border-radius:18px;outline:none;grid-template-rows:auto 1fr auto;gap:10px;min-height:240px;padding:16px 16px 14px;transition:transform .2s,box-shadow .2s;animation:.3s fadeInUp;display:grid;box-shadow:0 4px 10px #0000000d}.student-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}.student-card.active{border-left:4px solid var(--brand);padding-left:12px}.student-card.inactive{opacity:.88}.student-card.blocked{border-left:4px solid #dc3545;padding-left:12px}.student-top{grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.student-avatar{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.student-title-block{min-width:0}.student-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-name{color:#333;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:16px;font-weight:800;line-height:1.2;overflow:hidden}.student-title-block .muted{color:#666;align-items:center;gap:8px;margin:6px 0 0;font-size:13px;display:flex}.student-info{min-height:0}.student-info p{color:#444;margin:6px 0;font-size:14px}.students-row-bages{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.student-actions.bottom{justify-content:flex-end;gap:8px;display:flex}.badge-status{border:1px solid #00000014;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-status.on{color:#1aa56d;background:#e8f8f0;border-color:#1aa56d40}.badge-status.off{color:#6c757d;background:#adb5bd2e;border-color:#6c757d40}@media (max-width:1024px){.students-page{padding:10px 0}}@media (max-width:768px){.students-header{flex-direction:column;align-items:flex-start;gap:12px}.view-toggle{display:none}.students-page .students-cards{grid-template-columns:1fr}.students-header .btn-add{justify-content:center;width:100%}.students-filters input[type=text]{width:100%;min-width:100%}}.form-field.checkbox-inline input{width:fit-content}.student-card.finished{border-color:#abefc6}.lessons-table-wrap{border-radius:12px;width:100%;overflow-x:auto}.lessons-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 10px #0000000f}.lessons-table th{background:linear-gradient(180deg, var(--brand,#1984ff), color-mix(in srgb, var(--brand,#1984ff) 85%, #000));color:#fff;text-align:left;white-space:nowrap;padding:12px 14px;font-size:13.5px;font-weight:600}.lessons-table td{color:#444;border-bottom:1px solid #edf0f3;padding:11px 14px;font-size:13.5px}.lessons-table tr:last-child td{border-bottom:none}.lessons-table tbody tr{transition:background .15s}.lessons-table tbody tr:hover{background:#f7f9fc}.lessons-table td.attendance-cell{text-align:center}.attendance{letter-spacing:.2px;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.attendance.ok{color:#1e9e63;background:#e6f7ef}.attendance.missed{color:#c0392b;background:#fdeaea}.lessons-table td,.lessons-table th{vertical-align:middle}.lessons-table td:last-child{white-space:normal;word-break:break-word;color:#555;max-width:320px;font-size:13px}.lessons-filters{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.lessons-filters input{background:#fff;border:1px solid #ddd;border-radius:8px;min-width:160px;padding:7px 10px;font-size:13px}.lessons-filters input:focus{border-color:var(--brand,#1984ff);outline:none;box-shadow:0 0 0 2px #1984ff26}.lessons-pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.lessons-pagination button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:5px 12px;font-size:13px;transition:all .15s}.lessons-pagination button:hover:not(:disabled){background:#f1f4f9}.lessons-pagination button:disabled{opacity:.5;cursor:default}.lessons-pagination span{color:#666;font-size:13px}.info-section.lessons{background:var(--card-bg,#fff);border-radius:var(--radius,14px);box-shadow:var(--shadow,0 2px 8px #0000000d);padding:18px 20px 20px}.info-section.lessons .section-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.info-section.lessons .section-header h3{color:var(--accent,#222);margin:0;font-size:1.05rem;font-weight:600}@media (max-width:1024px){.lessons-table th,.lessons-table td{padding:9px 10px;font-size:13px}}@media (max-width:768px){.lessons-table th,.lessons-table td{padding:7px 8px;font-size:12px}.attendance{padding:3px 8px;font-size:12px}.lessons-filters input{min-width:140px}}.teachers-page{color:#333;padding:20px}.teachers-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.teachers-header h2{color:#111;align-items:center;gap:10px;font-size:22px;font-weight:600;display:flex}.teachers-header h2 svg{color:var(--brand)}.teachers-header .actions{align-items:center;gap:10px;display:flex}.teachers-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.teacher-card{cursor:pointer;background:#fff;border-radius:20px;flex-direction:column;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0000000f}.teacher-card:hover{transform:translateY(-3px)}.teacher-top{align-items:center;gap:12px;padding:16px;display:flex}.teacher-avatar{background:var(--brand,#ffc800);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:flex}.teacher-info{flex:1}.teacher-info h4{color:#222;margin:0 0 4px;font-size:17px;font-weight:600}.teacher-info .muted{color:#6b7280;align-items:center;gap:6px;margin:2px 0;font-size:14px;display:flex}.card-divider{border:none;border-top:1px solid #eee;margin:6px 0}.teacher-actions{justify-content:flex-end;gap:8px;padding:10px 14px 14px;display:flex}.empty-text{text-align:center;color:#888;padding:40px 0;font-style:italic}@media (max-width:1024px){.teachers-page{padding:10px 0}.teachers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.teachers-header{flex-direction:row;align-items:center;gap:10px}.teachers-grid{grid-template-columns:1fr}.teacher-card{border-radius:18px}.teacher-avatar{width:48px;height:48px;font-size:18px}}.warning-box,.result-title{align-items:center;gap:10px;display:flex}.teacher-card{animation:.3s fadeInUp}.teacher-detail-page{color:#333;padding:20px}.teacher-card-detail{background:#fff;border:1px solid #1118270f;border-radius:22px;grid-template-columns:120px 1fr auto;align-items:start;gap:18px;margin:16px 0 18px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #1118270f}.teacher-card-detail:before{content:"";opacity:.9;height:4px;position:absolute;inset:0 0 auto}.teacher-avatar{width:120px;height:120px;color:var(--brand);background:radial-gradient(circle at 30% 20%,#00000008,#00000005);border:1px solid #11182712;border-radius:18px;justify-content:center;align-items:center;font-size:52px;display:flex;overflow:hidden;box-shadow:0 8px 18px #1118270f}.teacher-avatar img{object-fit:cover;width:100%;height:100%}.teacher-info{min-width:0;padding-top:6px}.teacher-info h2{letter-spacing:-.01em;margin:0;font-size:22px;line-height:1.15}.teacher-info .muted{color:#6b7280;margin:6px 0 10px;font-size:13px}.teacher-info p{color:#374151;align-items:center;gap:10px;min-width:0;margin:6px 0;line-height:1.25;display:flex}.teacher-info p svg{opacity:.9;color:#6b7280;flex:none}.activation-code{color:#111827;letter-spacing:.08em;background:#0000000a;border:1px dashed #1118272e;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-weight:800;display:inline-flex}.teacher-actions{flex-direction:column;gap:10px;padding-top:8px;display:flex}.teachers-grid .teacher-actions{flex-direction:row}.summary-box{text-align:center;background:#fff;border:1px solid #1118270f;border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:12px 0 22px;padding:14px 16px;display:grid;box-shadow:0 10px 30px #1118270f}.summary-box div{background:#00000005;border:1px solid #1118270d;border-radius:14px;padding:12px 10px}.summary-box b{color:var(--brand);font-size:20px}.summary-box span{color:#6b7280;margin-top:4px;font-size:12px;display:block}.groups-section,.chart-section,.topics-section{background:#fff;border:1px solid #1118270f;border-radius:20px;margin-top:18px;padding:18px;box-shadow:0 10px 30px #1118270f}.groups-section h3,.chart-section h3,.topics-section h3{color:#111827;letter-spacing:-.01em;align-items:center;gap:10px;margin:0 0 14px;font-size:16px;display:flex}.groups-section h3 svg,.chart-section h3 svg,.topics-section h3 svg{color:var(--brand)}.groups-table{border-collapse:separate;border-spacing:0;border:1px solid #11182712;border-radius:14px;width:100%;overflow:hidden}.groups-table thead th{color:#374151;background:#00000008;border-bottom:1px solid #11182712;padding:12px 14px;font-size:13px;font-weight:700}.groups-table td{color:#111827;border-bottom:1px solid #1118270f;padding:12px 14px;font-size:14px}.groups-table tr:last-child td{border-bottom:none}.groups-table tbody tr:hover td{background:#1984ff0a}.btn-small{background:linear-gradient(180deg, var(--brand), #00000008);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:8px 12px;font-size:13px;transition:transform .12s,filter .18s}.btn-small:hover{filter:brightness(1.03);transform:translateY(-1px)}.btn-small:active{transform:translateY(0)}.topics-section ul{margin:0;padding:0;list-style:none}.topics-section li{color:#374151;border-bottom:1px dashed #1118271f;padding:8px 0}.topics-section li:last-child{border-bottom:none}.m-body .topics-section{max-height:60vh;overflow-y:auto}@media (max-width:900px){.teacher-card-detail{grid-template-rows:auto auto;grid-template-columns:110px 1fr}.teacher-actions{flex-direction:row;grid-column:1/-1;justify-content:center;padding-top:6px}}@media (max-width:768px){.teacher-detail-page{padding:12px}.teacher-card-detail{text-align:center;grid-template-columns:1fr}.teacher-avatar{width:110px;height:110px;margin:0 auto}.teacher-info p{justify-content:center}.teacher-actions{flex-direction:row;justify-content:center;gap:12px}.groups-section,.chart-section,.topics-section{padding:14px}.groups-section{overflow-x:auto}.groups-table{min-width:560px}}:root{--gj-bg:#f6f7fb;--gj-card:#fff;--gj-text:#1f2937;--gj-muted:#6b7280;--gj-border:#e5e7eb;--gj-soft:#f3f4f6;--gj-accent:var(--brand);--gj-accent-soft:color-mix(in srgb, var(--brand) 25%, white 75%);--gj-accent-border:oklch(from var(--brand) calc(l - .15)  calc(c * 1.1)  h);--gj-ok:#16a34a;--gj-no:#dc2626;--gj-na:#9ca3af;--gj-shadow:0 6px 18px #11182714;--gj-radius:14px}.gj-page{color:var(--gj-text);padding:20px}.gj-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.gj-title{align-items:center;gap:10px;display:flex}.gj-title h2{letter-spacing:.2px;margin:0;font-size:18px;font-weight:800}.gj-top-actions{flex-wrap:wrap;gap:10px;display:flex}.gj-btn{border:1px solid var(--gj-border);background:var(--gj-card);color:var(--gj-text);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:9px 12px;font-weight:700;transition:transform 60ms,box-shadow .12s,background .12s;display:inline-flex;box-shadow:0 1px #00000008}.gj-btn:hover{box-shadow:var(--gj-shadow);transform:translateY(-1px)}.gj-btn:active{transform:translateY(0);box-shadow:0 2px 8px #1118271a}.gj-btn span{font-weight:800}.gj-btn-ghost{background:0 0}.gj-btn-ghost:hover{background:var(--gj-soft);box-shadow:none;transform:none}.gj-btn-full{justify-content:center;width:100%}.gj-main-tabs{align-items:center;gap:10px;margin:10px 0 12px;display:flex}.gj-main-tab{border:1px solid var(--gj-border);background:var(--gj-card);color:var(--gj-text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:900;transition:background .12s,transform 60ms;display:flex}.gj-main-tab:hover{background:var(--gj-soft)}.gj-main-tab.active{background:var(--gj-accent-soft);border-color:var(--gj-accent-border)}.gj-main-tab-ic svg{font-size:14px}.gj-layout{grid-template-columns:320px 1fr;align-items:stretch;gap:14px;display:grid}.gj-left{background:var(--gj-card);border:1px solid var(--gj-border);border-radius:var(--gj-radius);box-shadow:var(--gj-shadow);overflow:hidden}.gj-left-head{border-bottom:1px solid var(--gj-border);background:linear-gradient(#fff,#fbfbff);padding:14px}.gj-tabs{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.gj-tabs-secondary{margin-top:2px;margin-bottom:10px}.gj-tab{border:1px solid var(--gj-border);background:var(--gj-card);color:var(--gj-text);cursor:pointer;border-radius:999px;padding:7px 12px;font-weight:600;transition:background .12s}.gj-tab:hover{background:var(--gj-soft)}.gj-tab.active{background:var(--gj-accent-soft);border-color:var(--gj-accent-border)}.gj-search{margin-top:8px;position:relative}.gj-search input{border:1px solid var(--gj-border);background:#fff;border-radius:12px;outline:none;width:100%;padding:10px 12px 10px 36px;font-weight:700}.gj-search input:focus{border-color:var(--gj-border);box-shadow:0 0 0 3px var(--gj-accent-border)}.gj-search-ic{color:var(--gj-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gj-left-note{color:var(--gj-muted);background:#fcfcff;border:1px dashed #6b728059;border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-weight:700;display:flex}.gj-groups{max-height:calc(100vh - 260px);padding:10px 10px 14px;overflow:auto}.gj-group-item{border:1px solid var(--gj-border);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:12px;transition:box-shadow .12s,transform 60ms,border-color .12s;display:flex}.gj-group-item:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1118271a}.gj-group-item.active{border-color:var(--gj-accent-border);box-shadow:0 10px 22px #f4c4002e}.gj-group-name{font-size:16px;font-weight:950}.gj-group-sub{color:var(--gj-muted);flex-direction:column;gap:8px;margin-top:4px;font-size:12.5px;font-weight:700;display:flex}.gj-dot{background:#6b72808c;border-radius:999px;width:4px;height:4px;display:inline-block}.gj-group-actions{gap:8px;display:flex}.gj-icon-btn{border:1px solid var(--gj-border);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s,border-color .12s;display:inline-flex}.gj-icon-btn:hover{background:var(--gj-soft)}.gj-icon-btn.danger{color:#b91c1c;border-color:#dc262659}.gj-icon-btn.danger:hover{background:#dc262614}.gj-row-clickable{cursor:pointer}.gj-row-clickable:hover{background:#0000000a}.gj-right{background:var(--gj-card);border:1px solid var(--gj-border);border-radius:var(--gj-radius);box-shadow:var(--gj-shadow);min-height:520px;overflow:hidden}.gj-back{border:1px solid var(--gj-border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:8px;margin:12px;padding:9px 12px;font-weight:900;display:inline-flex}.gj-placeholder{padding:20px}.gj-placeholder-card{background:#fcfcff;border:1px dashed #6b728059;border-radius:16px;padding:18px}.gj-placeholder-title{font-size:16px;font-weight:950}.gj-placeholder-sub{color:var(--gj-muted);margin-top:6px;font-weight:700}.gj-journal-head{border-bottom:1px solid var(--gj-border);background:linear-gradient(#fff,#fbfbff);padding:14px}.gj-journal-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.gj-journal-name{font-size:18px;font-weight:950}.gj-journal-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.gj-meta-pill{border:1px solid var(--gj-border);color:var(--gj-muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:15px;font-weight:600;display:inline-flex}.gj-journal-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.gj-search-sm{width:260px;max-width:100%}.gj-seg{border:1px solid var(--gj-border);background:#fff;border-radius:20px;display:inline-flex;overflow:hidden}.gj-seg-btn{cursor:pointer;color:var(--gj-text);background:0 0;border:0;padding:9px 12px;font-weight:900}.gj-seg-btn:hover{background:var(--gj-soft)}.gj-seg-btn.active{background:var(--gj-accent-soft)}.gj-table-wrap{max-height:calc(100vh - 300px);overflow:auto}.gj-table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px}.gj-th,.gj-td{border-bottom:1px solid var(--gj-border);text-align:center;vertical-align:middle;background:#fff;padding:10px}.gj-th{z-index:2;background:#fbfbff;font-weight:950;position:sticky;top:0}.gj-th-sticky-left,.gj-td-sticky-left{z-index:3;text-align:left;border-right:1px solid var(--gj-border);background:#fff;min-width:250px;position:sticky;left:0}.gj-th-left{flex-direction:column;gap:6px;display:flex}.gj-legend{color:var(--gj-muted);flex-wrap:wrap;gap:10px;font-size:12px;font-weight:800;display:flex}.gj-legend-item{align-items:center;gap:6px;display:inline-flex}.gj-date-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;width:100%;padding:8px 6px;font-weight:950;transition:background .12s,border-color .12s}.gj-date-btn:hover{background:var(--gj-soft);border-color:var(--gj-border)}.gj-date-top{font-weight:950}.gj-date-bot{color:var(--gj-muted);margin-top:4px;font-size:12px;font-weight:900}.gj-th-date.past{background:#fff}.gj-th-date.today{background:#fffdf0}.gj-th-date.future{background:#f8fafc}.gj-student-name{font-size:14px;font-weight:950}.gj-student-sub{color:var(--gj-muted);margin-top:3px;font-size:12px;font-weight:800}.gj-cell.ok svg{color:var(--gj-ok)}.gj-cell.no svg{color:var(--gj-no)}.gj-cell.na svg{color:var(--gj-na)}.gj-cell.future svg{color:#6b72808c}.gj-table tbody tr:hover .gj-td,.gj-table tbody tr:hover .gj-td-sticky-left{background:#fbfbff}.gj-loading,.gj-error,.gj-empty{padding:14px;font-weight:800}.gj-loading{color:var(--gj-muted)}.gj-error{color:#b91c1c;background:#dc26260f;border-top:1px solid #dc26262e}.gj-empty{color:var(--gj-muted)}.gj-ind{padding:10px}.gj-ind-head{padding:6px 4px 12px}.gj-ind-item{border:1px solid var(--gj-border);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;gap:12px;margin-bottom:10px;padding:12px;font-size:15px;transition:box-shadow .12s,transform 60ms;display:flex}.gj-ind-item:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1118271a}.gj-ind-left{flex-direction:column;gap:8px;display:flex}.gj-ind-date{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gj-badge{border:1px solid var(--gj-border);color:var(--gj-text);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-weight:600;display:inline-flex}.gj-badge.past{background:#fff}.gj-badge.today{background:var(--gj-accent-soft);border-color:var(--gj-accent-border)}.gj-badge.future{background:#f3f4f6}.gj-badge.canceled{color:#b91c1c;background:#dc262614;border-color:#dc262647}.gj-ind-time{color:var(--gj-muted);align-items:center;gap:8px;font-weight:900;display:inline-flex}.gj-ind-student{align-items:center;gap:8px;font-weight:950;display:flex}.gj-ind-ic{color:var(--gj-muted)}.gj-chip{border:1px solid var(--gj-border);color:var(--gj-muted);background:#fff;border-radius:999px;align-items:center;margin-top:4px;margin-right:6px;padding:6px 10px;font-weight:900;display:inline-flex}.gj-ind-right{flex-direction:column;align-items:flex-end;gap:10px;min-width:90px;display:flex}.gj-ind-open{color:#111827;opacity:.7;font-weight:950}.gj-layout.is-compact .gj-groups{max-height:calc(100vh - 240px)}.gj-layout.is-compact .gj-group-item{padding:10px}.gj-layout.is-compact .gj-th,.gj-layout.is-compact .gj-td{padding:8px}.gj-left,.gj-right{padding:14px}.gj-left-head,.gj-journal-head{background:#fff;border:1px solid #00000014;border-radius:16px;margin-bottom:12px;padding:12px}.gj-groups{flex-direction:column;gap:10px;display:flex}.gj-group-item{border-radius:14px;padding:12px}.gj-table-wrap{background:#fff;border:1px solid #00000014;border-radius:16px;padding:10px}.gj-cell{text-align:center;vertical-align:middle}.gj-cell svg{font-size:16px}.gj-legend{opacity:.85;gap:10px;margin-left:10px;display:inline-flex}.gj-legend-item{align-items:center;gap:6px;font-size:12px;display:inline-flex}.gj-th-date.past{opacity:.75}.gj-th-date.future{opacity:.9}.gj-th-date.today{position:relative}.gj-th-date.today:after{content:"";pointer-events:none;border:2px solid #0000002e;border-radius:10px;position:absolute;inset:0}.gj-page,.gj-left,.gj-right,.gj-topbar,.gj-layout,.gj-groups,.gj-table-wrap{min-width:0}.gj-title h2{word-break:break-word}@media (min-width:1400px){.gj-layout{grid-template-columns:420px 1fr;gap:16px}.gj-layout.is-compact{grid-template-columns:360px 1fr}}@media (max-width:1200px){.gj-layout{grid-template-columns:340px 1fr}.gj-meta-pill{padding:6px 9px;font-size:13px}.gj-journal-tools{gap:8px}}@media (max-width:1024px){.gj-layout{grid-template-columns:1fr}}@media (max-width:980px){.gj-page{padding:10px 0}.gj-top-actions{gap:8px}.gj-btn{padding:9px 12px}.gj-main-tabs{flex-wrap:wrap;width:100%}.gj-layout{grid-template-columns:1fr}.gj-groups{max-height:none;padding:10px}.gj-table-wrap{max-height:none}}@media (max-width:768px){:root{--gj-radius:12px}.gj-title h2{font-size:17px}.gj-top-actions,.gj-journal-tools{flex-flow:wrap}.gj-btn span{white-space:nowrap}.gj-meta-pill{padding:6px 9px;font-size:12.5px}.gj-search-sm{width:100%}.gj-table{min-width:640px}.gj-th-sticky-left,.gj-td-sticky-left{min-width:210px}.gj-student-name{font-size:13px}}@media (max-width:560px){.gj-page{padding:10px 0}.gj-left,.gj-right{border-radius:14px;padding:10px}.gj-left-head,.gj-journal-head{border-radius:14px;margin-bottom:10px;padding:10px}.gj-btn{justify-content:center;width:100%}.gj-tabs,.gj-main-tabs,.gj-journal-tools{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.gj-tabs::-webkit-scrollbar{display:none}.gj-main-tabs::-webkit-scrollbar{display:none}.gj-journal-tools::-webkit-scrollbar{display:none}.gj-tab,.gj-main-tab{flex:none}.gj-group-item{gap:8px;padding:10px}.gj-group-name{font-size:15px}.gj-group-sub{gap:6px;font-size:12px}.gj-table-wrap{border-radius:14px;padding:8px}.gj-table{min-width:560px}.gj-th,.gj-td{padding:8px}.gj-th-sticky-left,.gj-td-sticky-left{min-width:190px}.gj-date-bot{font-size:11px}.gj-ind-right{min-width:70px}}@media (max-width:380px){.gj-title h2{font-size:16px}.gj-btn{padding:9px 10px}.gj-icon-btn{border-radius:10px;width:32px;height:32px}.gj-table{min-width:520px}.gj-th-sticky-left,.gj-td-sticky-left{min-width:175px}}@media (hover:none) and (pointer:coarse){.gj-btn:hover,.gj-group-item:hover,.gj-ind-item:hover{box-shadow:none;transform:none}.gj-btn:active,.gj-group-item:active,.gj-ind-item:active{transform:none}}.gj-table-wrap{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;border-radius:16px;max-width:100%;position:relative;overflow:auto}.gj-table-wrap:before,.gj-table-wrap:after{content:"";z-index:7;pointer-events:none;width:18px;height:100%;display:none;position:sticky;top:0}.gj-table-wrap:before{background:linear-gradient(90deg,#fff,#fff0);left:0}.gj-table-wrap:after{background:linear-gradient(270deg,#fff,#fff0);right:0}@media (max-width:768px){.gj-table-wrap:before,.gj-table-wrap:after{display:block}}.gj-table{table-layout:fixed;width:100%;min-width:700px}@media (max-width:1024px){.gj-table{min-width:620px}.gj-th,.gj-td{padding:8px}}.gj-th-sticky-left,.gj-td-sticky-left{width:240px;min-width:240px;max-width:240px;box-shadow:8px 0 14px #1118270f}@media (max-width:1024px){.gj-th-sticky-left,.gj-td-sticky-left{width:200px;min-width:200px;max-width:200px}}@media (max-width:380px){.gj-th-sticky-left,.gj-td-sticky-left{width:180px;min-width:180px;max-width:180px}}@media (max-width:768px){.gj-date-top{font-size:13px}.gj-date-bot{opacity:.9;font-size:11px}}.gj-th{z-index:4}.gj-th-sticky-left{z-index:6}.gj-td-sticky-left{z-index:5}.groups-page{padding:20px}.groups-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.groups-header .title{align-items:center;gap:10px;display:flex}.groups-header .title h2{margin:0;font-size:22px;font-weight:900}.btn-add{color:#fff;cursor:pointer;background:#111827;border:1px solid #0000001a;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:900;transition:all .12s;display:inline-flex}.btn-add:hover{transform:translateY(-1px)}.btn-add:active{opacity:.9;transform:translateY(0)}.btn-add span{display:inline}.admin-groups-tabs{background:#fff;border:1px solid #0000001a;border-radius:14px;align-items:center;gap:8px;padding:6px;display:flex;box-shadow:0 10px 24px #10182814}.admin-groups-tab{cursor:pointer;color:#0f172a;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-weight:900;transition:all .12s;display:inline-flex}.admin-groups-tab:hover{background:#0f172a0f}.admin-groups-tab.active{color:#fff;background:#111827eb;border-color:#11182733}.admin-groups-tab span{font-size:13px}.data-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #0000001a;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 10px 24px #10182814}.data-table thead th{text-align:left;background:#0f172a0a;border-bottom:1px solid #00000014;padding:12px;font-size:13px;font-weight:900}.data-table tbody td{color:#0f172a;border-bottom:1px solid #0000000f;padding:12px;font-weight:800}.actions-cell{text-align:right;width:140px}.icon-btn{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-left:6px;transition:all .12s;display:inline-flex}.icon-btn:hover{transform:translateY(-1px)}.icon-btn:active{opacity:.9;transform:translateY(0)}.icon-btn.edit{color:#0f172a}.icon-btn.delete{color:#b91c1c}.icon-btn.view{color:#0f172a}.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.group-card{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:14px;padding:12px;transition:all .12s;box-shadow:0 10px 24px #10182814}.group-card:hover{transform:translateY(-2px)}.group-card:active{opacity:.96;transform:translateY(0)}.group-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.group-name{color:#0f172a;margin:0;font-size:18px;font-weight:900}.group-actions{gap:6px;display:flex}.group-meta{color:#334155;align-items:center;gap:8px;margin:8px 0 0;font-weight:600;display:flex}.students-list{background:#fff;border:1px solid #0000001a;border-radius:14px;margin-top:12px;overflow:hidden;box-shadow:0 8px 18px #1018280f}.students-list h3{color:#0f172a;background:#0f172a08;border-bottom:1px solid #00000014;margin:0;padding:12px 14px;font-size:15px;font-weight:700}.students-table{border-collapse:separate;border-spacing:0;background:#fff;width:100%}.students-table thead th{text-align:left;color:#334155;white-space:nowrap;background:#0f172a0a;border-bottom:1px solid #00000014;padding:11px 14px;font-size:13px;font-weight:600}.students-table tbody td{color:#0f172a;vertical-align:middle;border-bottom:1px solid #0000000f;padding:11px 14px;font-size:14px;font-weight:400}.students-table tbody tr:hover{background:#0f172a06}.students-table tbody tr:last-child td{border-bottom:0}.students-table thead th:first-child,.students-table tbody td:first-child{text-align:center;color:#64748b;width:48px}.students-table thead th:last-child,.students-table tbody td:last-child{text-align:right;width:64px}.students-table tbody td:nth-child(2){color:#0f172a;font-weight:500}.students-table tbody td:nth-child(4),.students-table tbody td:nth-child(5){color:#475569}.students-table tbody td:nth-child(6){text-align:center;font-size:15px}.students-table .icon-btn.view{color:#0f172a;background:#fff;border:1px solid #0000001a;border-radius:9px;width:32px;height:32px;transition:all .12s}.students-table .icon-btn.view:hover{background:#0f172a0a}.students-table .icon-btn.view:active{opacity:.85}@media (max-width:900px){.students-list{overflow:auto}.students-table{min-width:820px}}.group-detail{background:#fff;border:1px solid #0000001a;border-radius:14px;padding:12px;box-shadow:0 10px 24px #10182814}.group-detail-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.back-btn:hover{transform:translateY(-1px)}.back-btn:active{opacity:.92;transform:translateY(0)}.detail-title h2{margin:0;font-size:20px;font-weight:900}.group-info{background:#0f172a08;border:1px dashed #0000001a;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;padding:10px;display:grid}.group-info p{color:#0f172a;align-items:center;gap:8px;margin:0;font-weight:800;display:flex}.group-info .actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.empty-text{text-align:center;color:#334155;background:#0f172a08;border:1px dashed #00000029;border-radius:14px;margin:14px 0;padding:14px;font-weight:900}.admin-journal-mode{gap:8px;margin-top:10px;display:flex}.admin-mode-btn{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #0000001a;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-weight:900;transition:all .12s;display:inline-flex}.admin-mode-btn:hover{background:#0f172a0d}.admin-mode-btn.active{color:#fff;background:#111827eb;border-color:#11182740}.admin-lesson-type-ic{background:#fff;border:1px solid #0000001a;border-radius:8px;justify-content:center;align-items:center;width:22px;height:22px;margin:0 auto 6px;display:inline-flex}.gj-inactive-row .gj-student-name{opacity:.65;text-decoration:line-through}.admin-inactive-pill{color:#b91c1c;opacity:1;background:#b91c1c1f;border:1px solid #b91c1c2e;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.groups-page .gj-group-item{border:1px solid #00000014;border-radius:14px;margin:0;transition:all .12s}.groups-page .gj-group-item:hover{transform:translateY(-1px)}.groups-page .gj-group-item.active{border-color:#11182740;box-shadow:0 8px 18px #1018281a}.groups-page .gj-btn-full{justify-content:center;width:100%}.gj-cell.empty:hover{background:#fff}@media (max-width:1100px){.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.groups-page{padding:10px 0}.groups-header{flex-direction:column;align-items:stretch;gap:10px}.header-actions{justify-content:space-between;width:100%}.btn-add{justify-content:center;width:100%}.admin-groups-tabs{justify-content:space-between;width:100%}.admin-groups-tab span{display:none}.groups-grid,.group-info{grid-template-columns:1fr}}.adm-groups-topbar{justify-content:space-between;align-items:center;gap:14px;margin:6px 0 14px;display:flex}.adm-groups-title{align-items:center;gap:10px;display:flex}.adm-groups-title h2{color:#0f172a;margin:0;font-size:22px;font-weight:900}.adm-groups-actions,.adm-groups-actions-mobile{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.adm-btn-add{color:#111827;cursor:pointer;background:#facc15;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-weight:900;transition:all .12s;display:inline-flex;box-shadow:0 10px 24px #10182814}.adm-btn-add:hover{transform:translateY(-1px)}.adm-btn-add:active{opacity:.92;transform:translateY(0)}.adm-pill-tabs{background:#fff;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex;box-shadow:0 10px 24px #10182814}.adm-pill-tab{cursor:pointer;color:#0f172a;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:900;transition:all .12s;display:inline-flex}.adm-pill-tab:hover{background:#0f172a0f}.adm-pill-tab.active{color:#fff;background:#111827eb;border-color:#11182733}.adm-pill-ic{justify-content:center;align-items:center;display:inline-flex}.adm-pill-text{font-size:13px}@media (max-width:1024px){.adm-groups-topbar{flex-direction:column;align-items:stretch}.adm-groups-actions-mobile{flex-wrap:nowrap;justify-content:center;align-items:center}.adm-btn-add{justify-content:center;width:100%}.adm-pill-tabs{justify-content:space-between;width:100%}.adm-pill-text{display:none}}.students-cards{flex-direction:column;gap:10px;padding:12px;display:flex}.m-student{background:#fff;border:1px solid #0000001a;border-radius:14px;padding:12px;box-shadow:0 10px 24px #1018280f}.m-student-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.m-student-main{min-width:0}.m-student-name{color:#0f172a;word-break:break-word;font-size:15px;font-weight:900;line-height:1.2}.m-student-num{color:#64748b;margin-right:4px;font-weight:900}.m-student-sub{color:#475569;margin-top:6px;font-size:13px}.m-student-open{color:#0f172a;background:#0f172a08;border:1px solid #0000001a;border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;transition:all .12s;display:inline-flex}.m-student-open:hover{transform:translateY(-1px)}.m-student-open:active{opacity:.9;transform:translateY(0)}.m-student-meta{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.m-chip{color:#334155;white-space:nowrap;text-overflow:ellipsis;background:#0f172a08;border:1px solid #0000001a;border-radius:999px;align-items:center;max-width:100%;padding:6px 10px;font-size:12px;display:inline-flex;overflow:hidden}.m-status{border:1px solid #0000001a;border-radius:999px;align-items:center;margin-left:auto;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.m-status.on{color:#166534;background:#22c55e1f;border-color:#22c55e38}.m-status.off{color:#991b1b;background:#b91c1c1a;border-color:#b91c1c2e}@media (max-width:360px){.m-status{margin-left:0}}.student-card-page-detail{flex-direction:column;gap:20px;padding:20px;animation:.25s fadeIn;display:flex}.top-alert{border:1px solid #00000014;border-radius:14px;margin:12px 0 6px;padding:12px 14px;box-shadow:0 2px 10px #0000000f}.top-alert__title{align-items:center;gap:8px;margin-bottom:4px;font-weight:800;display:flex}.top-alert__text{opacity:.9;line-height:1.25}.top-alert.warn{background:#ffc1072e;border-color:#ffc10759}.top-alert.danger{background:#dc354524;border-color:#dc354559}.student-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-card-header h2{color:var(--accent,#222);margin:0;font-size:22px;font-weight:700}.student-card-actions{gap:10px;display:flex}.btn-pdf{color:#333;cursor:pointer;background:#f0f0f0;border:none;border-radius:12px;align-items:center;gap:8px;width:fit-content;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-pdf:hover{background:var(--brand);color:#333;transform:translateY(-1px)}.btn-pdf:hover svg{color:#333}.btn-pdf:active{background:color-mix(in srgb, var(--brand) 30%, #f0f0f0);transform:translateY(0)}.btn-pdf svg{fill:currentColor;width:16px;height:16px}.student-info-grid{grid-template-columns:repeat(auto-fit,1fr);grid-template-areas:"profile education""med balance""history history";gap:20px;display:grid}.info-section{background:var(--card-bg,#fff);box-shadow:var(--shadow,0 2px 8px #0000000d);border-radius:14px;padding:20px}.card-profile{grid-area:profile}.card-education{grid-area:education}.card-med{grid-area:med}.card-balance{grid-area:balance}.card-history{grid-area:history}.full-width{grid-column:1/-1}.section-header{color:#333;align-items:center;gap:8px;margin-bottom:10px;font-size:1.3rem;font-weight:600;display:flex}.section-header h3{margin:0}.student-card-page-detail .section-header h3{color:#111;border-left:none}.student-card-page-detail .section-header{border-left:4px solid var(--brand);padding:8px 0 8px 8px}.student-profile-grid{align-items:flex-start;gap:18px;display:flex}.student-ava img{object-fit:cover;border:3px solid var(--brand,#fbbf24);background:#fafafa;border-radius:18px;width:100px;height:100px}.profile-data{width:100%}.profile-data h2{color:#111827;margin:0 0 4px;font-size:20px;font-weight:700}.profile-data p{color:#4b5563;justify-content:flex-start;align-items:center;gap:6px;margin:2px 0;font-size:14px;display:flex}.status{width:fit-content;padding:7px 20px}.remote-label{color:#2563eb;align-items:center;gap:6px;margin-top:4px;font-weight:600;display:flex}.info-section p{color:#374151;margin:7px 0;font-size:14px}.info-section p strong{color:#111827}.info-section a{color:var(--brand,#fbbf24);font-weight:600;text-decoration:none}.info-section a:hover{text-decoration:underline}.med-status{margin-left:6px;font-weight:600}.med-status.ok{color:#16a34a}.med-status.warn{color:#f59e0b}.med-status.expired{color:#dc2626}.progress-bar{background:#e5e7eb;border-radius:4px;width:100%;height:6px;margin-top:4px;overflow:hidden}.progress-fill{background:var(--brand,#fbbf24);height:100%;transition:width .4s}.progress-text{text-align:right;color:#6b7280;margin-top:3px;font-size:.9rem}.lessons-table-wrap{overflow-x:auto}.lessons-table{border-collapse:collapse;margin-top:4px;font-size:13px}.lessons-table th,.lessons-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:8px 10px}.lessons-table th{color:#111827;background:#f9fafb;font-weight:600}.lessons-table tr:hover{background:#f3f4ff}.lesson-canceled{opacity:.6;color:#9ca3af;text-decoration:line-through}.student-grid__loading,.student-grid__error{text-align:center;color:#6b7280;padding:60px 0;font-size:15px}.pill-purple{color:#8e44ad;background:#9b59b624;border:1px solid #9b59b659}.remote-label.individual{color:#8e44ad;background:#9b59b61f;border-left:4px solid #8e44ad}.attended{color:#22c55e;font-weight:600}.missed{color:#ef4444;font-weight:600}.progress-block{flex-direction:column;gap:6px;display:flex}.progress-bar.small{background:#e5e7eb;border-radius:4px;height:6px;overflow:hidden}.progress-bar.small .progress-fill{height:100%;transition:width .4s}.card-student-new-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-grid.student-card-grid{align-items:stretch}.card-wide.card-new-student{margin-top:0}@media (max-width:1024px){.student-info-grid{grid-template-areas:"profile""education""med""balance""history"}.student-profile-grid{flex-direction:row;align-items:flex-start}}@media (max-width:700px){.student-card-page-detail{gap:10px;padding:10px 0;font-size:16px}.student-profile-grid{flex-direction:column;align-items:flex-start}.student-ava img{width:80px;height:80px}.student-card-header,.card-student-new-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}.btn-back,.btn-pdf{justify-content:center;width:100%}.student-card-actions{justify-content:flex-end;width:100%}}.student-card-new .card{margin-bottom:0}.info-row.compact span{align-items:center;gap:10px;display:inline-flex}.info-row.compact{gap:10px}.group-detail-page{background:#f8f9fb;min-height:100vh;padding:20px;font-family:Segoe UI,Roboto,sans-serif}.group-header{background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;padding:20px;display:flex;box-shadow:0 4px 10px #0000000d}.group-header .info h2{margin:0}.muted{color:#6b7280;margin:4px 0;font-size:14px}.stats{align-items:center;gap:12px;display:flex}.stat-card{background:#f9fafb;border:1px solid #eee;border-radius:12px;align-items:center;gap:10px;padding:10px 16px;display:flex}.stat-card h4{color:#777;margin:0;font-size:13px}.stat-card span{font-size:18px;font-weight:700}.students-section{background:#fff;border-radius:16px;margin-top:20px;padding:20px;box-shadow:0 4px 10px #0000000d}.students-section h3{color:var(--brand);margin-top:0}.data-table{border-collapse:collapse;width:100%;margin-top:12px}.data-table th,.data-table td{text-align:left;padding:10px}.data-table tr:hover{background:#f9fafb}@media (max-width:768px){.group-header{flex-direction:column;gap:16px}.stats{flex-direction:column;align-items:flex-start}.students-section{padding:14px}.data-table th,.data-table td{font-size:13px}}.programs-page{padding:20px}.topic-materials-disabled{color:#666;background:#f6f7f9;border:1px solid #0000000f;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}.programs-page .settings-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.programs-page .settings-header .title{align-items:center;gap:10px;display:flex}.programs-page .settings-header .title h2{color:#111827;margin:0;font-size:18px;font-weight:700}.programs-page .settings-header .actions{align-items:center;display:flex}.programs-page .table-scroll{-webkit-overflow-scrolling:touch;border-radius:16px;width:100%;max-width:100%;overflow:auto hidden}.programs-page .table-scroll .data-table{min-width:860px}.programs-page .data-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #00000014;border-radius:16px;width:100%;overflow:hidden}.programs-page .data-table thead th{text-align:left;letter-spacing:.2px;color:#334155;white-space:nowrap;z-index:1;background:#f8fafc;border-bottom:1px solid #00000014;padding:12px;font-size:12px;font-weight:600;position:sticky;top:0}.programs-page .data-table tbody td{color:#0f172a;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #eef2f7;padding:12px;font-size:14px}.programs-page .data-table tbody tr:nth-child(2n) td{background:#fbfdff}.programs-page .data-table tbody tr:hover td{background:color-mix(in srgb, var(--brand) 6%, #fff)}.programs-page .data-table tbody tr:last-child td{border-bottom:none}.programs-page .topic-row-draggable{cursor:grab}.programs-page .topic-row-draggable.selected td{background:color-mix(in srgb, var(--brand) 12%, #fff)}.programs-page .actions-cell{text-align:right;white-space:nowrap}.programs-page .icon-btn{cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:10px;justify-content:center;align-items:center;margin-left:6px;padding:8px 10px;transition:all .2s;display:inline-flex}.programs-page .icon-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0000001a}.programs-page .icon-btn.edit{border-color:color-mix(in srgb, var(--brand) 25%, #00000014)}.programs-page .icon-btn.delete{border-color:#ef444459}.programs-page .icon-btn.delete:hover{background:#ef444414}.topic-item{background:#fff;border:1px solid #eee;border-radius:20px;justify-content:start;align-items:center;gap:10px;padding:10px;transition:all .25s;display:flex}.topic-item.selected{background:color-mix(in srgb, var(--brand) 30%, white);border-color:#eee}.topic-name{color:#111827;font-weight:600}.topic-meta{color:#6b7280;font-size:.85rem}.topics-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;display:grid}.topics-section h4{margin:0;padding:10px 0}.programs-page .topic-detail-card{background:#fff;border:1px solid #00000014;border-radius:16px;margin-top:12px;padding:14px;box-shadow:0 10px 24px #0000000f}.programs-page .topic-detail-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.programs-page .topic-detail-header h3{color:#111827;margin:0;font-size:16px;font-weight:600}.programs-page .topic-detail-close{cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:10px;padding:8px 10px;transition:all .2s}.programs-page .topic-detail-close:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0000001a}.programs-page .topic-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.programs-page .topic-detail-grid .kv{background:#fbfdff;border:1px solid #0000000f;border-radius:14px;padding:10px}.programs-page .topic-detail-grid .kv span{color:#6b7280;margin-bottom:2px;font-size:12px;display:block}.programs-page .topic-detail-grid .kv strong{color:#111827;font-size:14px}.programs-page .topic-detail-description{color:#374151;margin:8px 0 0;line-height:1.35}.programs-page .topic-detail-materials ul{margin:6px 0 0;padding-left:18px}.programs-page .topic-detail-linkline{margin:10px 0 0}.programs-page .link{color:var(--brand);font-weight:700;text-decoration:none}.programs-page .link:hover{text-decoration:underline}.form-vertical-content{flex-direction:column;gap:10px;display:flex}.programs-page .form-field label{color:#111827;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.programs-page .form-field input,.programs-page .form-field select,.programs-page .form-field textarea{background:#fff;border:1px solid #0000001a;border-radius:999px;outline:none;width:100%;padding:10px 12px}.programs-page .form-field input:focus,.programs-page .form-field select:focus,.programs-page .form-field textarea:focus{border-color:color-mix(in srgb, var(--brand) 55%, #0000001a);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}.programs-page .hint{color:#6b7280;margin-top:6px;font-size:12px;display:block}.programs-page .modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.programs-page .btn-primary,.programs-page .btn-cancel{cursor:pointer;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;transition:all .2s;display:inline-flex}.programs-page .btn-primary{background:var(--brand);color:#fff;border:none}.programs-page .btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.programs-page .btn-cancel{color:#111827;background:#fff}.programs-page .btn-cancel:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014}.programs-cards{flex-direction:column;gap:10px;padding:20px 0;display:flex}.program-card{background:#fff;border:1px solid #f2f2f2;border-radius:16px;padding:20px 20px 10px;box-shadow:0 2px 6px #0000000f}.program-card-header{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.program-card-name{color:#111827;font-size:.96rem;font-weight:700}.program-card-category{color:#6b7280;font-size:1em}.program-card-row{color:#374151;justify-content:space-between;margin:1px 0;font-size:1.05em;display:flex}.program-card-row span{color:#9ca3af}.program-card-actions{border-top:1px solid #eee;justify-content:flex-end;gap:6px;margin-top:10px;padding-top:10px;display:flex}@media (max-width:1024px){.programs-page{padding:10px 0}.programs-page .settings-tabs button span{display:none}}@media (max-width:600px){.topics-grid{grid-template-columns:1fr}.topic-item{padding:8px}.programs-page .table-scroll .data-table{min-width:720px}.programs-page .topic-detail-grid{grid-template-columns:1fr}}@media (max-width:480px){.programs-page .actions-cell button{padding:10px 0;font-size:16px}}@media (max-width:400px){.program-card{padding:20px 20px 10px}.topics-section{max-height:40vh;overflow-y:auto}.program-card-name{font-size:1.1em}}.program-history-row td{background:#fafafa;padding:0!important}.program-price-history{padding:15px}.program-price-history--mobil{padding:10px 0}.program-price-history,.program-card-history{border-top:1px solid #ececec}.program-price-history-title{align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex}.program-price-history-empty{color:#6b7280;font-size:14px}.program-price-history-list{flex-direction:column;gap:10px;display:flex}.program-price-history-item{background:#fff;border:1px solid #ececec;border-radius:12px;padding:12px 14px}.program-price-history-top{color:#6b7280;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.program-price-history-middle{margin-bottom:6px}.program-price-history-middle .field-name{font-weight:600}.program-price-history-values{align-items:center;gap:8px;font-size:15px;display:flex}.program-price-history-values .arrow{color:#9ca3af}.program-price-history-comment{color:#4b5563;margin-top:8px;font-size:13px}.program-row.expanded{background:#fcfcfc}.themes-page{color:#222;margin-bottom:20px;padding:20px;font-family:Inter,Segoe UI,sans-serif;animation:.3s ease-in-out fadeIn}.hint.error{color:#c0392b;font-size:12px}.disable-field{display:none}.themes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.title{color:var(--brand);align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.title h2{margin:0;font-size:18px}.title svg{color:currentColor}.header-actions{align-items:center;gap:10px;display:flex}button{font-family:inherit}button svg{fill:currentColor;flex-shrink:0;width:16px;height:16px}button:hover svg{transition:transform .18s;transform:scale(1.08)}button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 65%, transparent);outline-offset:2px}.btn-add{background:var(--brand);color:var(--on-brand,#111);cursor:pointer;text-shadow:0 1px 1px #0000002e;border:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 4px 12px #0000001f}.btn-add:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 6px 16px #00000029}.btn-add:active{transform:translateY(0);box-shadow:0 4px 12px #0000001f}.btn-icon{cursor:pointer;background:0 0;border:1px dashed #e6e6e6;border-radius:12px;padding:10px;transition:transform .18s,background .18s,border-color .18s,color .18s}.btn-icon:hover{border-color:color-mix(in srgb, var(--accent) 35%, #e6e6e6);color:var(--accent);background:#fafafa;transform:translateY(-1px)}.btn-icon.delete:hover{color:#b02a2a}.btn-icon.small{background:#fff;border-style:solid;border-color:#0000001a;padding:8px}.icon-btn{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;padding:8px;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.icon-btn:hover{border-color:color-mix(in srgb, var(--accent) 35%, #0000001a);color:var(--accent);background:#fafafa;transform:translateY(-1px)}.icon-btn.delete:hover{color:#b02a2a}.themes-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.theme-card{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:18px;flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;box-shadow:0 2px 10px #0000000a}.theme-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, #eee);transform:translateY(-2px);box-shadow:0 8px 22px #00000014}.theme-top{justify-content:space-between;align-items:center;display:flex}.theme-name{color:#333;flex:1;margin:0;padding-right:8px;font-size:18px;font-weight:700;line-height:1.35}.theme-short{color:#555;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.45;display:-webkit-box;overflow:hidden}.theme-icons{gap:6px;display:flex}.theme-badges{align-items:center;gap:10px;display:flex}.badge{background:color-mix(in srgb, var(--brand) 10%, white);color:#111827;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.attendance-table-wrap{background:#fff;border:1px solid #00000014;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.themes-table{border-collapse:collapse;background:#fff;width:100%}.themes-table th{background:var(--brand);color:var(--on-brand,#111);text-align:left;padding:10px 14px;font-size:14px;font-weight:600}.themes-table td{color:#444;border-bottom:1px solid #eee;padding:10px 14px;font-size:14px}.themes-table tr:hover{background:#f8f9fb}.themes-table td:last-child{text-align:right}.theme-row{cursor:pointer}.drag-cell{color:#6b7280;width:32px}.drag-cell svg{width:14px;height:14px}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;animation:.3s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:100%;max-width:840px;animation:.25s ease-in-out scaleIn;box-shadow:0 10px 28px #00000038}.modal form{flex-direction:column;gap:18px;padding:20px;display:flex}.modal h3{color:var(--brand);margin:0;padding:16px 20px 0;font-size:18px;font-weight:700}.modal label{color:#555;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.modal input,.modal textarea,.modal select{border:1px solid #ddd;border-radius:14px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.btn-primary{background:var(--brand);color:var(--on-brand,#111);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 4px 12px #0000001f}.btn-primary:hover{background:var(--brand);transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.btn-cancel{cursor:pointer;color:#444;background:#eee;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:9px 14px;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.btn-cancel:hover{background:#e2e2e2;transform:translateY(-1px)}.theme-detail{margin-top:10px}.theme-detail-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.back-btn{cursor:pointer;color:#111827;background:#fff;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #0000000f}.back-btn:hover{background:#00000008;transform:translateY(-1px)}.theme-detail-actions{align-items:center;gap:8px;display:flex}.theme-detail-card{background:#fff;border:1px solid #00000014;border-radius:18px;padding:16px;box-shadow:0 10px 22px #11182714}.theme-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.theme-detail-title{color:color-contrast(var(--brand) vs #333, #fff);align-items:center;gap:10px;display:flex}.theme-detail-title svg{color:color-contrast(var(--brand) vs #333, #fff)}.theme-detail-title h2{align-items:center;gap:8px;margin:0;font-size:18px;font-weight:800;display:flex}.theme-pill{background:color-mix(in srgb, var(--brand) 18%, white);color:#111827;border:1px solid #0000001a;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:900;display:inline-flex}.theme-description{color:#374151;margin:10px 0 0;font-weight:700;line-height:1.55}.theme-description-empty{opacity:.75;font-style:italic}.theme-media{flex-direction:column;gap:10px;margin-top:12px;display:flex}.theme-video-link{color:#111827;background:#fff;border:1px solid #0000001a;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-weight:900;text-decoration:none;display:inline-flex}.theme-video-link:hover{background:#0000000a}.theme-media-title{color:#111827;margin-bottom:8px;font-weight:950}.video-player{background:#000;border:1px solid #0000001a;border-radius:18px;width:100%;max-height:360px;box-shadow:0 2px 8px #0000000f}.materials-list{margin-top:14px}.materials-list h4{color:#111827;margin:0 0 10px;font-weight:950}.file-link{color:var(--brand);border:1px solid color-mix(in srgb, var(--brand) 75%, #ddd);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;transition:transform .18s,background .18s,color .18s,border-color .18s;display:flex;box-shadow:0 1px 2px #0000000d}.file-link:hover{background:var(--brand);color:var(--on-brand,#111);border-color:var(--brand);transform:translateY(-1px)}.materials-empty{color:#6b7280;background:#fafafa;border:1px dashed #0000002e;border-radius:14px;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;font-weight:800;display:flex}.file-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.file-list li{align-items:center;gap:8px;display:flex}.file-delete-btn{color:#b91c1c;cursor:pointer;background:#dc26261a;border:0;border-radius:10px;width:30px;height:30px;margin-left:auto;font-weight:900}.file-delete-btn:hover{background:#dc262629}.empty-text{color:#777;text-align:center;margin-top:30px;font-style:italic}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width:1024px){.themes-page{padding:10px 0}.themes-header,.view-toggle{justify-content:center}.themes-grid{grid-template-columns:1fr}.modal{max-width:95%}.themes-table th,.themes-table td{padding:8px}.theme-card{border-radius:14px;padding:14px}.theme-name{font-size:16px}.theme-short{-webkit-line-clamp:4;font-size:14px}.materials-grid{grid-template-columns:1fr}.file-link{padding:12px 14px;font-size:15px}}.settings-page{--field-h:44px;--field-radius:20px;--field-border:#e5e7eb;--field-bg:#fff;--field-bg-soft:#f8fafc;--field-text:#0f172a;--field-muted:#64748b;--card-radius:20px;--shadow:0 2px 12px #0000000d;--shadow-soft:0 1px 4px #0000000a;color:#222;background:#f6f7fb;flex-direction:column;gap:24px;padding:20px;font-family:Inter,Segoe UI,sans-serif;display:flex}.settings-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-header h2{color:#333;align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.settings-tabs{background:#fff;border-radius:50px;flex-wrap:nowrap;align-items:center;gap:10px;padding:10px 14px;display:flex;box-shadow:0 2px 5px #0000000a}.settings-tabs button{color:color-contrast(var(--brand) vs #111, #fff);cursor:pointer;white-space:nowrap;background:#f2f3f5;border:none;border-radius:30px;align-items:center;gap:8px;padding:8px 16px;font-weight:700;transition:all .2s;display:inline-flex}.settings-tabs button:hover{background:#e9ebee;transform:translateY(-1px)}.settings-tabs button.active{background:var(--brand);color:color-contrast(var(--brand) vs #111, #fff);box-shadow:0 2px 10px #00000014}.settings-content{border-radius:var(--card-radius);box-shadow:var(--shadow);background:#fff;padding:30px;animation:.25s fadeIn;overflow:hidden}.tab-panel{flex-direction:column;gap:14px;margin-bottom:15px;display:flex}.tab-panel h3{color:#222;border-left:3px solid var(--brand);margin:0;padding:10px;font-size:1.1rem;font-weight:700}.section-title{align-items:center;gap:10px;margin:0;font-size:1.05rem;font-weight:700;display:flex}.muted-text{color:var(--field-muted);font-size:14px}.muted-section-title{color:#475569;margin:14px 0 0;font-weight:700}.divider{border:none;border-top:1px solid var(--field-border);margin:18px 0}.settings-page .form-field{box-sizing:border-box;flex-direction:column;gap:6px;width:100%;max-width:100%;display:flex}.settings-page .form-field label{color:#334155;font-size:13px;font-weight:700}.settings-page .form-field input,.settings-page .form-field select,.settings-page .form-field textarea{box-sizing:border-box;border:1px solid var(--field-border);border-radius:var(--field-radius);background:var(--field-bg);width:100%;color:var(--field-text);height:var(--field-h);padding:10px;font-size:16px;line-height:1;transition:border-color .18s,box-shadow .18s,background .18s}.form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-field textarea,.form-field select{padding:10px}.settings-page .form-field textarea{height:auto;min-height:110px;padding:10px 12px;line-height:1.35}.form-field.tg-checkbox{gap:10px}.form-field.tg-checkbox .checkbox-label{border:1px solid var(--field-border);background:var(--field-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:transform .18s,box-shadow .18s,background .18s;display:flex}.form-field.tg-checkbox .checkbox-label:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 16px #0000000d}.form-field.tg-checkbox .checkbox-label span{color:#0f172a;font-size:14px;font-weight:700;line-height:1.2}.form-field.tg-checkbox .checkbox-label input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:6px;place-content:center;width:20px;height:20px;margin:0;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-grid}.form-field.tg-checkbox .checkbox-label input[type=checkbox]:after{content:"";opacity:0;border-bottom:3px solid #0000;border-left:3px solid #0000;width:10px;height:6px;transition:opacity .15s;transform:rotate(-45deg)translateY(-1px)}.form-field.tg-checkbox .checkbox-label input[type=checkbox]:checked{background:color-mix(in srgb, var(--brand) 18%, #fff);border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 16%, transparent)}.form-field.tg-checkbox .checkbox-label input[type=checkbox]:checked:after{border-left-color:var(--brand);border-bottom-color:var(--brand);opacity:1}.form-field.tg-checkbox .checkbox-label input[type=checkbox]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 16%, transparent);outline:none}@media (max-width:768px){.form-field.tg-checkbox .checkbox-label{padding:12px}.form-field.tg-checkbox .checkbox-label span{font-size:13px}}.settings-page .form-field input::placeholder,.settings-page .form-field textarea::placeholder{color:var(--field-muted);opacity:.9}.settings-page .form-field input:focus,.settings-page .form-field select:focus,.settings-page .form-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.settings-page .form-field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,#0000 50%),linear-gradient(90deg,#0000,#0000);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;padding-right:36px}.field-hint{color:#64748b;margin-top:6px;font-size:12px}.settings-actions{justify-content:flex-start;margin-top:12px;display:flex}.period-select{height:var(--field-h);border-radius:var(--field-radius);border:1px solid var(--field-border);background:var(--field-bg);color:var(--field-text);cursor:pointer;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,#0000 50%),linear-gradient(90deg,#0000,#0000);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;padding:0 36px 0 12px;font-size:14px;line-height:1;transition:border-color .18s,box-shadow .18s}.period-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.subscription-info{border:1px solid var(--field-border);background:#fbfbff;border-radius:16px;padding:14px 16px}.subscription-info h4{margin:0 0 10px;font-weight:700}.badge-status{text-transform:capitalize;color:#fff;letter-spacing:.3px;border-radius:20px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-block}.badge-status.active{background:#28a745;box-shadow:0 0 6px #28a74533}.badge-status.paused{color:#222;background:#ffc107;box-shadow:0 0 6px #ffc1074d}.badge-status.expired{background:#dc3545;box-shadow:0 0 6px #dc35454d}.payment-methods-add{align-items:center;gap:10px;margin-bottom:12px;display:flex}.payment-methods-add,.payment-methods-add *{box-sizing:border-box}.input-icon{height:var(--field-h);background:var(--field-bg-soft);border-radius:var(--field-radius);border:1px solid var(--field-border);align-items:center;gap:10px;min-width:0;padding:0 12px;display:flex}.input-icon svg{color:#64748b;flex:none}.input-icon input{background:0 0;border:none;outline:none;width:100%;min-width:0;height:100%;padding:0}.payment-methods-list{flex-direction:column;gap:10px;margin-top:6px;display:flex}.payment-method-item{border:1px solid var(--field-border);min-width:0;box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;transition:background .2s,opacity .2s,box-shadow .2s,transform .2s;display:flex}.payment-method-item:hover{transform:translateY(-1px);box-shadow:0 2px 10px #0000000d}.payment-method-item.inactive{opacity:.55;background:#f9fafb}.method-info{flex-direction:column;gap:2px;min-width:0;display:flex}.method-info strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:700;overflow:hidden}.method-code{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.icon-btn{border:1px solid var(--field-border);cursor:pointer;background:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex}.icon-btn:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 14px #0000000f}.switch{width:48px;height:26px;margin-top:6px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;border-radius:34px;transition:all .25s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .25s;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{background-color:var(--brand)}.switch input:checked+.slider:before{transform:translate(22px)}.tg-checkbox{align-items:center;margin-top:6px;display:flex}.checkbox-label{cursor:pointer;color:#0f172a;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--brand);cursor:pointer;transform:scale(1.15)}.form-field.tg-checkbox{align-items:flex-start}.tg-instruction{border:1px dashed var(--field-border);color:#444;background:#f8f9fa;border-radius:12px;margin-top:6px;padding:10px 14px;font-size:14px}.tg-instruction ol{margin:8px 0 0;padding-left:18px}.tg-instruction li{margin:6px 0;line-height:1.35}.tg-instruction code{background:#eee;border-radius:6px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:8px;display:grid}.features-grid.disabled{opacity:.9}.feature-item{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #eee;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px;transition:transform .2s,box-shadow .2s;display:flex}.feature-item:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000012}.feature-item.disabled{opacity:.6;pointer-events:none;background:#f8f8f8}.feature-info{grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;display:grid}.feature-info strong{color:#111827;font-size:15px;font-weight:700}.feature-info .muted-text{color:#64748b;margin:4px 0 0;font-size:13px}.lock-label{color:#64748b;margin-top:6px;font-size:12px}.limit-value{color:#334155;margin-top:6px;font-size:13px}.module-settings-card.yk{background:#fff;border:1px solid #0f172a14;border-radius:18px;padding:16px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0206170f}.module-settings-card.yk:before{content:"";background:var(--brand);height:4px;position:absolute;inset:0 0 auto}.yk-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.yk-title{align-items:center;gap:12px;display:flex}.yk-ic{background:color-mix(in srgb, var(--brand) 12%, #fff);border:1px solid color-mix(in srgb, var(--brand) 18%, #fff);width:42px;height:42px;color:var(--brand);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.yk-name{color:#0f172a;font-size:15px;font-weight:800;line-height:1.2}.yk-sub{color:#64748b;margin-top:2px;font-size:13px}.yk-note{background:#f8fafc;border:1px dashed #0f172a1f;border-radius:14px;align-items:flex-start;gap:10px;margin:10px 0 12px;padding:12px;display:flex}.yk-note-ic{color:#0f172a;background:#fff;border:1px solid #0f172a1f;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:inline-flex}.yk-note-title{color:#0f172a;font-size:13px;font-weight:800}.yk-note-text{color:#475569;margin-top:2px;font-size:13px}.yk-details{background:#fff;border:1px solid #0f172a14;border-radius:14px;margin-bottom:12px;padding:10px 12px}.yk-details summary{cursor:pointer;color:#0f172a;font-weight:800;list-style:none}.yk-details summary::-webkit-details-marker{display:none}.yk-details summary:after{content:"▾";float:right;color:#64748b;transition:transform .2s}.yk-details[open] summary:after{transform:rotate(180deg)}.yk-steps{color:#334155;margin:10px 0 0;padding-left:18px;font-size:13px}.yk-steps li{margin:6px 0;line-height:1.35}.yk-webhook{background:#fbfdff;border:1px solid #0f172a14;border-radius:14px;margin-bottom:12px;padding:12px}.yk-webhook-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.yk-webhook-title{color:#0f172a;font-size:13px;font-weight:900}.yk-webhook-sub{color:#64748b;margin-top:2px;font-size:12px}.yk-copy{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #0f172a1f;border-radius:999px;flex:none;height:34px;padding:0 12px;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s}.yk-copy:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 10px 18px #0206170f}.yk-code{overflow-wrap:anywhere;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;font-size:12px;display:block}.yk-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.yk-secret{align-items:center;gap:10px;display:flex}.yk-secret input{flex:1}.yk-eye{cursor:pointer;height:44px;color:var(--brand);white-space:nowrap;background:#fff;border:1px solid #0f172a1f;border-radius:14px;padding:0 12px;font-weight:800}.yk-eye:hover{background:#f8fafc}.yk-alert{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin-top:12px;padding:12px 14px;font-size:13px;font-weight:800}.yk-alert-sub{color:#7c2d12;opacity:.9;margin-top:4px;font-weight:700}@media (max-width:768px){.yk-grid{grid-template-columns:1fr}.yk-webhook-top{flex-direction:column;align-items:stretch}.yk-copy{justify-content:center;width:100%}}.theme-settings{flex-direction:column;gap:18px;display:flex}.theme-colors{flex-wrap:wrap;gap:20px;display:flex}.color-field{flex:1;min-width:260px}.color-input{align-items:center;gap:12px;display:flex}.color-input input[type=color]{border:1px solid var(--field-border);cursor:pointer;background:#fff;border-radius:12px;width:56px;height:44px}.color-input span{color:#334155;font-size:13px;font-weight:700}.dropzone-modern{cursor:pointer;text-align:center;background:#fdfdfd;border:2px dashed #cbd5e1;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:280px;height:200px;transition:all .25s;display:flex;position:relative;overflow:hidden}.dropzone-modern:hover{border-color:var(--brand);background:#fffefa;transform:translateY(-2px);box-shadow:0 6px 16px #0000000f}.dropzone-modern.has-file{border:1px solid var(--field-border);box-shadow:var(--shadow-soft);background:#fff}.dropzone-icon{color:var(--brand);margin-bottom:10px;font-size:32px}.dropzone-text{color:#334155;margin:0;font-size:14px;font-weight:700}.dropzone-text .link{color:var(--brand);font-weight:700;text-decoration:underline}.dropzone-subtext{color:#64748b;margin-top:4px;font-size:12px}.dropzone-image{object-fit:contain;border-radius:16px;width:100%;height:100%;transition:all .25s}.dropzone-modern.has-file:hover .dropzone-image{opacity:.4;transform:scale(.98)}.dropzone-overlay{color:var(--brand);opacity:0;background:#ffffffc7;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:700;transition:opacity .25s;display:flex;position:absolute;inset:0}.dropzone-modern.has-file:hover .dropzone-overlay{opacity:1}.dropzone-overlay svg{font-size:22px}@media (max-width:1200px){.settings-header h2{font-size:1.5rem}}@media (max-width:1024px){.settings-page{padding:10px 0}.settings-header{flex-direction:column;align-items:flex-start}.settings-header h2{font-size:1.3rem}.settings-content{padding:20px}.features-grid{grid-template-columns:1fr}.theme-colors{flex-direction:column}.settings-actions{justify-content:center}.settings-header button span{display:none}.payment-methods-add{grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;display:grid}.payment-methods-add .btn-secondary{grid-column:1/-1;justify-content:center;width:100%}}@media (max-width:768px){.payment-methods-add{grid-template-columns:1fr}.payment-method-item{gap:10px;padding:12px}.module-settings-card{padding:14px}.module-settings-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:480px){.payment-method-item{grid-template-columns:1fr auto;align-items:flex-start;gap:10px;display:grid}.method-info strong{font-size:14px}.method-code{font-size:12px}}.price-history-list{flex-direction:column;gap:12px;margin-top:10px;display:flex}.price-history-item{background:var(--card-bg);box-shadow:var(--shadow);border-left:4px solid var(--brand);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;transition:all .2s;display:flex}.price-history-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.price-history-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.price-history-main strong{color:var(--text-main);font-size:16px}.price-history-main span{color:var(--text-muted);font-size:13px}.price-history-dates{color:var(--text-muted);font-size:12px}.price-history-comment{color:var(--text-main);background:#00000008;border-radius:8px;padding:6px 8px;font-size:13px}@media (max-width:768px){.price-history-main{flex-direction:column;align-items:flex-start;gap:4px}.price-history-item{padding:10px}.price-history-main strong{font-size:15px}}.price-history-accordion{flex-direction:column;gap:12px;display:flex}.price-history-toggle{background:var(--card-bg);width:100%;box-shadow:var(--shadow);cursor:pointer;text-align:left;border:none;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.price-history-toggle:hover{transform:translateY(-1px)}.price-history-toggle.open{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.price-history-toggle-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.price-history-toggle-left h3{margin:0;font-size:18px}.price-history-toggle-right{color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;display:flex}.price-history-count{min-width:24px;height:24px;color:var(--brand);background:#2563eb1f;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.price-history-price-block{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price-badge{color:#fff;background:#22c55e;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}@media (max-width:768px){.price-history-toggle{align-items:flex-start;padding:12px 14px}.price-history-toggle-left{flex-direction:column;align-items:flex-start;gap:6px}.price-history-toggle-left h3{font-size:16px}.price-history-count{height:22px;font-size:11px}}:root{--as-bg:#f6f7fb;--as-card:#fff;--as-text:#111827;--as-muted:#6b7280;--as-border:#1118271a;--as-soft:#1118270a;--as-radius:16px;--as-shadow:0 10px 22px #11182714;--as-theory:color-mix(in srgb, var(--brand) 85%, white);--as-practice:#4dadd4;--as-canceled-bg:#e5e7eb;--as-canceled-border:#9ca3af;--as-event-text:#111}.as-student-mode{gap:8px;display:flex}.as-student-mode button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;font-weight:600}.as-student-mode button.active{color:#1d4ed8;background:#eef4ff;border-color:#3b82f6}.as-page{color:var(--as-text);background:0 0;min-width:0;padding:20px}.as-card-badges{align-items:center;gap:8px;display:flex}.as-badge.b-status{color:#333;background:#f5f6fa;border:1px solid #00000014}.as-badge.b-success{color:#1f7a3a;background:#e9f8ee;border-color:#bfe9cb}.as-badge.b-info{color:#1b4db3;background:#eaf2ff;border-color:#bfd6ff}.as-badge.b-danger{color:#b42318;background:#ffecec;border-color:#ffc6c6}.as-badge.b-warn{color:#8a5a00;background:#fff6e5;border-color:#ffe0a6}.as-badge.b-muted{color:#6b7280;background:#f1f3f5;border-color:#e2e6ea}.as-status-missed{filter:saturate(.85);opacity:.9}.as-status-in_progress{box-shadow:inset 0 0 0 2px #3b82f640}.as-status-completed{opacity:.95}.as-status-reported{box-shadow:inset 0 0 0 2px #f59e0b40}.as-fc-event{flex-direction:column;gap:4px;padding:2px;display:flex}.as-fc-time{opacity:.9;font-size:12px}.as-fc-title{font-size:12px;font-weight:600;line-height:1.2}.as-fc-bottom{align-items:center;gap:6px;margin-top:2px;display:flex}.as-fc-status{color:#333;background:#f5f6fa;border:1px solid #00000014;border-radius:999px;align-items:center;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.as-fc-status.b-success{color:#1f7a3a;background:#e9f8ee;border-color:#bfe9cb}.as-fc-status.b-info{color:#1b4db3;background:#eaf2ff;border-color:#bfd6ff}.as-fc-status.b-danger{color:#b42318;background:#ffecec;border-color:#ffc6c6}.as-fc-status.b-warn{color:#8a5a00;background:#fff6e5;border-color:#ffe0a6}.as-fc-status.b-muted{color:#6b7280;background:#f1f3f5;border-color:#e2e6ea}.as-header{background:var(--as-card);border:1px solid var(--as-border);border-radius:var(--as-radius);box-shadow:var(--as-shadow);flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.as-header-left{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.as-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.as-title h2{letter-spacing:.2px;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700;display:flex}.as-title h2 svg{color:color-contrast(var(--brand) vs #333, #fff)}.as-header-right{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.as-btn{border:1px solid var(--as-border);color:var(--as-text);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:900;transition:transform 60ms,box-shadow .12s,background .12s,filter .12s;display:inline-flex;box-shadow:0 1px #00000008}.as-btn:hover{box-shadow:var(--as-shadow);transform:translateY(-1px)}.as-btn:active{transform:translateY(0);box-shadow:0 4px 12px #1118271a}.as-btn-primary{background:var(--brand);color:var(--on-brand,#111);border-color:#0000}.as-btn-ghost{background:#fff}.as-btn-soft{background:color-mix(in srgb, var(--as-soft) 70%, white)}.as-mobile-bar{flex-wrap:wrap;gap:10px;display:none}.as-count{background:color-mix(in srgb, var(--brand) 18%, white);border:1px solid var(--as-border);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:950;display:inline-flex}.as-meta{flex-wrap:wrap;gap:8px;display:flex}.as-flex-title{align-items:center;gap:10px;display:flex}.as-pill{border:1px solid var(--as-border);color:var(--as-muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:500;display:inline-flex}.as-pill svg{color:var(--as-muted)}.as-filters{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.as-filter{flex-direction:column;gap:6px;display:flex}.as-filter label{color:var(--as-muted);font-size:12px;font-weight:900}.as-filter select{border:1px solid var(--as-border);background:#fff;border-radius:12px;outline:none;padding:10px 12px;font-weight:800;transition:box-shadow .12s,border-color .12s}.as-filter select:focus{border-color:color-mix(in srgb, var(--brand) 45%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}.as-filter-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:2px;display:flex}.as-filter select{box-sizing:border-box;appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;width:100%;padding:12px 40px 12px 12px;font-size:14px;font-weight:600;line-height:1.2}.as-filter label{font-weight:700}.as-calendar-card{background:var(--as-card);border:1px solid var(--as-border);border-radius:var(--as-radius);box-shadow:var(--as-shadow);padding:10px;overflow:hidden}.fc .fc-button:hover{filter:brightness(.98)}.fc-day-today{background:color-mix(in srgb, var(--brand) 14%, white)!important}.fc .fc-event{font-weight:900;border-width:1px!important;border-radius:10px!important;padding:2px 6px!important}.fc .as-event-canceled{opacity:.55;text-decoration:line-through}.as-list{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;display:grid}.as-card{background:var(--as-card);border:1px solid var(--as-border);border-radius:var(--as-radius);box-shadow:var(--as-shadow);cursor:pointer;min-width:0;padding:14px;transition:transform 60ms,box-shadow .12s,border-color .12s;position:relative}.as-card:hover{border-color:color-mix(in srgb, var(--brand) 35%, white);transform:translateY(-1px)}.as-card.practice{border-left:5px solid var(--as-practice)}.as-card.theory{border-left:5px solid var(--as-theory)}.as-card.canceled{opacity:.75;background:#fafafa;border-left-color:var(--as-canceled-border)!important}.as-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.as-card-date{color:var(--as-muted);align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.as-badge{border:1px solid var(--as-border);color:var(--as-text);background:#fff;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:950;display:inline-flex}.as-badge.b-practice{background:color-mix(in srgb, var(--as-practice) 22%, white)}.as-badge.b-theory{background:color-mix(in srgb, var(--as-theory) 22%, white)}.as-card-title{color:var(--as-text);margin:2px 0 8px;font-weight:950;line-height:1.25}.as-card-info p{color:#374151;margin:6px 0;font-size:13.5px;font-weight:750}.as-card-info b{color:var(--as-text);font-weight:950}.as-comment{border-top:1px dashed #6b728059;padding-top:8px;color:var(--as-muted)!important;margin-top:8px!important}.as-card-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.as-ibtn{border:1px solid var(--as-border);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,transform 60ms;display:flex}.as-ibtn:hover{background:var(--as-soft);transform:translateY(-1px)}.as-ibtn.edit{color:#111827}.as-ibtn.cancel{color:#d97706}.as-ibtn.restore{color:#16a34a}.as-ibtn.delete{color:#b91c1c;border-color:#b91c1c40}.as-canceled{color:#b91c1c;text-transform:uppercase;margin-right:4px;font-size:11px;font-weight:950}.as-empty{color:var(--as-muted);text-align:center;border-radius:var(--as-radius);background:#fff;border:1px dashed #6b728059;padding:14px;font-weight:900}.as-hint{color:var(--as-muted);margin-top:6px;font-size:12px;font-weight:800}@media (max-width:1024px){.as-filters{grid-template-columns:1fr}.as-flex-title{flex-direction:column;align-items:start}.as-page{padding:10px 0}}@media (max-width:560px){.as-page{padding:10px 0}.as-header{padding:12px}.as-btn{justify-content:center;width:100%}.as-title{width:100%}.as-mobile-bar{display:flex}.as-filters.closed{display:none}.as-filters.open{grid-template-columns:1fr;gap:10px;display:grid}.as-filter-actions{justify-content:stretch}.as-filter-actions .as-btn{width:100%}.as-list{grid-template-columns:1fr}.as-calendar-card{padding:8px}.fc .fc-button{padding:6px 9px!important}}.admin-payments-page{color:var(--text-main);padding:20px}.admin-payments-page .filters-row{margin-bottom:20px}.admin-payments-page .rp-table{padding:15px}.page-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.btn-secondary{border-radius:999px}.page-header h2{align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.actions{gap:10px;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:10px 0 18px;display:grid}.summary-card{background:var(--card-bg,#fff);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.summary-card span{color:var(--text-muted,#777)}.summary-card strong{font-size:18px}.summary-card.negative{color:#b80000;background:#ffe9e9}.table-wrapper{width:100%;overflow-x:auto}.admin-payments-page .data-table{border-collapse:collapse;width:100%;min-width:650px}.actions-cell{text-align:right}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{color:#333;white-space:nowrap;background:#eef2ff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:10px;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.badge-course{color:#065f46;background:#eafff0;border-color:#c6f6d5}.badge-installment{color:#995c00;background:#fff7e6;border-color:#fde68a}.badge-theory{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.badge-practice{color:#075985;background:#e0f2fe;border-color:#bae6fd}.badge-extra{color:#6b21a8;background:#f5f3ff;border-color:#ddd6fe}.badge-refund{color:#9f1239;background:#ffe4e6;border-color:#fecdd3}.admin-payments-page .form-vertical label{margin:10px 0 6px;font-weight:600;display:block}.form-field.inline{justify-content:space-between;align-items:start;gap:14px;display:flex}.admin-payments-page .form-field input[type=checkbox]{align-items:center;gap:8px;width:fit-content;font-weight:600;display:inline-flex}.quick-sums{gap:6px;display:flex}.quick-sums button{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:6px 10px;transition:background .15s,transform .15s}.quick-sums button:hover{background:#f3f4f6;transform:translateY(-1px)}.finance-hint{background:var(--card-bg,#fff);box-shadow:var(--shadow);border-radius:12px;margin:10px 0 4px;padding:12px;font-size:14px}.finance-hint .hint-row{border-bottom:1px dashed #eee;grid-template-columns:1fr auto;gap:10px;padding:6px 0;display:grid}.finance-hint .hint-row:last-child{border-bottom:none}.section-title{align-items:center;gap:8px;margin:12px 0 6px;font-weight:700;display:flex}.section-title svg{opacity:.9}.filters-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 14px;display:flex}.filters-bar select,.filters-bar input[type=date]{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px}.export-split{gap:8px;display:flex}.mobile-cards{display:none}.payment-card{background:var(--card-bg,#fff);box-shadow:var(--shadow);border-radius:14px;margin-bottom:10px;padding:12px}.pc-header{justify-content:space-between;gap:8px;display:flex}.pc-amount{font-weight:700}.pc-body{gap:4px;margin-top:6px;font-size:14px;display:grid}.pc-actions{text-align:right;margin-top:6px}.row-warning{background:#fffbe6}@media (max-width:1024px){.admin-payments-page{padding:10px 0}.page-header h2{font-size:20px}.admin-payments-page .page-header,.admin-payments-page .actions{flex-direction:column}.summary-cards{grid-template-columns:1fr 1fr}.data-table{min-width:560px}.desktop-only{display:none}.mobile-cards{display:block}}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn-mini{--brand-soft:color-mix(in srgb, var(--brand) 12%, transparent);--brand-border:color-mix(in srgb, var(--brand) 35%, transparent);--brand-strong:color-mix(in srgb, var(--brand) 85%, black);color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #333;border-radius:999px;align-items:center;gap:8px;height:34px;padding:0 12px;font-size:13px;font-weight:600;line-height:1;transition:background .15s,box-shadow .15s,border-color .15s,transform 40ms;display:inline-flex}.btn-mini svg{opacity:.95;font-size:14px}.btn-mini:hover{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 6px 18px color-mix(in srgb, var(--brand) 18%, transparent)}.btn-mini:active{box-shadow:0 3px 10px color-mix(in srgb, var(--brand) 22%, transparent);transform:translateY(1px)}.btn-mini:focus{outline:none}.btn-mini:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent);border-color:var(--brand)}.btn-mini:disabled,.btn-mini[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-mini.is-secondary{color:var(--brand);background:color-mix(in srgb, var(--brand) 6%, transparent)}.btn-mini.is-secondary:hover{background:color-mix(in srgb, var(--brand) 12%, transparent)}.pc-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.pc-actions .btn-mini{height:32px;padding:0 10px;font-size:12.5px}@media (max-width:420px){.pc-actions{flex-wrap:wrap;gap:8px}.pc-actions .btn-mini{flex:auto;justify-content:center}}.exams-page{flex-direction:column;gap:20px;padding:20px;display:flex}.exams-header{justify-content:space-between;align-items:center;display:flex}.exams-header .title h2{margin:0}.filters-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:12px;padding:16px;display:flex}.filters-card select{border:1px solid #ddd;border-radius:8px;padding:8px 12px}.table-card{flex-direction:column;gap:10px;display:flex;overflow-x:auto}@media (max-width:1024px){.exams-page{gap:12px;padding:10px 0}.exams-header{flex-direction:column;align-items:flex-start;gap:8px}.exams-header .title h2{line-height:1.2}.filters-card{flex-direction:column;gap:10px;padding:12px}.filters-card select{width:100%;padding:10px 12px;font-size:14px}.table-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-card table{min-width:600px}.table-card th,.table-card td{white-space:nowrap;padding:8px 10px;font-size:13px}}@media (max-width:480px){.filters-card{padding:10px}.filters-card select{font-size:13px}.table-card table{min-width:520px}}.gai-page,.gai-page *{box-sizing:border-box}.gai-page{flex-direction:column;gap:20px;padding:20px;display:flex}.gai-page .gai-header{justify-content:space-between;align-items:center;display:flex}.gai-page .gai-header .title{align-items:center;gap:10px;display:flex}.gai-page .gai-header .title h2{margin:0;line-height:1.2}.gai-page .settings-tabs{border-radius:var(--radius);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;background:#fff;flex-wrap:nowrap;align-items:center;gap:10px;padding:16px;display:flex;overflow:auto hidden}.gai-page .settings-tabs>*{flex-shrink:0}.gai-page .settings-tabs input.full{border:1px solid #ddd;border-radius:14px;width:320px;min-width:220px;max-width:320px;padding:10px 12px;font-size:14px}.gai-page .settings-tabs select.full{background:#fff;border:1px solid #ddd;border-radius:14px;width:190px;min-width:160px;max-width:220px;padding:10px 12px;font-size:14px}.gai-page .settings-tabs button{cursor:pointer;white-space:nowrap;background:#f7f7f8;border:1px solid #ddd;border-radius:14px;height:42px;padding:0 16px;font-size:14px;transition:background .15s,color .15s,border-color .15s}.gai-page .settings-tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.gai-page .settings-tabs .btn-add{color:#fff;background:#1f9d55;border:none;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:600;display:inline-flex}.gai-page .settings-tabs .btn-add:disabled{opacity:.6;cursor:not-allowed}.gai-page .settings-tabs input:focus,.gai-page .settings-tabs select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0000000a}.gai-page .settings-tabs button:hover:not(.active):not(:disabled){background:#f0f1f3}.gai-page .table-card{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (max-width:1024px){.gai-page{gap:12px;padding:10px 0}.gai-page .gai-header{flex-direction:column;align-items:flex-start;gap:10px}.gai-page .settings-tabs{flex-wrap:wrap;padding:12px;overflow-x:visible}.gai-page .settings-tabs input.full{flex:280px;width:auto;min-width:220px;max-width:none}.gai-page .settings-tabs select.full{flex:0 0 180px;width:auto;max-width:none}}@media (max-width:768px){.gai-page{gap:10px;padding:10px 0}.gai-page .settings-tabs{flex-wrap:wrap;gap:8px;padding:12px}.gai-page .settings-tabs input.full,.gai-page .settings-tabs select.full{flex:100%;width:100%;min-width:100%;max-width:100%}.gai-page .settings-tabs button,.gai-page .settings-tabs .btn-add{flex:calc(50% - 4px);justify-content:center}}@media (max-width:480px){.gai-page .settings-tabs button,.gai-page .settings-tabs .btn-add{flex:100%}}.audience-select-block{border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.audience-list{border:1px solid #f3f4f6;border-radius:8px;max-height:200px;overflow-y:auto}.audience-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:6px 10px;font-size:13px}.audience-item.selected{background:#dbeafe;font-weight:500}.audience-empty{color:#6b7280;text-align:center;padding:8px 10px;font-size:13px}.audience-selected{color:#2563eb;font-size:12px}.page-content{color:#111827;border-radius:18px;flex-direction:column;gap:16px;padding:18px;animation:.2s ease-in-out fadeIn;display:flex;overflow:hidden}.lessons-header{background:#fff;border:1px solid #00000014;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 8px 18px #1118270f}.lessons-header-left{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:260px;display:flex}.lessons-title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lessons-title h2{color:#111827;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:inline-flex}.lessons-title svg{color:currentColor}.filter-wrapper{position:relative}.group-filter{color:#111827;cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:12px;height:40px;padding:0 12px;font-size:14px;font-weight:800;transition:border .12s,box-shadow .12s}.group-filter:hover{border-color:#0000002e}.group-filter:focus{border-color:#0000002e;outline:none;box-shadow:0 0 0 3px #f4c40038}.lessons-header-right{align-items:center;gap:10px;display:flex}.fc{background:#fff;border:1px solid #00000014;border-radius:16px;padding:10px;box-shadow:0 8px 18px #1118270f}.fc .fc-toolbar{border-bottom:1px solid #0000000f;padding:8px 10px 10px;margin-bottom:8px!important}.fc .fc-toolbar-title{color:#111827!important;font-size:16px!important;font-weight:950!important}.fc .fc-button{transition:background .12s,filter .12s,transform 60ms;color:#111827!important;box-shadow:none!important;background:#fff!important;border:1px solid #0000001f!important;border-radius:999px!important;padding:8px 12px!important;font-weight:900!important}.fc .fc-button:hover{background:#0000000a!important}.fc .fc-button:active{transform:translateY(1px)}.fc .fc-button.fc-button-active{background:color-mix(in srgb, var(--brand) 22%, white)!important;border-color:#00000024!important}.fc .fc-today-button{background:var(--brand)!important;color:#111!important;border:0!important;box-shadow:0 10px 18px #f4c40038!important}.fc .fc-today-button:hover{filter:brightness(.97)}.fc .fc-today-button:disabled{opacity:.6!important;filter:none!important;box-shadow:none!important}.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:#0000000f!important}.fc .fc-day-sat,.fc .fc-day-sun{background:#11182704}.fc .fc-day-today{background:color-mix(in srgb, var(--brand) 12%, white)!important}.fc .fc-timegrid-slot{height:1.2em!important}.fc .fc-timegrid-axis-cushion,.fc .fc-col-header-cell-cushion{color:#111827b8;font-weight:800}.fc .fc-event{box-shadow:0 6px 14px #11182714;color:#111827!important;background:#fff!important;border:1px solid #0000001a!important;border-left:4px solid #00000040!important;border-radius:12px!important;padding:4px 6px!important}.fc .fc-event:hover{opacity:.95}.fc .fc-event-main-frame{flex-direction:column}.fc-scroller{scrollbar-width:thin;overflow-y:auto!important}.list-grid{width:100%}.lessons-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:12px;display:grid}.lesson-card-no{border:1px solid #00000014;border-left:5px solid var(--brand);background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px;transition:transform 60ms,box-shadow .12s,border-color .12s;display:flex;box-shadow:0 6px 14px #1118270f}.lesson-card-no:hover{border-color:#0000001f;transform:translateY(-1px);box-shadow:0 10px 22px #1118271a}.lesson-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.lesson-header span{color:#111827c7;align-items:center;gap:6px;font-size:14px;font-weight:800;line-height:1.2;display:inline-flex}.lesson-info{flex-grow:1}.lesson-info p{color:#374151;margin:6px 0;font-size:14px}.lesson-info p b{color:#111827;font-weight:900}.lesson-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.icon-btn{cursor:pointer;color:#111827;background:#fff;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,transform 60ms,border-color .12s;display:inline-flex}.icon-btn:hover{background:#0000000a}.icon-btn:active{transform:translateY(1px)}.icon-btn.delete{color:#b91c1c;border-color:#dc262640}.icon-btn.delete:hover{background:#dc262614}.lesson-status{border:1px solid #00000014;border-radius:999px;align-self:flex-end;margin-top:10px;padding:5px 10px;font-size:13px;font-weight:900;display:inline-flex}.lesson-status.past{color:#111827b3;background-color:#f3f4f6}.lesson-status.upcoming{background-color:color-mix(in srgb, var(--brand) 18%, white);color:#111827}.empty-text{color:#11182799;padding:12px;font-weight:900}@media (max-width:1200px){.lessons-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (max-width:1024px){.page-content{padding:10px 0}.lessons-header{padding:12px}.lessons-header-left{justify-content:center;width:100%}.lessons-title{justify-content:space-between;width:100%}.btn-add{justify-content:center;width:100%}.filter-wrapper,.group-filter{width:100%}.fc .fc-toolbar{text-align:center;grid-template-columns:1fr;gap:8px;display:grid}.fc .fc-toolbar-chunk{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.fc .fc-button{padding:7px 10px!important;font-size:12px!important}.fc .fc-toolbar-title{font-size:15px!important}.fc-view-harness{max-height:calc(100vh - 260px);overflow-y:auto}.fc .fc-timegrid-slot{height:1.5rem!important}.lessons-grid{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse){.lesson-card-no:hover{transform:none;box-shadow:0 6px 14px #1118270f}}.fc .fc-timegrid-event{border:1px solid #0000001f!important;border-left:4px solid var(--brand)!important;background:color-mix(in srgb, var(--brand) 14%, white)!important;color:#111827!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 8px 16px #11182714!important}.fc .fc-daygrid-event{border:1px solid #0000001f!important;border-left:4px solid var(--brand)!important;background:color-mix(in srgb, var(--brand) 14%, white)!important;color:#111827!important;border-radius:10px!important;overflow:hidden!important}.fc .fc-event-main{padding:6px 8px!important}.fc .fc-event-time{opacity:.9;font-size:12px!important;font-weight:900!important}.fc .fc-event-title{white-space:normal!important;font-size:12.5px!important;font-weight:900!important;line-height:1.15!important}.fc a.fc-event{text-decoration:none!important}@media (max-width:768px){.fc .fc-event-main{padding:5px 7px!important}.fc .fc-event-title{font-size:12px!important}}.journal-page{border-radius:20px;padding:20px;animation:.3s ease-in-out fadeIn}.journal-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.title{color:var(--brand);margin:0;font-size:20px;font-weight:600}.view-toggle.tabs{margin:0}.tabs .tab,.tabs .tab-active{cursor:pointer;border:none;border-radius:20px;padding:10px 20px;font-weight:500;transition:all .2s}.tabs .tab{color:#444;background:#ddd}.tabs .tab-active{background:var(--brand);color:#fff;box-shadow:0 2px 6px #00000026}.lessons-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:5vh;display:grid;overflow-y:visible}.lesson-info{flex:1}.lesson-date{color:var(--brand);margin-bottom:6px;font-size:15px;font-weight:600}.lesson-group{color:#555;margin-bottom:4px;font-size:14px;font-weight:500}.lesson-topics{color:#666;margin:0;font-size:13px}.attendance-summary{color:#333;font-weight:600}@media (max-width:768px){.lesson-card{flex-direction:column;align-items:flex-start;gap:10px}.journal-header{flex-direction:column}}.theme-detail-page{min-height:calc(100vh - 100px);padding:20px;animation:.3s ease-in-out fadeIn}.animate{transition:opacity .25s}.theme-detail-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.theme-description{color:#333;margin-bottom:16px;font-size:15px;line-height:1.5}.theme-video,.theme-material{background:var(--accent);color:#fff;border-radius:8px;align-items:center;gap:6px;margin-right:10px;padding:8px 14px;text-decoration:none;transition:all .2s;display:inline-flex}.theme-video:hover,.theme-material:hover{background:var(--brand)}.loading-text{text-align:center;color:#888}.theme-detail{animation:.3s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.teacher-reports-page{padding:20px}.reports-header{margin-bottom:20px}.summary-cards{gap:15px;margin-bottom:20px;display:flex}.summary-card{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:12px;flex:1;padding:15px}.summary-card strong{margin-top:5px;font-size:22px;display:block}.summary-card svg{color:var(--brand)}.att.ok{color:#2fa048;font-weight:700}.att.missed{color:#d63031;font-weight:700}.link{cursor:pointer;color:var(--primary);font-weight:500}.teacher-reports-page .card-header h3{color:#333;align-items:center;gap:10px;display:flex}.teacher-reports-page .card-header h3 svg{color:currentColor}@media (max-width:1024px){.teacher-reports-page{padding:10px 0}.summary-cards{flex-direction:column;gap:10px}.summary-card{text-align:left;padding:12px}.summary-card strong{font-size:18px}.reports-header{margin-bottom:15px}}@media (max-width:480px){.summary-card{padding:10px}.summary-card strong{font-size:16px}.link{font-size:15px}}.attendance-page{color:#222;padding:20px;animation:.25s ease-in-out fadeIn}.attendance-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.attendance-head-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.title{color:#000;letter-spacing:.2px;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.scope-pill{color:#333;background:#00000005;border:1px solid #0000001a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.scope-pill.all{border-color:#00000024}.scope-pill.mine{border-color:#0000001f}.back-btn{cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:12px;align-items:center;gap:8px;padding:9px 12px;font-weight:700;transition:transform 60ms,box-shadow .15s,border-color .15s;display:inline-flex}.back-btn:hover{border-color:#0000002e;box-shadow:0 6px 18px #00000014}.back-btn:active{transform:translateY(1px)}.lesson-info-top{border:1px solid #00000017;border-left:4px solid var(--brand);color:#333;background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;font-size:14px;display:flex}.lesson-info-top div{align-items:center;gap:10px;display:inline-flex}.lesson-info-top svg{color:var(--brand);font-size:16px}.attendance-loading{color:#444;background:#fff;border:1px solid #00000017;border-radius:14px;padding:18px 14px;font-weight:700}.attendance-table-wrap{width:100%;color:color-contrast(var(--brand) vs #333, #fff);background:#fff;border:1px solid #00000017;border-radius:14px;overflow:auto hidden;box-shadow:0 2px 12px #0000000f}.attendance-table{border-collapse:collapse;color:color-contrast(var(--brand) vs #333, #fff);width:100%;min-width:740px;background:0 0}.attendance-table th,.attendance-table td{color:#333;vertical-align:top;border-bottom:1px solid #0000000f;padding:11px 12px;font-size:14px}.attendance-table th{z-index:2;background:var(--brand);color:#fff;text-align:left;letter-spacing:.2px;border-bottom:1px solid #ffffff40;font-weight:800;position:sticky;top:0}.attendance-table thead th:first-child{border-top-left-radius:14px}.attendance-table thead th:last-child{border-top-right-radius:14px}.attendance-table tbody tr:nth-child(2n) td{background:#00000004}.attendance-table tbody tr:hover td{background:#00000008}.attendance-empty{text-align:center;color:#666;padding:18px 12px}.col-student{min-width:260px}.student-cell .student-name{color:#1f1f1f;font-weight:800;line-height:1.2}.student-cell .student-phone{color:#666;margin-top:3px;font-size:12px}.col-present{text-align:center;white-space:nowrap;width:150px}.present-toggle{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.present-toggle input{opacity:0;pointer-events:none;position:absolute}.present-ui{background:#0000001f;border-radius:999px;width:44px;height:26px;transition:background .15s,box-shadow .15s;position:relative}.present-ui:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 3px 10px #00000026}.present-toggle input:checked+.present-ui{background:var(--brand);box-shadow:0 0 0 3px #0000000d}.present-toggle input:checked+.present-ui:after{transform:translate(18px)}.attendance-comment{resize:vertical;color:#222;background:#fff;border:1px solid #00000024;border-radius:12px;outline:none;width:100%;min-height:40px;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.attendance-comment:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0000000f}.save-block{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}@media (max-width:768px){.attendance-page{padding:14px}.title{font-size:18px}.save-block{flex-direction:column;align-items:stretch}.btn-secondary,.btn-primary{width:100%}.attendance-table{min-width:700px}}.notifications-page{--notif-bg:linear-gradient(180deg, #f8fbff 0%, #f5f7fb 100%);--notif-card:#fffffff5;--notif-border:#94a3b82e;--notif-shadow:0 14px 34px #0f172a14;--notif-shadow-soft:0 8px 24px #0f172a0d;--notif-muted:var(--text-muted,#64748b);--notif-text:var(--text-main,#0f172a);--notif-brand:var(--brand,#2563eb);color:var(--notif-text);border-radius:28px;flex-direction:column;gap:18px;padding:20px;display:flex}.notifications-page .subtitle,.gj-subtitle{color:var(--notif-muted);margin:0}.gj-subtitle{margin-top:4px;font-size:15px}.flow{flex-direction:column;gap:12px;display:flex}.flow label{font-size:14px}.notifications-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.notifications-page .settings-tabs button{width:fit-content;padding:8px 12px}.title-block{align-items:center;gap:14px;display:flex}.title-block h1,.title-block h2{letter-spacing:-.02em;margin:0 0 6px;font-size:28px;line-height:1.1}.subtitle{max-width:720px;font-size:14px}.notifications-page .title-icon,.notifications-page .title-block .cp2-ic,.notifications-page .title-block svg{color:#fff;font-size:24px}.notifications-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-toggle{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:18px;align-items:center;gap:6px;padding:6px;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.filter-toggle button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex;position:relative}.filter-toggle button:hover{color:#374151;background:#ffffffa6}.filter-toggle button.active{color:#111827;background:#fff;box-shadow:0 1px 2px #0f172a0f,0 6px 14px #0f172a0f}.filter-toggle button:active{transform:translateY(1px)}.filter-toggle .badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.actions-notif{box-shadow:var(--notif-shadow-soft);background:#ffffffd6;border:1px solid #94a3b82e;border-radius:999px;flex-wrap:wrap;gap:10px;padding:8px;display:flex}.notif-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:14px;padding:12px 14px;font-size:13px}.notif-empty{text-align:center;min-height:240px;color:var(--notif-muted);background:#ffffffb3;border:1px dashed #94a3b857;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.notif-empty svg{color:var(--notif-brand);font-size:34px}.notif-empty p{margin:0;font-size:15px}.notif-list{flex-direction:column;gap:14px;display:flex}textarea{border-radius:20px!important}.notif-card{background:var(--notif-card);border:1px solid var(--notif-border);box-shadow:var(--notif-shadow);border-radius:24px;padding:18px 18px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.notif-card:before{content:"";background:var(--notif-accent,var(--notif-brand));opacity:.95;border-radius:24px;width:5px;position:absolute;inset:0 auto 0 0}.notif-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px #0f172a1f}.notif-card.unread{border-color:color-mix(in srgb, var(--notif-accent,var(--notif-brand)) 30%, #dbeafe);background:linear-gradient(#fffffffa 0%,#f6f9fffa 100%)}.notif-card.read{opacity:.92}.notif-card--danger{--notif-accent:#ef4444}.notif-card--warning{--notif-accent:#f59e0b}.notif-card--success{--notif-accent:#10b981}.notif-card--system{--notif-accent:var(--notif-brand)}.notif-card--default{--notif-accent:#6366f1}.notif-main{align-items:flex-start;gap:14px;display:flex}.notif-icon-wrap{background:color-mix(in srgb, var(--notif-accent,var(--notif-brand)) 15%, white);border:1px solid color-mix(in srgb, var(--notif-accent,var(--notif-brand)) 25%, white);width:46px;height:46px;color:var(--notif-accent,var(--notif-brand));border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffffa6}.notif-icon{font-size:18px}.notif-content{flex:1;min-width:0}.notif-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notif-head-tags{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.notif-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notif-content h3{letter-spacing:-.01em;margin:0;font-size:18px;line-height:1.25}.notif-type-badge,.pill,.meta-chip{white-space:nowrap;background:#e7e7e7;border:1px solid #9c9c9c;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.notif-type-badge{background:color-mix(in srgb, var(--notif-accent,var(--notif-brand)) 12%, white);border:1px solid color-mix(in srgb, var(--notif-accent,var(--notif-brand)) 18%, white)}.notif-type-badge--danger{--notif-accent:#ef4444}.notif-type-badge--warning{--notif-accent:#d88b06}.notif-type-badge--success{--notif-accent:#10b981}.notif-type-badge--system{--notif-accent:var(--notif-brand)}.notif-type-badge--default{--notif-accent:#6366f1}.pill-new{background:color-mix(in srgb, var(--notif-brand) 12%, white);color:var(--text-main);border:1px solid color-mix(in srgb, var(--notif-brand) 18%, white)}.meta-chip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.meta-chip--soft{opacity:.9}.notif-message{color:#334155;white-space:pre-wrap;-webkit-line-clamp:8;line-clamp:8;-webkit-box-orient:vertical;margin:10px 0 0;font-size:15px;line-height:1.6;display:-webkit-box;overflow:hidden}.notif-message.expanded{-webkit-line-clamp:initial;line-clamp:initial;display:block;overflow:visible}.notif-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:14px;display:flex}.notif-meta{color:var(--notif-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.notif-date{color:#475569;align-items:center;gap:8px;font-weight:600;display:inline-flex}.notif-card-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.notif-toggle-btn,.notif-read-btn{cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.notif-toggle-btn{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.notif-toggle-btn:hover{color:#334155;background:#eef2ff}.notif-read-btn{background:color-mix(in srgb, var(--notif-brand) 12%, white);color:var(--text-main);border:1px solid color-mix(in srgb, var(--notif-brand) 18%, white)}.notif-read-btn:hover{background:#dbeafe}.notifications-page .btn-primary,.notifications-page .btn-secondary,.notifications-page .btn-cancel{border-radius:999px}.notifications-page .btn-secondary{padding-inline:14px}@media (max-width:1024px){.notifications-page{border-radius:22px;padding:10px 0}.notifications-header{align-items:stretch}.notifications-actions{flex-direction:column;align-items:stretch;width:100%}.filter-toggle,.actions-notif{justify-content:space-between;width:100%}.actions-notif{border-radius:20px}.actions-notif .btn-primary,.actions-notif .btn-secondary{flex:1;justify-content:center}.notif-card{padding:16px}.notif-head{flex-direction:column;align-items:flex-start}.notif-head-tags{justify-content:flex-start}.notif-footer{align-items:flex-start}.notif-card-actions{width:100%;margin-left:0}.notif-toggle-btn,.notif-read-btn{flex:1;justify-content:center}.notifications-page .btn-primary span{display:none}.form-grid{height:60vh;overflow-y:auto}}@media (max-width:640px){.title-block h1,.title-block h2{font-size:23px}.notif-main{gap:12px}.notif-icon-wrap{border-radius:14px;width:42px;height:42px}.notif-content h3{font-size:16px}.notif-message{font-size:14px}.filter-toggle{border-radius:16px;width:100%;padding:5px;overflow-x:auto}.filter-toggle button{border-radius:12px;flex:none;padding:8px;font-size:13px}}.audience-modes{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.audience-modes button{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .15s}.audience-modes button.active{background:color-mix(in srgb, var(--notif-brand) 12%, white);color:var(--notif-brand);border-color:color-mix(in srgb, var(--notif-brand) 20%, white)}.audience-modes button:hover{background:#eef2ff}.audience-select-block{background:linear-gradient(#fff 0%,#fbfcff 100%);border:1px solid #e6eaf2;border-radius:18px;flex-direction:column;gap:10px;margin-top:10px;padding:14px;display:flex}.audience-search{border:1px solid #dbe2ea;border-radius:12px;padding:10px 12px;font-size:14px}.audience-item{cursor:pointer;border-bottom:1px solid #f4f6fa;padding:10px 12px;font-size:14px;transition:background .15s,color .15s}.audience-item.selected{background:color-mix(in srgb, var(--notif-brand) 14%, white);color:#0f172a;font-weight:700}.audience-empty{text-align:center;color:#777;padding:12px;font-size:13px}.audience-selected{color:var(--notif-brand);font-size:12px;font-weight:700}.warn-block{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;align-items:flex-start;gap:8px;margin-top:6px;padding:12px 14px;font-size:14px;display:flex}.modal-buttons{flex-direction:column;justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.broadcast-form-new{flex-direction:column;gap:16px;display:flex}.broadcast-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);align-items:start;gap:16px;display:grid}.broadcast-main{flex-direction:column;gap:10px;display:flex}.broadcast-section,.broadcast-preview,.audience-card{background:linear-gradient(#fff 0%,#fcfcfd 100%);border:1px solid #eceff3;border-radius:22px;padding:16px;box-shadow:0 10px 24px #0f172a0d}.broadcast-section,.audience-card,.broadcast-preview{flex-direction:column;gap:10px;display:flex}.section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-head h4{color:#111827;margin:0;font-size:16px;line-height:1.2}.section-head p{color:#6b7280;margin:4px 0 0;font-size:13px}.form-row.two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.channel-switch,.role-switch{flex-wrap:wrap;gap:8px;display:flex}.channel-switch button,.role-switch button{color:#4b5563;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:14px;font-weight:700;transition:all .18s;display:inline-flex}.channel-switch button:hover,.role-switch button:hover{color:#111827;background:#f3f4f6}.channel-switch button.active,.role-switch button.active{color:#111827;background:#ffd600;border-color:#ffd600;box-shadow:0 8px 18px #ffd60047}.audience-modes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.audience-modes-grid button{justify-content:center}.audience-counter{color:#8a6b00;white-space:nowrap;background:#fff7cc;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.selected-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.selected-chip{color:#4b5563;cursor:pointer;background:#fff8d9;border:1px solid #f4d84d;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.selected-chip svg{font-size:12px}.audience-list{background:#fff;border:1px solid #edf0f4;border-radius:16px;max-height:260px;overflow-y:auto}.audience-item{cursor:pointer;color:#374151;background:#fff;border:none;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:14px;transition:background .15s,color .15s;display:flex}.audience-item:last-child{border-bottom:none}.audience-item:hover{background:#f9fafb}.audience-item.selected{color:#111827;background:#fff8d9;font-weight:700}.broadcast-preview{position:sticky;top:0}.preview-card{background:linear-gradient(#fff 0%,#f9fafb 100%);border:1px solid #eceff3;border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.preview-top{align-items:center;gap:12px;display:flex}.preview-icon{color:#111827;background:#fff4b8;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.preview-title{color:#111827;font-size:16px;font-weight:800;line-height:1.25}.preview-subtitle{color:#6b7280;margin-top:4px;font-size:13px}.preview-message{color:#374151;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.preview-meta{flex-wrap:wrap;gap:8px;display:flex}.field-note{color:#6b7280;margin-top:6px;font-size:12px}.broadcast-actions{flex-direction:row;justify-content:flex-end}@media (max-width:980px){.broadcast-layout{grid-template-columns:1fr}.broadcast-preview{position:static}}@media (max-width:720px){.form-row.two-cols{grid-template-columns:1fr}.audience-modes-grid{grid-template-columns:1fr 1fr}.broadcast-actions{flex-direction:column}.broadcast-actions .btn-cancel,.broadcast-actions .btn-primary{justify-content:center;width:100%}}@media (max-width:520px){.audience-modes-grid{grid-template-columns:1fr}.channel-switch,.role-switch{grid-template-columns:1fr;display:grid}}.lesson-detail-page{padding:20px}.btn-back{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:10px;display:flex}.lesson-info{margin-bottom:20px}.students-list{flex-direction:column;gap:8px;margin-top:15px;display:flex}.student-row{box-shadow:var(--shadow);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.student-row.ok{border-left:4px solid #2ecc71}.student-row.missed{border-left:4px solid #e74c3c}.status .yes{color:#27ae60;font-weight:700}.status .no{color:#c0392b;font-weight:700}.phone{color:#666;font-size:14px}@media (max-width:768px){.lesson-detail-page{padding:10px 5px}}.student-calendar-wrapper .small-muted{opacity:.8;margin-bottom:8px;font-size:13px}.evt-canceled{opacity:.75;filter:grayscale(.15);text-decoration:line-through!important}.evt-past{opacity:.72;filter:saturate(.75)}.sc-modal{flex-direction:column;gap:12px;font-size:14px;line-height:1.35;display:flex}.sc-badges{flex-wrap:wrap;gap:8px;display:flex}.sc-badge{border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.sc-badge-canceled{color:#b91c1c;background:#ef44441f;border:1px solid #ef444440}.sc-badge-past{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f640}.sc-badge-done{color:#15803d;background:#22c55e1f;border:1px solid #22c55e40}.sc-grid{flex-direction:column;gap:10px;display:flex}.sc-row{grid-template-columns:140px 1fr;align-items:start;gap:10px;display:grid}.sc-label{opacity:.85;font-weight:800}.sc-value{opacity:.95;word-break:break-word}.sc-note{background:#00000008;border:1px solid #0000000f;border-radius:12px;padding:10px 12px}.sc-note-title{margin-bottom:6px;font-weight:900}.sc-note-text{white-space:pre-wrap;opacity:.95}.sc-divider{background:#00000014;height:1px;margin:4px 0}.sc-error{color:#b91c1c;background:#ef444414;border-radius:10px;padding:8px 10px;font-weight:800}.sc-topics{flex-direction:column;gap:10px;display:flex}.sc-topic{background:#fff;border:1px solid #00000014;border-radius:12px;padding:10px 12px}.sc-topic-name{font-weight:900}.sc-topic-desc{opacity:.9;white-space:pre-wrap;margin-top:6px}.sc-links{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.sc-links a{font-weight:800;text-decoration:none}.sc-materials{flex-direction:column;gap:6px;margin-top:10px;display:flex}.sc-material{opacity:.95;font-weight:800;text-decoration:none}.student-calendar-wrapper .fc{--fc-border-color:#0000000f;--fc-page-bg-color:transparent;--fc-neutral-bg-color:#00000008;--fc-today-bg-color:#ffcc001a;font-size:15px}.student-calendar-wrapper .fc .fc-toolbar-title{font-size:16px;font-weight:900}.student-calendar-wrapper .fc .fc-button{color:#111827;box-shadow:none;background:#0000000f;border:0;border-radius:10px;padding:8px 10px;font-weight:800}.student-calendar-wrapper .fc .fc-button:hover{background:#0000001a}.student-calendar-wrapper .fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--brand);color:#111}.student-calendar-wrapper .fc .fc-button-primary:disabled{opacity:.6}.student-calendar-wrapper .fc .fc-timegrid-slot{height:40px}.student-calendar-wrapper .fc .fc-scrollgrid{border:1px solid #0000000f;border-radius:14px;overflow:hidden}.student-calendar-wrapper .fc .fc-timegrid-axis,.student-calendar-wrapper .fc .fc-col-header-cell-cushion{color:#000000bf;font-weight:800}.student-calendar-wrapper .fc .fc-event{padding:6px 8px;box-shadow:0 1px 4px #0000000f}.student-calendar-wrapper .fc .fc-event-title{font-weight:800;line-height:1.15}.student-calendar-wrapper .fc .evt-status-planned{color:#111827!important;background:#ffcc0038!important}.student-calendar-wrapper .fc .evt-status-in_progress{color:#0b1727!important;background:#3b82f62e!important}.student-calendar-wrapper .fc .evt-status-missed{color:#7f1d1d!important;background:#ef444429!important}.student-calendar-wrapper .fc .evt-status-completed{color:#064e3b!important;background:#22c55e29!important}.student-calendar-wrapper .fc .evt-status-canceled{color:#111827!important;background:#9ca3af40!important}.student-calendar-wrapper .fc .evt-extra:before{content:"⭐";margin-right:6px}.student-calendar-wrapper .fc .evt-past{opacity:.75}.sc-badge-planned{color:#111827;background:#ffcc002e;border:1px solid #ffcc0059}.sc-badge-in_progress{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f640}.sc-badge-missed{color:#b91c1c;background:#ef44441a;border:1px solid #ef444440}.sc-badge-completed{color:#15803d;background:#22c55e1a;border:1px solid #22c55e40}.sc-badge-extra{color:#000000bf;background:#0000000d;border:1px solid #00000014}.student-dashboard{grid-template-columns:1fr 360px;align-items:start;gap:16px;display:grid}.student-dashboard-main{min-width:0}.student-dashboard-aside{flex-direction:column;gap:14px;display:flex}.student-dashboard .card{border-radius:14px}.calendar-card{padding:12px}.notifications-wide,.progress-wide{grid-column:1/-1}.notifications-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.notifications-list li{background:#00000008;border:1px solid #0000000f;border-radius:12px;padding:10px 12px}.notif-title{margin-bottom:4px;font-weight:900}.notif-text{opacity:.9;white-space:pre-wrap}.notif-date{opacity:.7;margin-top:6px;font-size:12px}@media (max-width:980px){.student-dashboard{grid-template-columns:1fr}.student-dashboard-aside{order:2}}.pay-progress__bar{background:#0000000f;border-radius:999px;height:10px;margin:8px 0 4px;overflow:hidden}.pay-progress__fill{background:var(--brand);border-radius:999px;height:100%}.pay-progress__text{opacity:.75;font-size:12px}.mini-contacts{flex-direction:column;gap:4px;margin-top:8px;display:flex}.mini-contact{opacity:.9;margin:0;font-size:13px}.progress-circle-wrapper{flex-direction:column;align-items:center;display:flex}.progress-circle-svg{transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#eee}.progress-circle-bar{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s}.progress-circle-percent{fill:#333;transform-origin:50%;font-size:20px;font-weight:700;transform:rotate(90deg)}.progress-circle-label{margin-top:8px;font-size:15px;font-weight:600}.progress-circle-sublabel{color:#666;margin-top:2px;font-size:13px}.stud-home-shell{padding:20px}.stud-home-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.stud-home-head .lessons-header{width:100%}.stud-home-head__meta{color:#6b7280;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:14px;display:flex}.stud-home-badges{flex-wrap:wrap;gap:8px;display:flex}.stud-home-badge{border:1px solid #0000;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.stud-home-badge--ok{color:#166534;background:#22c55e1f;border-color:#22c55e2e}.stud-home-badge--muted{color:#374151;background:#6b72801a;border-color:#6b728024}.stud-home-badge--danger{color:#991b1b;background:#ef44441f;border-color:#ef444429}.stud-home-badge--info{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f629}.stud-home-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.stud-home-main,.stud-home-side{min-width:0}.stud-home-grid,.stud-home-side{gap:20px;display:grid}.stud-home-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #e2e8f0e6;border-radius:24px;padding:15px;box-shadow:0 10px 30px #0f172a0f,0 2px 8px #0f172a08}.stud-home-panel--calendar{overflow:hidden}.stud-home-panel--metric{justify-content:center;align-items:center;min-height:220px;display:flex}.stud-home-panel--equal{height:100%}.stud-home-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.stud-home-card-titlebox{align-items:center;gap:12px;min-width:0;display:flex}.stud-home-layout-full{grid-column:1/-1}.stud-home-card-icon{background:var(--brand,#4f46e5);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:inline-flex;box-shadow:0 10px 18px #4f46e52e}.stud-home-panel .btn-primary{width:100%}.stud-home-card-icon--soft{background:var(--brand);color:#fff;box-shadow:0 10px 18px #11182729}.stud-home-card-title{color:#111827;margin:0;font-size:18px;line-height:1.2}.stud-home-kv{gap:10px;display:grid}.stud-home-kv--compact{margin-top:14px}.stud-home-kv__row{border-bottom:1px solid #e2e8f0d9;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:14px;padding:10px 0;display:grid}.stud-home-kv__row:last-child{border-bottom:none}.stud-home-kv__row span{color:#6b7280;font-size:14px;font-weight:600}.stud-home-kv__row strong{color:#111827;word-break:break-word;font-size:14px;font-weight:700}.stud-home-note{color:#6b7280;margin:14px 0 0;font-size:14px;line-height:1.5}.stud-home-note--success{color:#166534;font-weight:600}.stud-home-empty{color:#6b7280;margin:0;font-size:15px}.stud-home-calendar-box{min-width:0}.stud-home-next{flex-direction:column;gap:12px;display:flex}.stud-home-next__row{flex-direction:column;gap:4px;display:flex}.stud-home-next__row span{color:#6b7280;font-size:13px;font-weight:700}.stud-home-next__row strong{color:#111827;font-size:15px}.stud-home-status-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.stud-home-status-chip--planned{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f629}.stud-home-status-chip--in_progress{color:#b45309;background:#f59e0b21;border-color:#f59e0b2e}.stud-home-status-chip--missed{color:#991b1b;background:#ef44441f;border-color:#ef444429}.stud-home-status-chip--completed{color:#166534;background:#22c55e1f;border-color:#22c55e29}.stud-home-dual-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.stud-home-gai-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stud-home-gai-item{background:#f8fafc;border:1px solid #e2e8f0e6;border-radius:18px;padding:14px}.stud-home-gai-item__label{color:#6b7280;margin-bottom:6px;font-size:13px;font-weight:700}.stud-home-gai-item__value{color:#111827;font-size:15px;font-weight:800}.stud-home-alert{border-radius:18px;margin-top:14px;padding:14px 16px;font-size:14px;line-height:1.5}.stud-home-alert__title{margin-bottom:4px;font-weight:800}.stud-home-alert--danger{color:#991b1b;background:#ef444414;border:1px solid #ef444429}.stud-home-alert--warn{color:#92400e;background:#f59e0b1f;border:1px solid #f59e0b2e}.stud-home-progress__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.stud-home-person{gap:12px;display:grid}.stud-home-person__name{color:#111827;font-size:18px;font-weight:800}.stud-home-person__line{border-bottom:1px solid #e2e8f0d9;flex-direction:column;gap:4px;padding-bottom:10px;display:flex}.stud-home-person__line:last-child{border-bottom:none;padding-bottom:0}.stud-home-person__line span{color:#6b7280;font-size:13px;font-weight:700}.stud-home-person__line strong{color:#111827;font-size:14px}.stud-home-paybar{margin-top:16px}.stud-home-paybar__track{background:#e5e7eb;border-radius:999px;width:100%;height:10px;overflow:hidden}.stud-home-paybar__fill{background:var(--brand,#4f46e5);border-radius:999px;height:100%;transition:width .3s}.stud-home-paybar__text{color:#6b7280;margin-top:8px;font-size:13px;font-weight:700}.stud-home-actions{gap:10px;margin-top:16px;display:grid}.stud-home-btn{appearance:none;cursor:pointer;border:none;border-radius:14px;outline:none;min-height:44px;padding:0 16px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s,opacity .16s,border-color .16s}.stud-home-btn:hover{transform:translateY(-1px)}.stud-home-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.stud-home-btn--primary{color:#fff;background:var(--brand,#4f46e5);box-shadow:0 10px 18px #4f46e52e}.stud-home-btn--soft{color:#374151;background:#fff;border:1px solid #dbe3ef;box-shadow:0 2px 8px #0f172a0a}.stud-home-layout .stud-home-btn--mobile-logout{justify-content:center;align-items:center;gap:8px;display:none}.stud-home-form{gap:12px;display:grid}.stud-home-field{flex-direction:column;gap:6px;display:flex}.stud-home-field__label{color:#374151;font-size:13px;font-weight:700}.stud-home-field__input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #dbe3ef;border-radius:14px;outline:none;width:100%;min-height:46px;padding:0 14px;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.stud-home-field__input:focus{border-color:var(--brand,#4f46e5);box-shadow:0 0 0 4px #4f46e51f}.stud-home-modal-backdrop{z-index:1200;background:#0f172a6b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.stud-home-modal{background:#fff;border-radius:24px;width:100%;max-width:420px;padding:22px;box-shadow:0 24px 60px #0f172a38}.stud-home-modal__title{color:#111827;margin:0 0 16px;font-size:20px}.stud-home-modal__actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.stud-home-state{color:#374151;text-align:center;place-items:center;min-height:240px;padding:24px;display:grid}.fc-student-event{border-left:4px solid var(--brand,#4f46e5);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:4px 6px;display:flex;box-shadow:0 2px 6px #0f172a14}.fc-student-event-time{color:#374151;font-size:11px;font-weight:700}.fc-student-event-title{color:#111827;font-size:12px}@media (max-width:1180px){.stud-home-layout{grid-template-columns:1fr}.stud-home-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.stud-home-shell{padding:10px 0 92px}.stud-home-dual-row,.stud-home-progress__grid,.stud-home-gai-grid,.stud-home-side{grid-template-columns:1fr}}@media (max-width:680px){.stud-home-panel{border-radius:20px;padding:18px}.stud-home-kv__row{grid-template-columns:1fr;gap:4px;padding:9px 0}.stud-home-modal__actions{grid-template-columns:1fr}.stud-home-layout .stud-home-btn--mobile-logout{width:100%;display:inline-flex}.stud-home-card-icon{border-radius:12px;width:38px;min-width:38px;height:38px}.stud-home-card-title{font-size:16px}}.stud-home-toggles{flex-direction:column;gap:14px;margin-top:12px;display:flex}.stud-home-toggle-row{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.stud-home-toggle-row:last-child{border-bottom:none}.stud-home-toggle-text{flex:1;min-width:0}.stud-home-toggle-label{color:var(--text-main,#111827);font-weight:600}.stud-home-toggle-desc{color:var(--text-muted,#6b7280);margin-top:4px;font-size:13px;line-height:1.4}.stud-home-switch{flex-shrink:0;width:52px;height:30px;display:inline-block;position:relative}.stud-home-switch input{opacity:0;width:0;height:0}.stud-home-slider{cursor:pointer;background:#d1d5db;border-radius:999px;transition:all .2s;position:absolute;inset:0}.stud-home-slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:4px;left:4px;box-shadow:0 1px 4px #0000002e}.stud-home-switch input:checked+.stud-home-slider{background:var(--brand,#2563eb)}.stud-home-switch input:checked+.stud-home-slider:before{transform:translate(22px)}.stud-home-switch--disabled{opacity:.55;pointer-events:none}.student-lessons-page{padding:20px}.student-lessons-header.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:0;display:flex}.student-lessons-page .page-header{margin-bottom:20px}.student-lessons-header h1{align-items:center;gap:10px;font-size:24px;font-weight:700;display:flex}.student-lessons-page .settings-tabs input{color:#222;background:#fff;border:1px solid #0000002e;border-radius:6px;outline:none;min-width:220px;height:28px;padding:2px 8px;font-size:12px}.student-lessons-page .settings-tabs input:focus{border-color:color-mix(in srgb, var(--accent) 65%, black);box-shadow:0 0 0 2px #00b7ff1a}.student-lessons-header .header-icon{color:var(--brand)}.header-sub{color:#777;margin-top:4px;font-size:14px}.student-lessons-filters{flex-wrap:wrap;gap:20px;margin-bottom:18px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group label{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.filter-row{align-items:center;gap:8px;display:flex}.filter-row input[type=date]{border:1px solid #ddd;border-radius:8px;padding:6px 10px;font-size:14px}.type-toggle{align-items:center;margin-left:auto}.type-toggle>span{margin-bottom:4px;font-size:14px}.type-buttons{gap:6px;display:flex}.type-buttons button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:999px;padding:6px 12px;font-size:13px}.type-buttons button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.student-lessons-loading,.student-lessons-empty{color:#777;margin-top:10px;font-size:14px}.student-lessons-list{flex-direction:column;gap:12px;margin-top:10px;display:flex}.lesson-card{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 2px 6px #0000000a}.lesson-card-main{justify-content:space-between;gap:16px;display:flex}.lesson-card-left{flex-direction:column;gap:4px;display:flex}.lesson-card-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.lesson-card--theory{border-left:4px solid #4b8df8}.lesson-card--practice{border-left:4px solid #34a853}.pill{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-theory{color:#1a73e8;background:#e7f0ff}.pill-practice{color:#0f9d58;background:#e5f5ec}.lesson-card-row{color:#333;align-items:center;gap:6px;font-size:14px;display:flex}.lesson-card-row svg{color:#999;font-size:13px}.comment-row{color:#555;font-size:13px}.status-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.green{color:#1e8e3e;background:#e3f3e6}.status-badge.blue{color:#1a73e8;background:#e7f0ff}.status-badge.red{color:#d93025;background:#fdecea}.btn-complete{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.btn-complete:hover{opacity:.9}@media (max-width:1024px){.student-lessons-page{padding:10px 0}.student-lessons-header{flex-direction:column;align-items:flex-start;gap:4px}.student-lessons-filters{flex-direction:column;align-items:stretch}.type-toggle{margin-left:0}.lesson-card-main{flex-direction:column;align-items:stretch}.lesson-card-right{align-items:flex-start}}.filters-row{background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;box-shadow:0 2px 8px #0000000d}.filters-row svg{color:#0000008c;font-size:16px}.filters-row input[type=date]{color:#333;background:#fff;border:1px solid #0000001f;border-radius:12px;padding:8px 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.filters-row input[type=date]:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);outline:none}.filters-row button:not(.btn-filter){color:#000000bf;cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;transition:background .12s,border-color .12s,transform 80ms}.filters-row button:not(.btn-filter):hover{background:#00000008;border-color:#0003}.filters-row button.active{background:color-mix(in srgb, var(--brand) 14%, #fff);border-color:color-mix(in srgb, var(--brand) 45%, #0000001f);color:#333}@media (max-width:768px){.filters-row{gap:6px;padding:10px}.filters-row input[type=date]{width:100%}.btn-filter{justify-content:center;width:100%}}.student-lessons-calendar-section{background:#fff;border-radius:18px;margin-top:20px;margin-bottom:20px;padding:16px;box-shadow:0 8px 24px #0000000f}.student-lessons-calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.student-lessons-calendar-caption{color:#6b7280;font-size:14px}.student-lessons-calendar-nav{gap:8px;display:flex}.calendar-nav-btn{color:#111827;cursor:pointer;background:#f3f4f6;border:none;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.calendar-nav-btn:hover{background:#e5e7eb}.student-mini-calendar-day--both{background:#fff;border:2px solid #7c3aed}.legend-circle--both{border:2px solid #7c3aed}@media (max-width:768px){.student-lessons-calendar-row{grid-template-columns:1fr}.student-lessons-switch-group{width:100%}.student-lessons-switch-group button{flex:1}}.student-lessons-top-switches{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.student-lessons-switch-group{flex-wrap:wrap;gap:8px;display:flex}.student-lessons-switch-group button{color:#222;cursor:pointer;background:#f3f4f6;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-weight:600;transition:all .2s;display:inline-flex}.student-lessons-switch-group button:hover{background:#e5e7eb}.student-lessons-switch-group button.active{background:var(--brand)}.student-lessons-calendar-section{background:#fff;border-radius:18px;margin-bottom:20px;padding:16px;box-shadow:0 8px 24px #0000000f}.student-lessons-calendar-caption{color:#6b7280;margin-bottom:14px;font-size:14px}.student-lessons-calendar-row{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.student-mini-calendar{background:#fafafa;border:1px solid #ececec;border-radius:16px;padding:14px}.student-mini-calendar__title{text-align:center;margin-bottom:12px;font-size:20px;font-weight:800}.student-mini-calendar__weekdays,.student-mini-calendar__grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.student-mini-calendar__weekday{text-align:center;color:#6b7280;text-transform:uppercase;padding:6px 0;font-size:12px;font-weight:700}.student-mini-calendar__empty{min-height:40px}.student-mini-calendar-day{cursor:pointer;color:#111827;background:0 0;border:none;border-radius:999px;min-height:42px;font-size:16px;font-weight:600;transition:all .2s}.student-mini-calendar-day:hover{background:#f3f4f6}.student-mini-calendar-day--theory{background:#fff;border:2px solid #2563eb}.student-mini-calendar-day--practice{background:#fff;border:2px solid #10b981}.student-lessons-calendar-legend{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.student-lessons-calendar-legend-item{color:#374151;align-items:center;gap:8px;font-size:14px;display:inline-flex}.legend-circle{background:#fff;border-radius:999px;width:20px;height:20px;display:inline-block}.legend-circle--theory{border:2px solid #2563eb}.legend-circle--practice{border:2px solid #10b981}.student-lessons-calendar-hint{color:#6b7280;margin-top:12px;font-size:13px}@media (max-width:768px){.student-lessons-calendar-row{grid-template-columns:1fr}.student-lessons-switch-group{width:100%}.student-lessons-switch-group button{flex:1;justify-content:center}}.stud-profile-page{color:var(--text-main);padding:20px}.page-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.page-title-row h2{margin:0;font-size:22px}.subtitle{color:#777;margin-top:4px;font-size:15px}.status-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pill{border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.pill-green{color:#1f7a3a;background:#e4f6e9;border-color:#b5e4c5}.pill-red{color:#b3223a;background:#fde8ea;border-color:#f3b1ba}.pill-blue{color:#1a4f9c;background:#e4f1ff;border-color:#b4d0ff}.pill-gray{color:#555;background:#f0f0f0}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:flex-start;gap:18px;display:grid}.dash-col{flex-direction:column;gap:16px;display:flex}.card{background:var(--bg-card,#fff);border-radius:14px;padding:16px 18px 18px;box-shadow:0 2px 6px #0f172a14}.card-wide{margin-top:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-header h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.info-row{gap:10px;margin:4px 0;font-size:14px;display:flex}.info-row span{color:#555;width:170px;font-weight:600}.info-row.compact span{width:130px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-bottom:6px;display:grid}.form-col{flex-direction:column;margin-bottom:6px;display:flex}.form-col label{margin-bottom:4px;font-size:15px;font-weight:600}.form-col input{border:1px solid var(--border,#d2d6dc);border-radius:8px;padding:8px 10px;font-size:16px}.save-btn{width:100%;margin-top:10px}.status-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:8px;display:grid}.status-item{background:#f9fafb;border-radius:10px;padding:8px 10px;font-size:15px}.status-label{color:#6b7280;margin-bottom:3px}.status-value{font-weight:600}.blocked-box{background:#fdeaea;border:1px solid #f3b4b4;border-radius:10px;margin-top:10px;padding:8px 10px}.blocked-title{margin-bottom:2px;font-weight:700}.blocked-reason{font-size:13px}.hint-line{color:#555;margin-top:6px;font-size:13px}.progress-block{margin-bottom:12px}.progress-block.small{margin-top:10px}.progress-header{justify-content:space-between;margin-bottom:4px;font-size:16px;display:flex}.progress-bar{background:#e5e7eb;border-radius:999px;height:8px;margin-bottom:4px;overflow:hidden}.progress-fill{border-radius:999px;height:100%;transition:width .3s}.progress-fill.theory{background:var(--accent,#0ea5e9)}.progress-fill.practice{background:var(--brand,#10b981)}.progress-fill.pay{background:#f59e0b}.progress-info{color:#4b5563;font-size:15px}.instructor-card{flex-direction:column;gap:6px;font-size:15px;display:flex}.instructor-name{margin-bottom:3px;font-weight:700}.instructor-line{font-size:16px}.instructor-extra{color:#4b5563;border-top:1px dashed #e5e7eb;margin-top:4px;padding-top:4px;font-size:16px}.stud-loading{padding:20px}.stud-profile-page{font-size:16px;line-height:1.45}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr;gap:10px}.status-grid{grid-template-columns:1fr}.page-title-row{flex-direction:column;align-items:flex-start;margin-bottom:20px}.status-pills{justify-content:flex-start}.stud-profile-page .subtitle{margin:0}.form-col{gap:0}}@media (max-width:720px){.stud-profile-page{padding:10px;font-size:15px}.card{border-radius:12px;padding:12px 14px!important}.card-header h3{font-size:17px!important}.form-grid{margin-bottom:10px;grid-template-columns:1fr!important;gap:6px!important}.form-col{margin-bottom:4px!important}.form-col label{font-size:14px;margin-bottom:2px!important}.form-col input{height:42px;padding:9px 10px!important;font-size:15px!important}.info-row{flex-direction:column;gap:2px!important;margin:6px 0!important}.info-row span{margin-bottom:1px;font-size:14px;width:100%!important}.progress-info{font-size:14px}.status-grid{grid-template-columns:1fr!important;gap:6px!important}.status-item{padding:6px 8px!important;font-size:14px!important}.instructor-line,.instructor-extra{font-size:14px!important}.save-btn{height:auto;margin-top:6px!important;padding:12px!important;font-size:15px!important}}@media (max-width:480px){.stud-profile-page{padding:8px}.card{padding:10px 12px!important}.form-col input{font-size:14.5px;padding:8px 10px!important}.card-header h3{font-size:16px}.info-row{margin:4px 0!important}.progress-info{font-size:13px}.status-item{font-size:13.5px!important}.save-btn{padding:10px!important;font-size:14px!important}}.reschedule-modal{background:#fff;border-radius:14px;width:380px;max-width:90%;padding:20px}.reschedule-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.reschedule-header h2{margin:0;font-size:20px}.close-btn{cursor:pointer;background:0 0;border:none;font-size:24px}.subtitle{color:#555;margin:0 0 15px}.slots-list{flex-direction:column;gap:10px;max-height:320px;display:flex;overflow-y:auto}.slot-item{border:1px solid var(--brand);cursor:pointer;text-align:left;background:#fffce8;border-radius:10px;padding:12px;transition:all .2s}.slot-item:hover{background:#fff6c2}.loading{text-align:center;color:#333}.error-text{color:red;margin-bottom:10px}.empty{text-align:center;color:#666}.booking-page{color:var(--text-main);padding:20px}.booking-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.booking-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.booking-back-btn{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:6px 14px;font-size:13px}.booking-back-btn:hover{background:#eef1f7}.booking-choice-block{flex-wrap:wrap;gap:16px;display:flex}.booking-big-btn{cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:16px;justify-content:center;align-items:center;padding:16px 20px;font-size:16px;font-weight:600;transition:transform 50ms,box-shadow .1s,filter .1s;display:flex}.booking-big-btn.primary{background:var(--brand);color:#000}.booking-big-btn.secondary{color:#f9fafb;background:#111827}.booking-big-btn:hover{filter:brightness(.97);transform:translateY(-1px)}.booking-slots-block{margin-top:16px}.my-sessions-section{margin-top:30px}.my-sessions-list{flex-direction:column;gap:12px;padding:20px 0;display:flex}.session-card{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;box-shadow:0 2px 6px #0000000f}.session-left{text-align:left;flex-direction:column;gap:10px;width:100%;min-width:110px;display:flex}.session-instructor{flex-direction:column;gap:10px;display:flex}.session-date{color:var(--text-main);font-size:15px;font-weight:600}.session-time{opacity:.7;font-size:14px}.session-mid{flex:1;width:100%}.session-right{gap:10px;width:100%;display:flex}.session-btn{cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.session-btn.cancel{color:#d70000;background:#fff4f4;border:1px solid #ffb3b3}.session-btn.move{background:var(--brand);color:#000}.student-slots-view{background:var(--card-bg);box-shadow:var(--shadow);border-radius:16px;padding:16px}.student-slots-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.student-slots-view button{-webkit-tap-highlight-color:transparent;appearance:none;color:#333;-webkit-text-fill-color:#333;-webkit-user-select:none;user-select:none;text-decoration:none}.student-slots-title{font-size:18px}.student-slots-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.student-slots-actions{align-items:center;gap:8px;display:flex}.slots-icon-btn{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.slots-icon-btn:disabled{opacity:.6;cursor:default}.slots-filter-toggle{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.slots-filter-toggle.active{border-color:var(--brand);background:#fefce8}.slots-muted{color:var(--text-muted);font-size:14px}.slots-error{color:#b91c1c;font-size:14px}.student-day-slots-list{flex-direction:column;gap:12px;display:flex}.student-day-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px 10px}.student-day-header{justify-content:space-between;margin-bottom:6px;display:flex}.student-day-date{font-size:13px;font-weight:600}.student-day-body{flex-direction:column;gap:8px;display:flex}.student-slot-card{text-align:left;width:100%}.slot-extra-line{color:var(--text-muted);margin-top:4px;font-size:12px}.choose-instructor-modal h2{margin-bottom:6px}.choose-instructor-subtitle{color:var(--text-muted);margin-bottom:10px;font-size:13px}.choose-instructor-list{flex-direction:column;gap:8px;max-height:320px;margin-bottom:12px;display:flex;overflow-y:auto}.instructor-card{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;gap:10px;padding:8px 10px;display:flex}.instructor-card:hover{background:#eef1f7}.instructor-avatar{background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.instructor-info{flex:1}.instructor-name{font-size:14px;font-weight:600}.instructor-car{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:16px;display:inline-flex}.instructor-extra{color:var(--text-muted);margin-top:2px;font-size:16px}.choose-instructor-footer{justify-content:flex-end;margin-top:8px;display:flex}.confirm-booking-modal h2{margin-bottom:8px}.confirm-text{margin-bottom:8px;font-size:14px}.confirm-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;padding:8px 10px;font-size:13px}.confirm-row{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.confirm-row .label{font-weight:600}.confirm-footer{justify-content:flex-end;gap:8px;display:flex}.day-tabs{flex-wrap:nowrap;gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.day-tab{text-align:center;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;min-width:46px;padding:6px 8px;font-size:12px;line-height:1.1}.day-tab.active{background:var(--brand);border-color:var(--brand);color:#000;font-weight:600}.booking-title-wrap{align-items:center;gap:14px;margin-bottom:20px;display:flex}.booking-icon{color:var(--brand);font-size:42px}@media (max-width:1024px){.booking-page{padding:10px 0}.booking-header{flex-direction:column;align-items:flex-start;gap:8px}.booking-choice-block{flex-direction:column}.student-slots-view{padding:10px}.week-nav .nav-btn{width:54px}.week-label{text-align:center;width:100%}}.student-upcoming{flex-direction:column;gap:12px;margin-top:24px;display:flex}.student-upcoming__title{margin-bottom:16px;font-size:20px;font-weight:600}.student-upcoming__list{flex-direction:column;gap:12px;display:flex}.student-upcoming__card{background:#fff;border:1px solid #0000000f;border-radius:14px;align-items:center;gap:16px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 6px #0000000d}.student-upcoming__card:hover{transform:translateY(-1px);box-shadow:0 6px 14px #00000014}.student-upcoming__datetime{text-align:center;min-width:90px}.student-upcoming__date{font-size:16px;font-weight:600}.student-upcoming__time{color:#666;margin-top:2px;font-size:16px}.student-upcoming__info{flex-direction:column;flex:1;display:flex}.student-upcoming__label{color:#888;font-size:16px}.student-upcoming__value{margin-top:2px;font-size:16px}.student-upcoming__actions{display:flex}.student-upcoming__cancel{color:#d9534f;cursor:pointer;background:0 0;border:1px solid #d9534f66;border-radius:10px;padding:8px 14px;font-size:16px;transition:background .15s,color .15s}.student-upcoming__cancel:hover{background:#d9534f1a}.student-upcoming__empty{text-align:center;color:#777;padding:24px}.student-upcoming__loading{color:#666;padding:24px}@media (max-width:600px){.student-upcoming__card{flex-direction:column;align-items:flex-start;gap:10px}.student-upcoming__datetime{text-align:left}.student-upcoming__actions,.student-upcoming__cancel{width:100%}}.lesson-detail{flex-direction:column;gap:20px;padding:20px;display:flex}.lesson-detail .page-title{margin:10px 0 20px;font-size:18px;font-weight:700}.lesson-detail .page-title svg{font-size:18px}.lesson-detail .page-header{margin:0;padding:0}.topics-list{margin:10px 0 0;padding:0;list-style:none}.topics-list li{color:#333;align-items:center;gap:8px;padding:6px 0;font-size:15px;display:flex}.topic-dot{color:var(--primary-color,#4a76a8);font-size:6px}.materials-grid{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.material-item{color:#333;background:#fff;border:1px solid #e6e6e6;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.material-item:hover{background:#fafafa;border-color:#dcdcdc}.material-video-wrapper{background:#000;border-radius:12px;width:100%;max-width:420px;margin:10px 0;overflow:hidden}.material-video-wrapper video{border-radius:12px;width:100%;display:block}.detail-block .materials-grid:first-child{margin-bottom:8px}.materials-grid a.material-item{flex:none}.route-empty{background:color-mix(in srgb, var(--brand) 12%, #fff);border:1px solid color-mix(in srgb, var(--brand) 40%, #fff);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:260px;display:flex}.route-placeholder-svg{color:var(--brand);opacity:.9}.route-empty p{color:#444;margin:0;font-size:15px;font-weight:500}.detail-block{background:#fff;border-radius:14px;margin-bottom:20px;padding:18px;box-shadow:0 2px 8px #0000000f}.detail-block h3{align-items:center;gap:8px;margin-bottom:12px;display:flex}.info-row{gap:10px;padding:4px 0;display:flex}.materials-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.material-item{color:#000;background:#f5f6fa;border-radius:8px;align-items:center;gap:8px;padding:10px;text-decoration:none;display:flex}.btn-finish{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:12px;justify-content:center;gap:8px;width:100%;padding:14px;font-size:17px;display:flex}@media (max-width:1024px){.lesson-detail{padding:10px}.lesson-detail .page-header{flex-direction:row}}.payment-return-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.payment-return-page svg{margin-bottom:20px;font-size:72px}.payment-return-page .spin{color:#0d6efd;animation:1.1s linear infinite spin}.payment-return-page .success{color:#28a745}.payment-return-page .error{color:#dc3545}.payment-return-page h3{color:#212529;margin-bottom:8px;font-size:22px;font-weight:600}.payment-return-page p{color:#6c757d;max-width:420px;font-size:15px;line-height:1.5}@media (max-width:480px){.payment-return-page svg{font-size:56px}.payment-return-page h3{font-size:20px}.payment-return-page p{font-size:14px}}.btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:20px;align-items:center;gap:8px;padding:8px 12px;transition:background .2s,box-shadow .2s,transform .1s;display:inline-flex}.btn:hover{background:var(--brand);color:#fff;box-shadow:0 2px 8px #0000001f}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#333;border-color:var(--brand)}.btn-primary svg{color:color-contrast(var(--brand) vs #333, #fff)}.btn-back{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:fit-content;padding:6px 0;display:inline-flex}.btn-back:hover{color:var(--accent)}.view-toggle{background:#fff;border:1px solid #0000001a;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.view-toggle button{color:#333;cursor:pointer;background:0 0;border:0;border-radius:999px;width:38px;height:34px;transition:background .12s,transform 60ms}.view-toggle button:hover{background:var(--brand);color:oklch(from var(--brand) calc(l - .8 * l) 0 0)}.view-toggle button:active{transform:translateY(1px)}.view-toggle button.active{background:var(--brand);box-shadow:0 6px 14px #1118271a}.btn-secondary{color:#333;justify-content:center;align-items:center}.btn-primary,.btn-cancel,.btn-secondary,.btn-warning,.btn-delete{justify-content:center;align-items:center;gap:10px;padding:12px;font-size:16px;display:flex}@media (max-width:1024px){.back-btn{font-size:16px}}.icon-btn svg{fill:#333!important}.instr-page .schedule-header .btn-secondary{text-wrap-mode:nowrap}
