.navbar{background-color:var(--color-primary);color:#fff;z-index:1000;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000001a}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:12px 20px;display:flex}.navbar-brand a{color:#fff;letter-spacing:1px;font-size:24px;font-weight:800;text-decoration:none}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;padding:5px;display:none}.hamburger .bar{background-color:#fff;border-radius:2px;width:25px;height:3px;margin:5px auto;transition:all .3s ease-in-out;display:block}.hamburger.active .bar:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.navbar-content{flex:1;justify-content:space-between;align-items:center;display:flex}.navbar-links{flex:1;justify-content:center;gap:15px;display:flex}.navbar-links a{color:#ffffffb3;border-radius:6px;padding:8px 16px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s ease-in-out}.navbar-links a:hover{color:#fff;background-color:#ffffff1a}.navbar-links a.active{color:#fff;background-color:#fff3;font-weight:600}.navbar-menu{align-items:center;gap:20px;display:flex}.profile-link{color:#fff;text-decoration:none;transition:opacity .2s}.profile-link:hover{opacity:.8;text-decoration:underline}.navbar-user{font-size:14px;font-weight:500}.btn-logout{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:13px;transition:all .2s}.btn-logout:hover{background-color:var(--color-error);border-color:var(--color-error)}@media (width<=768px){.hamburger{display:block}.navbar-content{background-color:var(--color-primary);flex-direction:column;justify-content:flex-start;gap:30px;width:100%;height:calc(100vh - 56px);padding:30px 20px;transition:all .3s ease-in-out;position:fixed;top:56px;left:-100%;box-shadow:inset 0 4px 6px -4px #0003}.navbar-content.open{left:0}.navbar-links{flex-direction:column;flex:none;align-items:center;width:100%}.navbar-links a{text-align:center;width:100%;padding:15px;font-size:18px}.navbar-menu{flex-direction:column;gap:15px;width:100%}.navbar-user{font-size:16px}.btn-logout{width:100%;padding:12px;font-size:16px}}.create-plan-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.create-plan-container{max-width:1000px;margin:0 auto}.create-header{text-align:center;margin-bottom:30px}.create-header h2{color:var(--color-primary);margin-bottom:10px;font-size:28px}.plan-card-section{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-left:5px solid var(--color-accent);background:#fff;margin-bottom:25px;padding:25px}.section-label{color:var(--color-primary);margin-bottom:10px;font-size:15px;font-weight:600;display:block}.main-plan-input{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:12px;font-size:16px}.strategy-input-row{gap:10px;margin-bottom:10px;display:flex}.strategy-input-row input{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:10px}.btn-remove-strat,.btn-remove-set{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:6px;width:35px;font-weight:700}.btn-remove-strat:hover,.btn-remove-set:hover{background:#fef2f2}.btn-add-strat{color:var(--color-primary);border:1px dashed var(--color-primary);cursor:pointer;background:0 0;border-radius:6px;width:100%;margin-top:5px;padding:10px;font-weight:600}.day-builder-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:4px solid var(--color-primary);background:#fff;margin-bottom:25px;padding:20px}.day-card-header{border-bottom:2px solid var(--color-border);align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;display:flex}.day-card-header h3{color:var(--color-primary);white-space:nowrap}.day-card-header input{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:10px;font-size:15px}.exercise-builder-block{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;margin-bottom:15px;padding:15px}.exercise-selector-row{align-items:center;gap:10px;margin-bottom:15px;display:flex}.ex-order{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:flex}.exercise-selector-row select{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:10px}.btn-delete-ex{color:#ef4444;cursor:pointer;background:0 0;border:none;font-size:13px}.sets-builder-table{border-collapse:collapse;width:100%;margin-bottom:10px}.sets-builder-table th{text-align:left;color:var(--color-text-muted);padding-bottom:8px;font-size:12px}.sets-builder-table input{border:1px solid var(--color-border);text-align:center;border-radius:4px;width:100%;padding:8px}.center-text{text-align:center}.font-bold{font-weight:700}.btn-add-set-link{color:var(--color-success);cursor:pointer;background:0 0;border:none;padding:5px 0;font-size:13px;font-weight:700}.btn-add-exercise-day{color:var(--color-primary);border:1px dashed var(--color-border);cursor:pointer;background:#f1f5f9;border-radius:8px;width:100%;padding:15px;font-weight:600}.btn-add-exercise-day:hover{background:#e2e8f0}.btn-save-full-plan{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:20px;padding:18px;font-size:18px;font-weight:700}.btn-save-full-plan:hover{background:#16a34a}.exercise-searchable-group{flex-direction:column;flex:1;gap:5px;display:flex}.mini-search-input{border:1px solid var(--color-border);background-color:#f8fafc;border-radius:4px;width:100%;padding:8px;font-size:13px}@media (width<=768px){.plan-card-section>div[style]{flex-direction:column!important;gap:15px!important}.strategy-input-row{flex-wrap:wrap}.btn-remove-strat,.btn-remove-set{flex-shrink:0;width:44px;height:44px}.exercise-selector-row{flex-wrap:wrap;align-items:flex-start}.exercise-searchable-group{width:calc(100% - 40px)}.btn-delete-ex{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;width:100%;margin-top:10px;padding:12px}.sets-builder-table input{min-height:44px;font-size:15px}}.plan-detail-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.plan-detail-container{max-width:1100px;margin:0 auto}.plan-header-card{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-main);box-shadow:var(--shadow-main);margin-bottom:25px;padding:25px}.start-badge-active{background:#fff3;border-radius:20px;margin-top:10px;padding:6px 12px;font-size:13px;display:inline-block}.start-badge-waiting{color:#854d0e;background:#fef08a;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-block}.week-selector-area{margin-bottom:25px}.week-selector-area h3{color:var(--color-text-muted);margin-bottom:10px;font-size:14px}.week-tabs{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.week-tab{border:1px solid var(--color-border);min-width:110px;color:var(--color-text-main);cursor:pointer;text-align:center;background:#fff;border-radius:8px;flex:none;padding:12px;font-weight:700;transition:all .2s}.week-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.student-day-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:5px solid var(--color-accent);background:#fff;margin-bottom:30px;padding:25px;transition:opacity .3s}.day-locked-card{opacity:.6;pointer-events:none;border-top-color:#cbd5e1}.day-card-header-flex{border-bottom:2px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;display:flex}.day-title{color:var(--color-primary);font-size:22px}.date-badge-cell{color:var(--color-text-muted);background:#e2e8f0;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.future-lock{color:#94a3b8;background:#f1f5f9}.student-exercise-block{border-bottom:1px dashed var(--color-border);margin-bottom:25px;padding-bottom:20px}.student-exercise-block:last-child{border-bottom:none}.exercise-title{color:var(--color-text-main);border:1px solid var(--color-border);background-color:#f8fafc;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;padding:12px 15px;font-size:16px;display:flex}.exercise-title-left{align-items:center;gap:12px;font-weight:600;display:flex}.order-badge{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.exercise-family-tag{color:#475569;text-transform:uppercase;background-color:#e2e8f0;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.exercise-video-link{color:#1d4ed8;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:5px;padding:8px 12px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.execution-table{border-collapse:collapse;width:100%}.execution-table th,.execution-table td{border:1px solid var(--color-border);padding:10px}.execution-table th{text-transform:uppercase;color:var(--color-text-muted);background-color:#f1f5f9;font-size:11px}.set-number-col{text-align:center;background:#f8fafc;width:40px;font-weight:700}.target-col-cell{background:#f8fafc;width:120px}.target-box-metrics{flex-direction:column;gap:5px;font-size:13px;display:flex}.user-input-col-cell{background:#f0fdf4}.input-metrics-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.input-metrics-row input{text-align:center;border:1px solid #bbf7d0;border-radius:4px;width:100%;min-height:44px;padding:10px 4px;font-size:15px}.comment-box-line{background:#fff;border:1px solid #bbf7d0;border-radius:4px;width:100%;min-height:44px;padding:10px;font-size:13px}input:disabled.input-locked{color:var(--color-primary);background-color:#0000;border-color:#0000;font-weight:700}.action-buttons-col{flex-direction:column;gap:8px;display:flex}.btn-save-logged-set{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:12px;font-weight:700}.btn-edit-logged-set{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;width:100%;padding:12px}.btn-cancel-logged-set{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:6px;width:100%;padding:12px;font-weight:700;transition:background .2s}.btn-cancel-logged-set:hover{background:#fef2f2}.btn-save-exercise-all{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:15px;padding:14px;font-size:15px;font-weight:700;transition:background .2s}.btn-save-exercise-all:hover{background-color:#0f172a}.lock-text-indicator{color:#94a3b8;text-align:center;padding:10px;font-size:12px;font-style:italic;display:block}@media (width<=768px){.execution-table th:nth-child(2),.execution-table td:nth-child(2){display:none}.input-metrics-row{gap:8px;grid-template-columns:1fr!important}.execution-table th,.execution-table td{padding:8px 6px}}.review-plan-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.review-plan-container{max-width:1200px;margin:0 auto}.review-header-card{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-main);box-shadow:var(--shadow-main);margin-bottom:25px;padding:25px}.admin-day-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:5px solid var(--color-primary);background:#fff;margin-bottom:30px;padding:25px}.day-title{color:var(--color-primary);border-bottom:2px solid var(--color-border);margin-bottom:20px;padding-bottom:10px;font-size:22px}.admin-exercise-block{margin-bottom:25px}.exercise-title{color:var(--color-text-main);border:1px solid var(--color-border);background-color:#f8fafc;border-radius:6px;margin-bottom:15px;padding:10px 15px;font-size:18px;font-weight:600}.review-table{border-collapse:collapse;border:1px solid var(--color-border);width:100%;min-width:800px}.review-table th,.review-table td{border:1px solid var(--color-border);padding:12px;font-size:14px}.review-table th{color:var(--color-primary);text-align:center;white-space:nowrap;background-color:#f1f5f9;font-weight:600}.set-num-cell{text-align:center;background-color:#f8fafc;width:50px;font-weight:700}.targets-cell{background-color:#f8fafc;min-width:160px}.target-display-metrics{flex-direction:column;gap:5px;display:flex}.target-edit-inputs{gap:8px;display:flex}.mini-input{flex-direction:column;flex:1;gap:4px;display:flex}.mini-input label{color:var(--color-text-muted);font-size:11px;font-weight:700}.mini-input input{border:1px solid var(--color-border);text-align:center;border-radius:4px;width:100%;padding:6px}.progress-cell{text-align:center;background-color:#faf5ff;min-width:110px}.student-logged-data{flex-direction:column;align-items:center;gap:3px;font-size:13px;display:flex}.no-log-text{color:var(--color-text-muted);font-style:italic}.log-comment{color:#6b21a8;cursor:help;background:#e9d5ff;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:11px}.admin-actions-group{flex-direction:column;gap:6px;width:110px;margin:0 auto;display:flex}.btn-admin-edit{color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.btn-admin-edit:hover{background:var(--color-accent);color:#fff}.btn-admin-save{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px;font-weight:700}.btn-admin-save:hover{background:#16a34a}.btn-admin-cancel{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:5px;font-weight:600}.btn-admin-cancel:hover{background:#fef2f2}@media (width<=768px){.review-table th{z-index:10;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.admin-actions-group{flex-direction:row;width:100%}.btn-admin-save,.btn-admin-cancel{flex:1;padding:10px}}.auth-page{background-color:var(--color-bg-main);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-form{border-radius:var(--radius-main);box-shadow:var(--shadow-main);background:#fff;width:100%;max-width:480px;padding:40px}.auth-form h2{color:var(--color-primary);text-align:center;margin-bottom:5px}.auth-form p{color:var(--color-text-muted);text-align:center;margin-bottom:25px;font-size:14px}.error-msg{color:#ef4444;text-align:center;background-color:#fef2f2;border-left:4px solid #ef4444;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px;font-weight:600}.input-row{gap:15px;display:flex}.input-row .input-group{flex:1}.input-group{flex-direction:column;gap:5px;margin-bottom:15px;display:flex}.input-group label{color:var(--color-primary);font-size:14px;font-weight:600}.input-group input{border:1px solid var(--color-border);border-radius:6px;padding:12px;font-size:14px}.password-requirements{border:1px solid var(--color-border);background-color:#f8fafc;border-radius:6px;margin-bottom:15px;padding:12px;font-size:12px}.password-requirements p{text-align:left;margin:3px 0;transition:color .3s}.req-met{font-weight:700;color:var(--color-success)!important}.req-fail{color:#ef4444!important}.legal-checkbox-group{background:#fdf8f6;border:1px solid #fed7aa;border-radius:6px;margin-bottom:20px;padding:12px}.checkbox-label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox-label input{margin-top:3px}.checkbox-text{color:var(--color-text-main);font-size:11px;line-height:1.4}.checkbox-text a{color:var(--color-accent);font-weight:700}.btn-auth-submit{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:background .3s}.btn-auth-submit:disabled{cursor:not-allowed;background:#cbd5e1}.auth-footer{margin-top:20px}.auth-footer a{color:var(--color-accent);font-weight:700;text-decoration:none}.label-with-action{justify-content:space-between;align-items:center;display:flex}.btn-auto-gen{border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:#f1f5f9;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s}.btn-auto-gen:hover{background:#e2e8f0}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{width:100%;padding-right:70px!important}.btn-toggle-pass{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:5px;font-size:12px;font-weight:700;position:absolute;right:10px}.btn-toggle-pass:hover{text-decoration:underline}.btn-toggle-pass:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}@media (width<=768px){.auth-form{padding:25px 20px}.auth-form h2{font-size:22px}.btn-auth-submit{padding:16px}}.dashboard-container{max-width:1000px;margin:0 auto;padding:30px}.dash-header{border-bottom:2px solid var(--color-border);margin-bottom:30px;padding-bottom:15px}.status-card{border-radius:var(--radius-main);text-align:center;box-shadow:var(--shadow-main);padding:40px}.status-card.warning{background:#fffbeb;border-left:8px solid #f59e0b}.status-card.info{border-left:8px solid var(--color-accent);background:#f0f9ff}.btn-action{background:var(--color-accent);color:#fff;margin-top:20px}.active-dashboard{grid-template-columns:1fr 1fr;gap:20px;display:grid}.summary-card,.plan-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);background:#fff;padding:24px}.chart-box{border:1px dashed var(--color-text-muted);background:#f8fafc;justify-content:center;align-items:center;height:200px;margin-top:15px;display:flex}.btn-go-plan{background:var(--color-primary);color:#fff;width:100%;margin-top:20px}.admin-dashboard{max-width:1200px;margin:0 auto;padding:30px}.admin-header{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-main);box-shadow:var(--shadow-main);justify-content:space-between;align-items:center;margin-bottom:30px;padding:24px;display:flex}.admin-header h2{margin-bottom:4px;font-size:24px}.admin-header p{opacity:.8;font-size:14px}.admin-profile-badge{background:#fff3;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600}.admin-error-banner{color:var(--color-error);border-radius:var(--radius-main);background-color:#fee2e2;margin-bottom:20px;padding:12px;font-size:14px}.admin-content-card{background:var(--color-bg-card);border-radius:var(--radius-main);box-shadow:var(--shadow-main);border:1px solid var(--color-border);padding:24px}.card-header-actions{margin-bottom:20px}.card-header-actions h3{color:var(--color-primary);font-size:18px}.table-responsive{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-table th{color:var(--color-text-muted);border-bottom:2px solid var(--color-border);text-transform:uppercase;letter-spacing:.5px;background-color:#f8fafc;padding:14px 16px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-main);padding:16px}.admin-table tr:hover td{background-color:#f8fafc}.font-bold{font-weight:600;color:var(--color-primary)!important}.indicator-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dot-success{background-color:var(--color-success)}.dot-danger{background-color:var(--color-error)}.status-badge{text-align:center;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-pending{color:#d97706;background-color:#fef3c7}.badge-start{color:var(--color-accent);background-color:#dbeafe}.badge-check{color:#16a34a;background-color:#dcfce7}.action-buttons-container{flex-flow:column;justify-content:center;align-items:center;gap:8px;display:flex}.btn-table-action{text-align:center;border-radius:6px;justify-content:center;width:100%;max-width:120px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.btn-contact{border:1px solid var(--color-text-muted);color:var(--color-text-main);background-color:#0000}.btn-contact:hover{background-color:#e2e8f0}.btn-design{background-color:var(--color-accent);color:#fff;border:1px solid #0000}.btn-design:hover{background-color:var(--color-accent-hover)}.btn-check{background-color:var(--color-primary);color:#fff;border:1px solid #0000}.btn-check:hover{background-color:#0f172a}.btn-whatsapp-icon{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;padding:4px;transition:transform .2s;display:flex}.btn-whatsapp-icon:hover{transform:scale(1.15)}.whatsapp-ico{object-fit:contain;width:32px;height:32px}.btn-expediente{color:var(--color-primary);border:1px solid var(--color-border);background:#f1f5f9}.btn-expediente:hover{background:#e2e8f0}.admin-loading{text-align:center;color:var(--color-text-muted);padding:100px;font-size:16px}.text-center{text-align:center}.muted-text{color:var(--color-text-muted)}@media (width<=768px){.admin-table thead{display:none}.admin-table tbody tr{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;margin-bottom:20px;padding:15px;display:flex;box-shadow:0 4px 6px #00000008}.admin-table td{text-align:right;border-bottom:1px solid #f1f5f9;justify-content:flex-end;align-items:center;padding:10px 0;display:flex}.admin-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;text-align:left;margin-right:auto;font-size:.75rem;font-weight:600}.admin-table td:last-child{border-bottom:none;flex-direction:column;justify-content:center;align-items:stretch;margin-top:15px;padding-bottom:0}.admin-table td:last-child:before{display:none}.action-buttons-container{gap:12px;width:100%}.btn-table-action{width:100%;max-width:100%;padding:12px}.admin-table td:nth-child(2){display:none}}.anamnesis-container{max-width:900px;margin:40px auto;padding:0 20px}.anamnesis-header{text-align:center;margin-bottom:30px}.anamnesis-header h2{color:var(--color-primary);margin-bottom:10px;font-size:28px}.anamnesis-header p{color:var(--color-text-muted);font-size:15px}.form-section{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:5px solid var(--color-accent);background:#fff;padding:30px}.form-section h3{color:var(--color-primary);border-bottom:2px solid var(--color-border);margin-bottom:25px;padding-bottom:10px;font-size:20px}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.full-width{grid-column:1/-1}.input-group label{color:var(--color-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.input-group input,.input-group select,.input-group textarea{border:1px solid var(--color-border);background-color:#f8fafc;border-radius:6px;width:100%;padding:12px;font-family:inherit;font-size:15px;transition:border-color .2s,background-color .2s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--color-accent);background-color:#fff;outline:none}.photo-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:15px;display:grid}.photo-upload{border:2px dashed var(--color-border);text-align:center;background:#f8fafc;border-radius:8px;padding:20px}.photo-upload label{color:var(--color-primary);margin-bottom:15px;font-weight:700;display:block}.photo-upload input[type=file]{color:var(--color-text-muted);font-size:13px}.section-desc{color:var(--color-text-muted);margin-bottom:20px;font-size:14px}.btn-submit,.btn-submit-photos{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:15px;font-size:16px;font-weight:700;transition:background-color .2s}.btn-submit:hover,.btn-submit-photos:hover{background:#16a34a}.btn-submit:disabled,.btn-submit-photos:disabled{opacity:.7;cursor:not-allowed}.btn-back{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;width:100%;margin-top:25px;padding:12px;font-weight:700;transition:background-color .2s}.btn-back:hover{color:var(--color-primary);background:#f1f5f9}.success-msg{color:#16a34a;text-align:center;background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:20px;padding:15px;font-weight:500}.error-msg{color:#dc2626;text-align:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:15px;font-weight:500}@media (width<=768px){.form-grid,.photo-grid{grid-template-columns:1fr}}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--color-accent);background-color:#fff;outline:none;box-shadow:0 0 0 3px #0284c726}.input-valid{border-color:var(--color-success)!important;background-color:#f0fdf4!important}.input-valid:focus{box-shadow:0 0 0 3px #22c55e33!important}.input-invalid{border-color:var(--color-error)!important;background-color:#fef2f2!important}.input-invalid:focus{box-shadow:0 0 0 3px #ef444433!important}.profile-page{background-color:var(--color-bg-main);min-height:100vh;padding:40px 20px}.profile-container{max-width:600px;margin:0 auto}.profile-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:5px solid var(--color-primary);background:#fff;padding:30px}.profile-card h2{color:var(--color-primary);margin-bottom:5px}.profile-card p{color:var(--color-text-muted);margin-bottom:20px;font-size:14px}.profile-form{flex-direction:column;gap:15px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.divider{background:var(--color-border);border:0;height:1px;margin:15px 0}.password-group{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;padding:15px}.help-text{color:#64748b!important;margin-bottom:10px!important;font-size:12px!important}.btn-save-profile{background-color:var(--color-primary);color:#fff;border-radius:6px;margin-top:10px;padding:12px;font-size:16px}.btn-save-profile:hover{background-color:#0f172a}.msg-banner{text-align:center;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px;font-weight:500}.msg-success{color:#16a34a;background:#dcfce7;border:1px solid #bbf7d0}.msg-error{color:#dc2626;background:#fee2e2;border:1px solid #fecaca}@media (width<=768px){.auth-form{padding:25px 20px}.auth-form h2{font-size:22px}.btn-auth-submit{padding:16px}}.catalogs-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.catalogs-container{max-width:1000px;margin:0 auto}.btn-back{color:var(--color-accent);cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:15px;font-weight:600}.page-header{margin-bottom:30px}.page-header h1{color:var(--color-primary);margin-bottom:5px;font-size:28px}.page-header p{color:var(--color-text-muted)}.catalogs-layout{align-items:flex-start;gap:30px;display:flex}.tabs-sidebar{border-radius:var(--radius-main);width:240px;box-shadow:var(--shadow-main);background:#fff;flex-direction:column;gap:10px;padding:20px;display:flex}.tab-btn{text-align:left;color:var(--color-text-main);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:12px 15px;font-size:15px;transition:all .2s}.tab-btn:hover{background:#f1f5f9}.tab-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.tab-content{border-radius:var(--radius-main);width:100%;box-shadow:var(--shadow-main);background:#fff;flex:1;padding:30px}.content-header{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;display:flex}.content-header div{align-items:center;gap:15px;display:flex}.content-header h2{color:var(--color-primary);font-size:20px}.badge-count{color:var(--color-text-muted);background:#e2e8f0;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700}.btn-add-main{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-weight:600;transition:background .2s}.btn-add-main:hover{background:#0f172a}.items-list{margin:0;padding:0;list-style:none}.items-list li{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:15px 20px;transition:background .2s;display:flex}.items-list li:hover{background:#f8fafc}.item-info{align-items:center;gap:15px;display:flex}.item-name{color:var(--color-text-main);font-size:16px;font-weight:500}.item-status{border-radius:4px;padding:4px 8px;font-size:12px}.active-status{color:#16a34a;background:#dcfce7}.btn-edit-item{color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .2s}.btn-edit-item:hover{background:var(--color-accent);color:#fff}.empty-msg{color:var(--color-text-muted);text-align:center;font-style:italic;border:1px dashed var(--color-border)!important;background:0 0!important;padding:30px!important}.modal-content{background:#fff;border-radius:12px;width:100%;padding:30px;box-shadow:0 20px 25px -5px #0000001a}.catalog-modal{max-width:450px!important}.catalog-form .input-group label{color:var(--color-primary);font-size:14px;font-weight:600}.catalog-form .input-group input{border:1px solid var(--color-border);border-radius:6px;width:100%;margin-top:8px;padding:12px;font-size:15px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.btn-cancel{border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;background:#fff;border-radius:6px;padding:10px 18px}.btn-cancel:hover{background:#f8fafc}.btn-save{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-weight:600}.btn-save:hover{background:#16a34a}.btn-save:disabled{opacity:.7;cursor:not-allowed}@media (width<=768px){.catalogs-layout{flex-direction:column;gap:15px}.tabs-sidebar{-webkit-overflow-scrolling:touch;flex-flow:row;gap:10px;width:100%;padding:15px;overflow-x:auto}.tab-btn{text-align:center;white-space:nowrap;flex:none}.tab-content{padding:20px 15px}.content-header{flex-direction:column;align-items:flex-start;gap:15px}.btn-add-main{width:100%}.item-actions{flex-direction:column}.btn-edit-item,.btn-delete-item{text-align:center;width:100%;padding:10px}}.finances-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.finances-container{max-width:1100px;margin:0 auto}.finances-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);border-top:5px solid var(--color-success);background:#fff;padding:25px}.finances-table{border-collapse:collapse;width:100%}.finances-table th{color:var(--color-text-muted);text-transform:uppercase;text-align:left;border-bottom:2px solid var(--color-border);background-color:#f8fafc;padding:15px;font-size:13px}.finances-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:15px}.student-email,.sub-date{color:var(--color-text-muted);margin-top:4px;font-size:12px}.bold-date{color:var(--color-primary);font-weight:600}.status-badge{border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.badge-active{color:#16a34a;background:#dcfce7}.badge-expired{color:#dc2626;background:#fee2e2}.badge-none{color:#64748b;background:#f1f5f9}.btn-pay{color:var(--color-success);border:1px solid var(--color-success);background-color:#0000;border-radius:6px;padding:8px 15px;font-size:13px;font-weight:600}.btn-pay:hover{background-color:var(--color-success);color:#fff}.empty-row{text-align:center;color:var(--color-text-muted);padding:30px!important}.modal-overlay{z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;padding:30px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-header h2{color:var(--color-primary)}.btn-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:24px}.btn-close:hover{color:var(--color-error)}.modal-subtitle{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:25px;padding-bottom:15px;font-size:14px}.payment-form{flex-direction:column;gap:15px;display:flex}.payment-form .input-group input,.payment-form .input-group select{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px}.btn-submit-payment{background-color:var(--color-success);color:#fff;border-radius:6px;margin-top:15px;padding:12px;font-size:16px;font-weight:600}.btn-submit-payment:hover{background-color:#16a34a}@media (width<=768px){.finances-table thead{display:none}.finances-table tbody tr{border:1px solid var(--color-border);background:#f8fafc;border-radius:12px;flex-direction:column;margin-bottom:15px;padding:15px;display:flex}.finances-table td{text-align:right;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.finances-table td:last-child{border-bottom:none;justify-content:stretch;margin-top:10px}.btn-pay{width:100%;padding:12px;font-size:15px}}@media (width<=768px){.history-grid,.history-photos-grid{grid-template-columns:1fr}}.progress-page{background-color:var(--color-bg-main);min-height:100vh;padding:30px 20px}.progress-container{max-width:1000px;margin:0 auto}.progress-header{margin-bottom:25px}.progress-header h1{color:var(--color-primary)}.progress-tabs{border-bottom:2px solid var(--color-border);gap:10px;margin-bottom:20px;padding-bottom:10px;display:flex}.tab-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 15px;font-size:16px;font-weight:600}.tab-btn.active{background:var(--color-primary);color:#fff}.progress-card{border-radius:var(--radius-main);box-shadow:var(--shadow-main);background:#fff;margin-bottom:20px;padding:25px}.history-grid,.history-photos-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.data-group{flex-direction:column;display:flex}.data-label{color:var(--color-text-muted);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700}.data-value{color:var(--color-text-main);border:1px solid var(--color-border);background:#f8fafc;border-radius:6px;padding:10px;font-size:15px}.data-full{grid-column:1/-1}.photo-item{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;flex-direction:column;align-items:center;padding:15px;display:flex}.photo-item span{color:var(--color-primary);margin-bottom:10px;font-weight:700}.photo-img{border-radius:6px;width:100%;max-width:300px;height:auto;box-shadow:0 2px 4px #0000001a}.empty-state{text-align:center;color:var(--color-text-muted);padding:40px;font-style:italic}@media (width<=768px){.history-grid,.history-photos-grid{grid-template-columns:1fr}}.error-page{background-color:var(--color-bg-main,#f1f5f9);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:450px;padding:50px 30px;box-shadow:0 10px 15px -3px #0000001a}.error-card h1{color:#94a3b8;margin:0;font-size:80px;line-height:1}.error-card .text-warning{color:#f59e0b}.error-card .text-timeout{margin-bottom:10px;font-size:70px}.error-card h2{color:#334155;margin:15px 0 10px;font-size:24px}.error-card p{color:#64748b;margin-bottom:30px;font-size:15px;line-height:1.5}.btn-error{color:#fff;cursor:pointer;background-color:#0ea5e9;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:700;transition:background-color .3s}.btn-error:hover{background-color:#0284c7}:root{--color-bg-main:#f4f6f9;--color-bg-card:#fff;--color-primary:#1e293b;--color-accent:#0284c7;--color-accent-hover:#0369a1;--color-text-main:#334155;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-error:#ef4444;--color-success:#22c55e;--font-main:"Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-main:8px;--shadow-main:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg-main);color:var(--color-text-main);-webkit-font-smoothing:antialiased;line-height:1.5}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-main);outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)}button{cursor:pointer;border-radius:var(--radius-main);border:none;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background-color .2s,transform .1s}button:active{transform:scale(.98)}input,select,textarea,button,.week-tab{min-height:44px}.table-responsive{-webkit-overflow-scrolling:touch;background-color:#0000;background-image:linear-gradient(90deg,#fff 30%,#fff0),linear-gradient(270deg,#fff 30%,#fff0),radial-gradient(farthest-side at 0,#0000001a,#0000),radial-gradient(farthest-side at 100%,#0000001a,#0000);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;width:100%;overflow-x:auto}@media (width<=768px){:root{--shadow-main:0 2px 4px -1px #0000000f}body{font-size:15px}.form-grid,.input-row,.active-dashboard,.photo-grid{grid-template-columns:1fr!important;gap:15px!important}.app-container,.dashboard-container,.anamnesis-container,.plan-detail-container,.catalogs-page,.admin-dashboard,.create-plan-page{padding:15px!important}.form-section,.status-card,.student-day-card,.admin-content-card,.plan-card-section{padding:20px 15px!important}}
