*{margin:0;padding:0;box-sizing:border-box}:root{--image-preview-max-height: 360px;--bg: #f5f7fa;--bg-card: #ffffff;--text: #1a1a2e;--text-secondary: #6b7280;--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--success: #059669;--success-light: #ecfdf5;--warning: #d97706;--warning-light: #fffbeb;--info: #2563eb;--info-light: #eff6ff;--error: #dc2626;--error-light: #fef2f2;--border: #e5e7eb;--lesson-held: #10b981;--lesson-missed: #f43f5e;--lesson-planned: #6366f1;--lesson-dot-size: 6px;--lesson-calendar-width: 400px;--radius: 8px;--gutter: 20px;--touch-target: 44px;--drawer-width: 300px;--card-label-width: 40%;--shadow: 0 1px 3px rgba(0,0,0,.1);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spinner-size: 36px;--legal-page-width: 760px;--comment-max-width: 85%;--loader-min-height: 40vh}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:var(--loader-min-height);color:var(--text-secondary)}.modal .loader{min-height:auto;padding:24px 0}.spinner{width:var(--spinner-size);height:var(--spinner-size);border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6}.header{background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-inner{max-width:1200px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;gap:32px}.logo{font-weight:700;font-size:18px;color:var(--primary);white-space:nowrap}.nav{display:flex;align-items:center;gap:4px;flex:1}.nav-link{padding:8px 14px;border-radius:var(--radius);text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap;transition:all .15s}@media (hover: hover){.nav-link:hover{background:var(--primary-light);color:var(--primary)}}.nav-link.active{background:var(--primary-light);color:var(--primary)}.nav-group{position:relative}.nav-group-toggle{display:inline-flex;align-items:center;gap:4px;border:none;background:none;font-family:inherit;cursor:pointer}.nav-caret{font-size:10px}.nav-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:110}.burger{width:var(--touch-target);height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-size:20px;line-height:1;cursor:pointer}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:300;display:flex;justify-content:flex-end}.drawer{width:min(var(--drawer-width),85vw);height:100%;background:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));overflow-y:auto;animation:drawer-in .2s ease-out}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}@media (prefers-reduced-motion: reduce){.drawer{animation:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.drawer-links{display:flex;flex-direction:column;gap:2px;flex:1}.drawer-links .nav-link{display:flex;align-items:center;min-height:var(--touch-target);font-size:15px}.drawer-group{display:flex;flex-direction:column;gap:2px;margin-top:8px}.drawer-group-label{padding:4px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.drawer-group .nav-link{padding-left:24px}.drawer-footer{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.user-name{font-size:14px;color:var(--text-secondary);white-space:nowrap}.main-content{max-width:1200px;margin:0 auto;padding:24px 20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h2{font-size:18px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat-card .stat-value{font-size:32px;font-weight:700;color:var(--primary)}.stat-card .stat-label{font-size:14px;color:var(--text-secondary);margin-top:4px}.pay-family+.pay-family{margin-top:16px}.pay-family-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:6px}.pay-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.pay-row-info{flex:1;min-width:0}.pay-row-name{font-weight:600}.pay-stepper{display:flex;align-items:center;gap:8px}.pay-stepper .btn{min-width:var(--touch-target);min-height:var(--touch-target);font-size:20px;padding:0;justify-content:center}.pay-stepper-value{min-width:2.5em;text-align:center;font-size:20px;font-weight:700}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--error);color:#fff}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}@media (hover: hover){.btn-outline:hover{background:var(--bg)}}.btn-sm{padding:4px 10px;font-size:13px}.btn-full{width:100%;justify-content:center}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:var(--font);transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-hint{font-size:13px;color:var(--text-secondary);margin-top:4px}.text-hint{font-size:13px;color:var(--text-secondary)}.form-group .checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.form-group .checkbox-label input{width:auto}.series-fields{margin-top:8px;padding-left:24px}.weekday-picker{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);font-size:14px}th{font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.05em}@media (hover: hover){tr:hover td{background:var(--bg)}}.table-actions{display:flex;gap:6px;align-items:center}@media (max-width: 768px){.table-cards thead{display:none}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards tr{padding:10px 0;border-bottom:1px solid var(--border)}.table-cards td{padding:3px 0;border:none;overflow-wrap:anywhere}.table-cards td[data-label]:before{content:attr(data-label);display:inline-block;width:var(--card-label-width);padding-right:8px;vertical-align:top;font-size:13px;color:var(--text-secondary)}.table-cards td:first-child{font-weight:600;font-size:15px}.table-cards td:first-child:before{display:none}.table-cards td:not([data-label]){padding-top:8px}.table-cards td:not([data-label]):empty{display:none}.table-cards .table-actions{flex-wrap:wrap}}.profile-fields{display:grid;grid-template-columns:180px 1fr;gap:8px 16px;margin:0}.profile-fields dt{color:var(--text-secondary);font-size:14px}.profile-fields dd{margin:0}.password-field{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.password-field code{font-size:15px;min-width:90px}.field-hint{font-size:13px;color:var(--text-secondary);margin:4px 0 0}@media (max-width: 480px){.profile-fields{grid-template-columns:1fr;gap:2px}.profile-fields dd{margin-bottom:10px}}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-info{background:var(--info-light);color:var(--info)}.badge-error{background:var(--error-light);color:var(--error)}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:var(--error-light);color:var(--error)}.alert-info{background:var(--info-light);color:var(--info)}.alert-success{background:var(--success-light);color:var(--success)}.alert-warning{background:var(--warning-light);color:var(--warning)}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.login-card h1{font-size:24px;text-align:center;color:var(--primary);margin-bottom:4px}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:24px}.authed-image{display:block;max-width:100%;max-height:var(--image-preview-max-height);object-fit:contain;margin-top:12px;border-radius:var(--radius);border:1px solid var(--border);cursor:zoom-in}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal{background:var(--bg-card);border-radius:12px;padding:24px;width:100%;max-width:500px;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h3{font-size:18px;margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.file-upload{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.file-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.file-upload>.text-hint{flex-basis:100%}.file-name{font-size:13px;color:var(--text-secondary)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-header h3{font-size:16px}.calendar-day-label{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:14px;color:var(--text-secondary)}.calendar-day.current-month{color:var(--text)}.calendar-day.clickable{border:none;background:none;padding:0;font-family:inherit;cursor:pointer}@media (hover: hover){.calendar-day.clickable:hover{background:var(--bg)}}.calendar-day.today{font-weight:700;border:2px solid var(--primary)}.calendar-day.attended{background:var(--primary);color:#fff;font-weight:600}.calendar-day.attended:hover{background:var(--primary)}.calendar-day.free{box-shadow:inset 0 0 0 2px var(--success);font-weight:600}.calendar-day.selected{outline:2px solid var(--text);outline-offset:-2px}.calendar-legend{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:8px}.legend-dot.legend-busy{background:var(--primary)}.legend-dot.legend-free{box-shadow:inset 0 0 0 2px var(--success)}.legend-dot.legend-deadline{background:var(--warning)}.calendar-day.deadline{background:var(--warning);color:#fff;font-weight:700}.calendar-day.deadline.attended{box-shadow:inset 0 0 0 3px var(--primary)}.lesson-overview{display:grid;grid-template-columns:minmax(0,var(--lesson-calendar-width)) minmax(0,1fr);gap:16px;align-items:stretch}@media (max-width: 768px){.lesson-overview{grid-template-columns:minmax(0,1fr)}}.calendar-day.dotted{flex-direction:column;gap:3px;border-radius:50%}.calendar-day.dotted.has-lessons{font-weight:600}.lesson-dots{display:flex;gap:3px;height:var(--lesson-dot-size)}.lesson-dot{width:var(--lesson-dot-size);height:var(--lesson-dot-size);border-radius:50%;flex:none}.lesson-dot.held,.lesson-stats-bar .held{background:var(--lesson-held)}.lesson-dot.missed,.lesson-stats-bar .missed{background:var(--lesson-missed)}.lesson-dot.planned,.lesson-stats-bar .planned{background:var(--lesson-planned)}.lesson-stats{display:flex;flex-direction:column;gap:12px}.lesson-stats h3{font-size:16px}.lesson-stat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--bg)}.lesson-stat .lesson-dot{--lesson-dot-size: 10px}.lesson-stat-label{flex:1;color:var(--text-secondary)}.lesson-stat strong{font-size:20px}.lesson-stats-bar{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden}.lesson-stats-total{margin-top:auto;font-size:14px;color:var(--text-secondary)}.lesson-stats-total strong{color:var(--text)}.deadline-picker{display:flex;flex-direction:column;gap:10px}.deadline-stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deadline-stepper input{width:72px;text-align:center}.deadline-date{font-size:14px}.calendar-mini .calendar-day{aspect-ratio:auto;height:32px;font-size:13px}.deadline-cell{display:flex;align-items:center;gap:8px;margin-bottom:4px}.schedule-layout{display:grid;grid-template-columns:minmax(280px,1fr) 1.2fr;gap:16px;align-items:start}@media (max-width: 1024px){.schedule-layout{grid-template-columns:1fr}}.schedule-lesson{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.timezone-note{font-size:13px;color:var(--text-secondary);margin:8px 0}.timezone-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.timezone-picker select{max-width:100%}.timezone-picker .text-hint{flex-basis:100%}.comment-list{list-style:none;display:flex;flex-direction:column;gap:10px}.comment{max-width:var(--comment-max-width);padding:10px 12px;border-radius:var(--radius);background:var(--bg)}.comment-own{align-self:flex-end;background:var(--primary-light)}.comment-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.comment-actions>button[type=submit]{margin-left:auto}.consent-checkbox{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;font-size:13px;line-height:1.45;color:var(--text-secondary);cursor:pointer}.consent-checkbox input{width:auto;margin-top:2px;flex-shrink:0}.legal-page{max-width:var(--legal-page-width);margin:0 auto;padding:24px var(--gutter)}.legal-page h2{font-size:16px;margin:20px 0 6px}.legal-page ul{padding-left:20px}.link-button{border:none;background:none;padding:0;font:inherit;color:var(--primary);text-decoration:underline;cursor:pointer}.slot-list{display:flex;flex-wrap:wrap;gap:8px}.slot{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.plain-list{list-style:none;margin-bottom:12px}.plain-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form input,.inline-form select{width:auto}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p{font-size:15px}.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{padding:6px 14px;border:1px solid var(--border);border-radius:99px;background:transparent;font-size:13px;cursor:pointer;transition:all .15s}@media (hover: hover){.filter-btn:hover{background:var(--bg)}}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-count{opacity:.7;margin-left:2px}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hw-list{--hw-desc-lines: 2;list-style:none;padding-top:0;padding-bottom:0}.hw-list li+li{border-top:1px solid var(--border)}.hw-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px;padding:14px 0;color:inherit;text-decoration:none}@media (hover: hover){.hw-item:hover .hw-item-title{color:var(--primary)}}.hw-item-main{min-width:0}.hw-item-title{display:block;overflow-wrap:anywhere}.hw-item-desc{display:-webkit-box;-webkit-line-clamp:var(--hw-desc-lines);-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:13px;color:var(--text-secondary);margin:2px 0 0}.hw-item-deadline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:var(--text-secondary)}.hw-item-lessons{display:flex;flex-wrap:wrap;gap:2px 16px;margin-top:4px;font-size:13px;color:var(--text-secondary)}.hw-item-side{display:flex;align-items:center;gap:12px}.hw-item-side .badge{white-space:nowrap}.usage-bar{margin-top:8px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.usage-fill{height:100%;background:var(--primary);border-radius:3px;min-width:2px;transition:width .3s}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.landing-header{background:var(--bg-card);border-bottom:1px solid var(--border)}.landing-header-inner{max-width:1200px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between}.landing-main{flex:1;max-width:1200px;margin:0 auto;padding:0 20px;width:100%}.landing-hero{text-align:center;padding:80px 0 60px}.landing-title{font-size:40px;font-weight:700;color:var(--text);margin-bottom:16px;line-height:1.2}.landing-subtitle{font-size:18px;color:var(--text-secondary);margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto}.btn-lg{padding:12px 28px;font-size:16px}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;padding-bottom:60px}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;box-shadow:var(--shadow)}.feature-icon{font-size:36px;margin-bottom:12px}.feature-card h3{font-size:16px;font-weight:600;margin-bottom:8px}.feature-card p{font-size:14px;color:var(--text-secondary)}.contact-links{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.contact-link{display:block;padding:12px;border:1px solid var(--border);border-radius:var(--radius);text-align:center;text-decoration:none;color:var(--primary);font-weight:500;font-size:15px;transition:all .15s}.contact-link:hover{background:var(--primary-light);border-color:var(--primary)}.theory-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.theory-tree ul{list-style:none;margin:0;padding:0}.theory-folder{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;font-weight:600}.theory-folder-title{flex:1}.theory-node-actions{display:flex;flex-wrap:wrap;gap:6px}.theory-page-link{display:block;width:100%;padding:6px 8px;border:none;border-radius:var(--radius);background:none;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer}@media (hover: hover){.theory-page-link:hover{background:var(--bg);color:var(--text)}}.theory-page-link.active{background:var(--primary-light);color:var(--primary);font-weight:600}.theory-back{margin-bottom:12px}.theory-hint{color:var(--text-secondary);font-size:13px;margin:8px 0}.theory-images{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.theory-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:12px 0}.theory-image-card{border:1px solid var(--border);border-radius:var(--radius);padding:8px;margin:0}.theory-image-card img{width:100%;height:120px;object-fit:contain}.theory-image-card figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;color:var(--text-secondary);word-break:break-all}.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:16px 0 8px}.markdown p{margin:8px 0}.markdown .md-list{margin:8px 0 8px 24px}.markdown code{background:var(--bg);border-radius:4px;padding:1px 5px;font-size:13px}.markdown .md-code{background:var(--bg);border-radius:var(--radius);padding:12px;overflow-x:auto;margin:12px 0}.markdown .md-code code{background:none;padding:0}.markdown .md-quote{border-left:3px solid var(--primary);padding-left:12px;margin:12px 0;color:var(--text-secondary)}.markdown .md-image{max-width:100%;border-radius:var(--radius);margin:8px 0}.markdown .md-image-missing{color:var(--text-secondary);font-style:italic}@media (max-width: 768px){:root{--gutter: 12px}.theory-layout{grid-template-columns:1fr}.header-inner{justify-content:space-between}.main-content{padding-top:16px;padding-bottom:16px}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.landing-title{font-size:28px}.landing-subtitle{font-size:16px}.landing-hero{padding:48px 0 36px}.dashboard-columns{grid-template-columns:1fr}.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter-btn{flex-shrink:0;white-space:nowrap}.filters.filters-wrap{flex-wrap:wrap;overflow-x:visible;gap:6px}.filters-wrap .filter-btn{padding:6px 12px}.hw-item{grid-template-columns:1fr;align-items:start}.hw-item-side{justify-content:space-between}}.header-inner,.main-content,.landing-header-inner,.landing-main{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}@media (pointer: coarse){.btn,.nav-link,.filter-btn,.theory-page-link{min-height:var(--touch-target)}.btn-sm{padding:6px 12px}.btn,.filter-btn{justify-content:center}.nav-link,.filter-btn{display:inline-flex;align-items:center}}@media (max-width: 480px){.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:12px 12px 0 0;padding:20px var(--gutter);padding-bottom:max(20px,env(safe-area-inset-bottom))}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%;justify-content:center}.stat-card{padding:14px}.stat-card .stat-value{font-size:24px}}@media (max-width: 480px){input,select,textarea,.form-group input,.form-group select,.form-group textarea{font-size:16px}}
