*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#2563eb;--accent2:#7c3aed;--success:#16a34a;--radius:14px;--radius-sm:8px;--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#1a1a1a);--hint:var(--tg-theme-hint-color,#888);--secondary-bg:var(--tg-theme-secondary-bg-color,#f5f5f5)}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}.app{min-height:100dvh}.page{flex-direction:column;min-height:100dvh;padding-bottom:24px;display:flex}.page-header{background:var(--bg);z-index:10;border-bottom:1px solid #00000014;align-items:center;gap:12px;padding:16px;display:flex;position:sticky;top:0}.page-header h2{font-size:17px;font-weight:600}.back-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 0;font-size:15px}.home{text-align:center;justify-content:center;align-items:center;gap:32px;padding:32px 24px}.home-header{flex-direction:column;align-items:center;gap:12px;display:flex}.home-logo{font-size:56px;line-height:1}.home h1{font-size:22px;font-weight:700;line-height:1.3}.home-subtitle{color:var(--hint);font-size:14px}.home-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.section{flex-direction:column;gap:12px;padding:16px;display:flex}.section h3{font-size:16px;font-weight:600}.section-sub{color:var(--hint);margin-top:-4px;font-size:13px}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){opacity:.8}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--accent2);color:#fff}.btn-ghost{background:var(--secondary-bg);color:var(--text)}.btn-lg{padding:16px 20px;font-size:16px}.btn-sm{width:auto;padding:8px 14px;font-size:13px}.card-list{flex-direction:column;gap:8px;display:flex}.card-item{background:var(--secondary-bg);border-radius:var(--radius);cursor:pointer;text-align:left;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:background .15s;display:flex}.card-item:active{background:#e0e0e0}.card-icon{flex-shrink:0;font-size:22px}.card-body{flex-direction:column;flex:1;gap:2px;display:flex}.card-label{font-size:15px;font-weight:600}.card-hint{color:var(--hint);font-size:12px}.card-price{color:var(--accent);margin-top:2px;font-size:14px;font-weight:700}.steps{justify-content:center;gap:8px;padding:12px 16px 4px;display:flex}.step-dot{background:#ddd;border-radius:50%;width:8px;height:8px;transition:background .2s}.step-dot.active{background:var(--accent)}.step-dot.done{background:var(--success)}.date-input,.input{border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);border:1.5px solid #00000026;outline:none;padding:12px 14px;font-size:15px}.input:focus{border-color:var(--accent)}.slots-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slot-btn{border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;border:1.5px solid #00000026;padding:10px 6px;font-size:14px;font-weight:500;transition:all .15s}.slot-btn.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.summary-box{background:var(--secondary-bg);border-radius:var(--radius);flex-direction:column;gap:6px;padding:14px 16px;font-size:14px;display:flex}.done-section{text-align:center;align-items:center;padding-top:32px}.done-icon{font-size:56px}.done-section h3{font-size:20px;font-weight:700}.done-section .summary-box{text-align:left;width:100%}.loader,.empty{text-align:center;color:var(--hint);padding:24px;font-size:14px}.error{color:#dc2626;padding:4px 0;font-size:13px}.search-row{gap:8px;display:flex}.search-row .input{flex:1}.search-row .btn{flex-shrink:0;width:auto}.lesson-list{flex-direction:column;gap:10px;display:flex}.lesson-card{background:var(--secondary-bg);border-radius:var(--radius);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.lesson-status{font-size:13px;font-weight:600}.lesson-service{font-size:15px;font-weight:600}.lesson-meta{color:var(--hint);font-size:12px}
