*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-moz-osx-font-smoothing:grayscale}:root{--primary:#16a34a;--primary-hover:#15803d;--dark:#0f172a;--dark-soft:#1e293b;--success:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#2563eb;--info-bg:#eff6ff;--info-border:#bfdbfe;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--surface:#fff;--bg:#f8fafc;--radius:10px;--radius-sm:6px;--radius-pill:100px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#f8fafc;background:var(--bg);color:#1e293b;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;margin:0}h1,h2,h3,h4{line-height:1.3;margin:0}p{margin:0}button{font-family:inherit}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1;padding-bottom:2rem}.container{margin:0 auto;max-width:600px;padding:1rem}.app-header{background:#0f172a;background:var(--dark);color:#fff;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-row{gap:.75rem;justify-content:space-between;margin:0 auto;max-width:600px}.header-left,.header-row{align-items:center;display:flex}.header-left{flex-shrink:0;gap:.1rem;margin-left:-10px}.header-logo{height:50px;left:10px;object-fit:contain;position:relative;width:50px}.app-title{font-size:1rem;font-weight:700;letter-spacing:-.01em;margin:0}.header-right{align-items:center;display:flex;gap:.5rem}.header-notif-badge{align-items:center;background:#dc2626;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:22px;justify-content:center;width:22px}.header-user{align-items:flex-end;display:flex;flex-direction:column;line-height:1.2}.header-user-name{font-size:.8rem;font-weight:600}.header-user-role{align-items:center;display:inline-flex;font-size:.65rem;gap:.1rem;letter-spacing:.5px;line-height:1.2;opacity:.6;text-transform:uppercase}.header-role-icon{height:28px;left:5px;object-fit:contain;position:relative;width:28px}.btn-neon{background:#3b82f60d;border:1px solid #3b82f640;border-radius:9999px;color:#ffffffe6;cursor:pointer;font-size:.78rem;font-weight:600;padding:.4rem 1.4rem;position:relative;transition:background .2s ease,color .2s ease;white-space:nowrap}.btn-neon:hover{background:#3b82f600;color:#fff}.btn-neon:active{transform:scale(.97)}.neon-glow-bottom,.neon-glow-top{background:linear-gradient(90deg,#0000,#3b82f6,#0000);height:1px;left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .5s ease;width:75%}.neon-glow-top{top:0}.neon-glow-bottom{bottom:-1px;opacity:.3;transition:opacity .5s ease}.btn-neon:hover .neon-glow-top{opacity:1}.btn-neon:hover .neon-glow-bottom{opacity:.3}.auth-page{padding-top:2.5rem;text-align:center}.auth-logo{color:#0f172a;color:var(--dark);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.25rem}.auth-subtitle{color:#64748b;color:var(--text-secondary);font-size:.85rem;margin-bottom:1.5rem}.auth-title{color:#1e293b;color:var(--text);font-size:1.15rem;font-weight:600;margin-bottom:1.5rem}.auth-error{background:#fef2f2;background:var(--danger-bg);border:1px solid #fecaca;border:1px solid var(--danger-border);border-radius:10px;border-radius:var(--radius);color:#dc2626;color:var(--danger);font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.6rem 1rem}.auth-page .form-group{text-align:left}.auth-switch{color:#64748b;color:var(--text-secondary);font-size:.9rem;margin-top:1.5rem}.auth-switch a{color:#16a34a;color:var(--primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.role-selector{display:flex;gap:.75rem;margin-top:.25rem}.role-option{align-items:center;background:#fff;background:var(--surface);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;border-radius:var(--radius);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.3rem;padding:1rem .75rem;text-align:center;transition:all .15s}.role-option:hover{border-color:#cbd5e1}.role-option.selected{background:#f0fdf4;border-color:#16a34a;border-color:var(--primary)}.role-option-icon{font-size:1.8rem;line-height:1}.role-option-label{color:#0f172a;color:var(--dark);font-size:1rem;font-weight:700}.role-option-desc{color:#94a3b8;color:var(--text-muted);font-size:.75rem;line-height:1.3}.dashboard-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;gap:0;margin-bottom:1.25rem}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#94a3b8;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;margin-bottom:-2px;padding:.75rem .25rem;position:relative;transition:all .15s;white-space:nowrap}.tab-btn:hover:not(.active){background:#00000008;color:#64748b;color:var(--text-secondary)}.tab-btn.active{border-bottom-color:#16a34a;border-bottom-color:var(--primary);color:#0f172a;color:var(--dark)}.tab-btn.active.tab-status-danger{border-bottom-color:#dc2626;border-bottom-color:var(--danger)}.tab-btn.active.tab-status-warning{border-bottom-color:#d97706;border-bottom-color:var(--warning)}.tab-btn.active.tab-status-success{border-bottom-color:#059669;border-bottom-color:var(--success)}.tab-btn.active.tab-status-default{border-bottom-color:#16a34a;border-bottom-color:var(--primary)}.tab-badge{align-items:center;background:#16a34a;background:var(--primary);border-radius:9px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;margin-left:4px;min-width:18px;padding:0 5px;vertical-align:middle}.tab-badge-danger{background:#dc2626;background:var(--danger)}.tab-badge-warning{background:#d97706;background:var(--warning)}.tab-badge-success{background:#059669;background:var(--success)}.section-block{margin-bottom:1.5rem}.section-label{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.6px;margin-bottom:.6rem;text-transform:uppercase}.section-subtitle{color:#64748b;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem;margin-top:.25rem}.form-header{margin-bottom:1.5rem}.form-header h2{font-size:1.35rem;font-weight:700;margin-bottom:.25rem}.child-badge{color:#64748b;color:var(--text-secondary);font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#1e293b;color:var(--text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.form-group input[type=date],.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group select,.form-group textarea{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-hint{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin-top:.5rem;text-align:center}.inline-form{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);margin-top:1rem;padding:1rem}.btn-primary{background:#16a34a;background:var(--primary);border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 6px #16a34a4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.3px;margin-bottom:.75rem;margin-top:.5rem;min-height:48px;padding:.85rem;transition:all .15s;width:100%}.btn-primary:hover:not(:disabled){background:#15803d;background:var(--primary-hover);box-shadow:0 4px 12px #16a34a66;transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 1px 3px #16a34a4d;transform:translateY(0)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.btn-secondary{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;color:#0f172a;color:var(--dark);cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.3px;min-height:48px;padding:.85rem;transition:all .15s;width:100%}.btn-secondary:hover{background:#f8fafc;background:var(--bg);border-color:#cbd5e1;box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.btn-secondary:active{box-shadow:0 1px 2px #0000000f;transform:translateY(0)}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.form-actions .btn-primary,.form-actions .btn-secondary{margin-bottom:0;margin-top:0}.btn-back{background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;padding:.5rem 0;transition:color .15s,transform .15s}.btn-back:hover{color:#dc2626;transform:translateX(-3px)}.search-row{display:flex;gap:.5rem}.search-row input[type=text]{border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);flex:1 1;font-family:inherit;font-size:.95rem;padding:.7rem}.search-row input[type=text]:focus{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}.btn-add-cat{background:#0f172a;background:var(--dark);border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 6px #0f172a40;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;min-height:44px;padding:.7rem 1rem;transition:all .15s;white-space:nowrap}.btn-add-cat:hover:not(:disabled){background:#1e293b;background:var(--dark-soft);box-shadow:0 4px 12px #0f172a4d;transform:translateY(-1px)}.btn-add-cat:active:not(:disabled){box-shadow:0 1px 3px #0f172a33;transform:translateY(0)}.btn-add-cat:disabled{box-shadow:none;cursor:not-allowed;opacity:.35}.search-results{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.trainer-result{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:1rem}.trainer-result h4{color:#0f172a;color:var(--dark);font-size:1rem;font-weight:600;margin-bottom:.5rem}.search-no-groups{color:#94a3b8;color:var(--text-muted);font-size:.85rem}.group-list{display:flex;flex-direction:column;gap:.4rem}.group-item{align-items:center;background:#f8fafc;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:.6rem .75rem}.group-name{font-size:.9rem;font-weight:500}.btn-join{background:#16a34a;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 1px 4px #16a34a40;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;min-height:36px;padding:.4rem .9rem;transition:all .15s}.btn-join:hover:not(:disabled){background:#15803d;background:var(--primary-hover);box-shadow:0 3px 8px #16a34a59;transform:translateY(-1px)}.btn-join:active:not(:disabled){box-shadow:0 1px 2px #16a34a33;transform:translateY(0)}.btn-join:disabled{box-shadow:none;cursor:not-allowed;opacity:.35}.groups-list{display:flex;flex-direction:column;gap:.75rem}.group-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;padding:1rem}.group-card.clickable{cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.group-card.clickable:hover{box-shadow:0 8px 24px #00000021;transform:translateY(-4px)}.group-card.clickable:active{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.group-card-header{align-items:center;display:flex;justify-content:space-between}.group-card-header h3{font-size:1.05rem;font-weight:600}.group-card-count{color:#94a3b8;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.group-children{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.group-child-badge{background:#eff6ff;background:var(--info-bg);border-radius:100px;border-radius:var(--radius-pill);color:#2563eb;color:var(--info);font-size:.72rem;font-weight:500;padding:.2rem .55rem}.group-child-badge.extra-badge{background:#e2e8f0;background:var(--border);color:#64748b;color:var(--text-secondary);font-weight:700}.requests-list{display:flex;flex-direction:column;gap:.75rem}.request-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:1rem}.request-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.request-card-arrow,.request-card-date{color:#94a3b8;color:var(--text-muted)}.request-card-date{font-size:.8rem;margin-top:.3rem}.request-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-accept{background:#059669;background:var(--success);border:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 6px #0596694d;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-height:44px;padding:.6rem;transition:all .15s}.btn-accept:hover{background:#047857;box-shadow:0 4px 12px #05966966;transform:translateY(-1px)}.btn-accept:active{box-shadow:0 1px 3px #0596694d;transform:translateY(0)}.btn-reject{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;color:#dc2626;color:var(--danger);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-height:44px;padding:.6rem;transition:all .15s}.btn-reject:hover{background:#fef2f2;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger);box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.btn-reject:active{box-shadow:0 1px 2px #0000000f;transform:translateY(0)}.category-add-row{display:flex;flex-wrap:wrap;gap:.5rem}.category-add-row input[type=text]{border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);flex:1 1;font-family:inherit;font-size:.95rem;min-width:140px;padding:.7rem}.category-add-row input[type=text]:focus{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}.category-add-row select{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);font-size:.85rem;padding:.7rem .5rem;width:auto}.categories-list{display:flex;flex-direction:column;gap:.4rem}.category-item{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);display:flex;gap:.5rem;padding:.65rem .75rem}.category-index{color:#94a3b8;color:var(--text-muted);font-size:.8rem;min-width:1.5rem}.category-name{flex:1 1;font-size:.95rem;font-weight:500}.category-type-badge{border-radius:100px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;padding:.15rem .6rem}.category-type-badge.counter{background:#eff6ff;background:var(--info-bg);color:#2563eb;color:var(--info)}.category-type-badge.text{background:#fffbeb;background:var(--warning-bg);color:#d97706;color:var(--warning)}.category-type-badge.small{font-size:.68rem;padding:.1rem .45rem}.category-remove{background:none;border:none;border-radius:4px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:.2rem .3rem;transition:all .15s}.category-remove:hover{background:#fef2f2;background:var(--danger-bg);color:#dc2626;color:var(--danger)}.session-preview{background:#f8fafc;background:var(--bg);border:2px dashed #e2e8f0;border:2px dashed var(--border);border-radius:10px;border-radius:var(--radius);padding:1rem}.preview-title{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin-bottom:.75rem}.preview-field{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.5rem 0}.preview-field:last-child{border-bottom:none}.preview-field-name{color:#64748b;color:var(--text-secondary);font-size:.9rem}.preview-counter{align-items:center;color:#94a3b8;color:var(--text-muted);display:flex;font-size:.9rem;gap:.6rem}.preview-counter-btn{align-items:center;background:#e2e8f0;background:var(--border);border-radius:50%;display:flex;font-size:.85rem;height:28px;justify-content:center;width:28px}.preview-textarea{color:#94a3b8;color:var(--text-muted);font-size:.8rem;font-style:italic}.stat-counter{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);display:flex;justify-content:space-between;padding:.6rem .75rem}.stat-label{font-size:.95rem;font-weight:500}.stat-controls{align-items:center;display:flex;gap:.75rem}.stat-value{color:#0f172a;color:var(--dark);font-size:1.3rem;font-weight:700;min-width:2rem;text-align:center}.stat-btn{align-items:center;border:none;border-radius:50%;box-shadow:0 1px 4px #0000001a;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:34px;justify-content:center;line-height:1;min-height:34px;min-width:34px;padding:0;transition:all .15s;width:34px}.stat-btn:hover:not(:disabled){transform:scale(1.08)}.stat-btn:active:not(:disabled){box-shadow:0 0 2px #0000001a;transform:scale(.95)}.stat-btn-plus{background:#16a34a;background:var(--primary);color:#fff}.stat-btn-plus:hover:not(:disabled){background:#15803d;background:var(--primary-hover)}.stat-btn-minus{background:#e2e8f0;background:var(--border);color:#64748b;color:var(--text-secondary)}.stat-btn-minus:hover:not(:disabled){background:#cbd5e1}.stat-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.25}.report-fields .stat-counter .stat-label{display:none}.report-fields{display:flex;flex-direction:column;gap:.25rem}.report-text-field{margin-bottom:.5rem}.report-text-label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.75rem;font-weight:600;letter-spacing:.3px;margin-bottom:.2rem;text-transform:uppercase}.draft-banner{background:#eff6ff;background:var(--info-bg);border:1px solid #bfdbfe;border:1px solid var(--info-border);border-radius:6px;border-radius:var(--radius-sm);color:#2563eb;color:var(--info)}.draft-banner,.submitted-banner{font-size:.85rem;font-weight:500;margin-top:.5rem;padding:.5rem .75rem}.submitted-banner{border:1px solid #a7f3d0;border:1px solid var(--success-border);border-radius:6px;border-radius:var(--radius-sm)}.submitted-banner,.success-message{background:#ecfdf5;background:var(--success-bg);color:#059669;color:var(--success)}.success-message{border:1px solid #a7f3d0;border:1px solid var(--success-border);border-radius:10px;border-radius:var(--radius);font-size:1rem;font-weight:600;margin-top:3rem;padding:1.25rem 1rem;text-align:center}.success-message.draft-saved{background:#eff6ff;background:var(--info-bg);border-color:#bfdbfe;border-color:var(--info-border);color:#2563eb;color:var(--info)}.children-list,.sessions-list{display:flex;flex-direction:column;gap:.6rem}.session-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;padding:1rem}.session-card.clickable{cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.session-card.clickable:hover{box-shadow:0 8px 24px #00000021;transform:translateY(-4px)}.session-card.clickable:active{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.session-card.completed{opacity:.6}.session-card-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.35rem}.session-card-header h3{font-size:1rem;font-weight:600}.session-card-date{color:#94a3b8;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.session-card-meta{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.5rem}.meta-dot{color:#94a3b8;color:var(--text-muted)}.session-card-categories{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.status-badge{align-items:center;border-radius:100px;border-radius:var(--radius-pill);display:inline-flex;font-size:.72rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.status-badge.done{background:#ecfdf5;background:var(--success-bg);color:#059669;color:var(--success)}.status-badge.pending{background:#fffbeb;background:var(--warning-bg);color:#d97706;color:var(--warning)}.status-badge.draft{background:#eff6ff;background:var(--info-bg);color:#2563eb;color:var(--info)}.status-badge.rejected{background:#fef2f2;background:var(--danger-bg);color:#dc2626;color:var(--danger)}.status-badge.new-badge{animation:pulse-badge 2s ease-in-out infinite;background:#dc2626;background:var(--danger);color:#fff}.session-card.session-card-new{background:#fff5f5;border-color:#dc2626;border-color:var(--danger);border-width:1.5px}.session-card.session-card-new:hover{border-color:#dc2626;border-color:var(--danger);box-shadow:0 2px 12px #dc26261f}.child-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000f;padding:1rem}.child-card.clickable{cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.child-card.clickable:hover{box-shadow:0 8px 24px #00000021;transform:translateY(-4px)}.child-card.clickable:active{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.child-card.clickable:hover h3{color:#0f172a;color:var(--dark)}.child-card-info{align-items:flex-start;display:flex;justify-content:space-between}.child-card-info h3{font-size:1rem;font-weight:600}.child-card-meta{color:#94a3b8;color:var(--text-muted);font-size:.8rem}.child-card-meta.reports-complete{color:#059669;color:var(--success)}.child-card-meta.reports-pending{color:#d97706;color:var(--warning)}.child-card-status{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.35rem}.child-status-dot{border-radius:100px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;padding:.2rem .6rem;white-space:nowrap}.child-status-dot.danger{animation:pulse-badge 2s ease-in-out infinite;background:#dc2626;background:var(--danger);color:#fff}.child-status-dot.warning{background:#d97706;background:var(--warning);color:#fff}.child-status-dot.success{background:#059669;background:var(--success);color:#fff}.pending-sessions-badge{animation:pulse-badge 2s ease-in-out infinite;background:#dc2626;border-radius:100px;border-radius:var(--radius-pill);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;white-space:nowrap}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.child-assignment-info{color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.8rem;gap:.15rem;line-height:1.35;margin-top:.35rem}.notebook-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:1rem}.notebook-header h2{font-size:1.35rem;font-weight:700}.entries-count{color:#94a3b8;color:var(--text-muted);font-size:.8rem}.entries-list{display:flex;flex-direction:column;gap:.6rem}.entry-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:1rem}.entry-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.entry-title{font-size:1rem;font-weight:600}.entry-date{color:#94a3b8;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.entry-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.entry-stat-badge{background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:100px;border-radius:var(--radius-pill);color:#1e293b;color:var(--text);font-size:.78rem;padding:.2rem .6rem}.entry-note{color:#64748b;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.dp-wrapper{position:relative}.dp-field-label{color:#1e293b;color:var(--text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.dp-trigger-input{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:1rem;justify-content:space-between;line-height:1.5;padding:.75rem;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.dp-trigger-input:hover{border-color:#cbd5e1}.dp-trigger-input--open,.dp-trigger-input:focus-visible{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}.dp-trigger-text{flex:1 1;min-width:0}.dp-trigger-icon{color:#94a3b8;color:var(--text-muted);flex-shrink:0;margin-left:.5rem}.dp-backdrop{display:none}.dp-panel{animation:dp-fade-in .15s ease;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 24px #00000014,0 1px 4px #0000000a;left:0;max-width:320px;padding:1rem;position:absolute;top:calc(100% + 6px);width:100%;z-index:100}@keyframes dp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dp-handle-bar{display:none}.dp-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.dp-month-label{color:#1e293b;color:var(--text);font-size:.95rem;font-weight:700;-webkit-user-select:none;user-select:none}.dp-nav{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.dp-nav:hover{background:#f8fafc;background:var(--bg);color:#1e293b;color:var(--text)}.dp-nav:active{background:#e2e8f0;background:var(--border)}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.dp-weekday{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.25rem 0;text-align:center;text-transform:uppercase;-webkit-user-select:none;user-select:none}.dp-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.dp-day{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;height:36px;justify-content:center;position:relative;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.dp-day:hover:not(.dp-day--selected){background:#f8fafc;background:var(--bg)}.dp-day:active:not(.dp-day--selected){background:#e2e8f0;background:var(--border)}.dp-day--outside{color:#94a3b8;color:var(--text-muted);opacity:.4}.dp-day--today{color:#16a34a;color:var(--primary);font-weight:700}.dp-day--today:after{border-radius:50%;bottom:3px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.dp-day--selected,.dp-day--today:after{background:#16a34a;background:var(--primary)}.dp-day--selected{border-radius:6px;border-radius:var(--radius-sm);color:#fff;font-weight:600}.dp-day--selected:hover{background:#15803d;background:var(--primary-hover)}.dp-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;justify-content:center;margin-top:.75rem;padding-top:.625rem}.dp-quick{background:none;border:none;border-radius:100px;border-radius:var(--radius-pill);color:#16a34a;color:var(--primary);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:.35rem .75rem;transition:background .15s}.dp-quick:hover{background:#16a34a14}.dp-quick:active{background:#16a34a26}@media (max-width:600px){.dp-backdrop{animation:dp-backdrop-in .2s ease;background:#0000004d;display:block;inset:0;position:fixed;z-index:99}@keyframes dp-backdrop-in{0%{opacity:0}to{opacity:1}}.dp-panel{animation:dp-slide-up .25s ease;border:none;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -4px 32px #0000001f;left:0;max-height:85vh;max-width:none;overflow-y:auto;padding:.5rem 1rem 1.5rem;position:fixed;right:0;top:auto;z-index:100}@keyframes dp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dp-handle-bar{display:flex;justify-content:center;padding:.5rem 0 .75rem}.dp-handle{background:#e2e8f0;background:var(--border);border-radius:2px;height:4px;width:36px}.dp-day{font-size:.95rem;min-height:44px}.dp-nav{height:40px;width:40px}.dp-month-label{font-size:1rem}.dp-weekday{font-size:.72rem}.dp-quick{font-size:.9rem;padding:.5rem 1rem}}.tp-wrapper{position:relative}.tp-field-label{color:#1e293b;color:var(--text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.tp-trigger-input{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:1rem;justify-content:space-between;line-height:1.5;padding:.75rem;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.tp-trigger-input:hover{border-color:#cbd5e1}.tp-trigger-input--open,.tp-trigger-input:focus-visible{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}.tp-trigger-text{flex:1 1;min-width:0}.tp-trigger-icon{color:#94a3b8;color:var(--text-muted);flex-shrink:0;margin-left:.5rem}.tp-backdrop{display:none}.tp-panel{animation:tp-fade-in .15s ease;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 24px #00000014,0 1px 4px #0000000a;left:0;padding:.75rem;position:absolute;top:calc(100% + 6px);width:200px;z-index:100}@keyframes tp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tp-handle-bar{display:none}.tp-columns{display:flex;gap:.5rem}.tp-column{display:flex;flex:1 1;flex-direction:column;min-width:0}.tp-column-header{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding-bottom:.4rem;text-align:center;text-transform:uppercase;-webkit-user-select:none;user-select:none}.tp-scroll{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;scrollbar-color:#e2e8f0 #0000;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.tp-scroll::-webkit-scrollbar{width:4px}.tp-scroll::-webkit-scrollbar-track{background:#0000}.tp-scroll::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border);border-radius:2px}.tp-option{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;justify-content:center;padding:.4rem 0;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.tp-option:hover:not(.tp-option--selected){background:#f8fafc;background:var(--bg)}.tp-option:active:not(.tp-option--selected){background:#e2e8f0;background:var(--border)}.tp-option--selected{background:#16a34a;background:var(--primary);color:#fff;font-weight:600}.tp-option--selected:hover{background:#15803d;background:var(--primary-hover)}@media (max-width:600px){.tp-backdrop{animation:tp-backdrop-in .2s ease;background:#0000004d;display:block;inset:0;position:fixed;z-index:99}@keyframes tp-backdrop-in{0%{opacity:0}to{opacity:1}}.tp-panel{animation:tp-slide-up .25s ease;border:none;border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -4px 32px #0000001f;left:0;max-height:60vh;padding:.5rem 1rem 1.5rem;position:fixed;right:0;top:auto;width:auto;z-index:100}@keyframes tp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tp-handle-bar{display:flex;justify-content:center;padding:.5rem 0 .75rem}.tp-handle{background:#e2e8f0;background:var(--border);border-radius:2px;height:4px;width:36px}.tp-scroll{max-height:240px}.tp-option{font-size:1rem;min-height:44px}}.confirm-backdrop{align-items:center;animation:confirm-fade-in .15s ease;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:200}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{animation:confirm-scale-in .2s ease;background:#fff;background:var(--surface);border-radius:10px;border-radius:var(--radius);box-shadow:0 8px 32px #00000029;max-width:400px;padding:1.5rem;width:100%}@keyframes confirm-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-title{color:#0f172a;color:var(--dark);font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.confirm-message{color:#64748b;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1.25rem}.confirm-actions{display:flex;gap:.75rem}.confirm-cancel{flex:1 1;margin:0}.confirm-btn{border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-height:44px;padding:.75rem;transition:all .15s}.confirm-btn--danger{background:#2563eb;background:var(--info);box-shadow:0 2px 6px #2563eb4d;color:#fff}.confirm-btn--danger:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb66;transform:translateY(-1px)}.confirm-btn--danger:active{box-shadow:0 1px 3px #2563eb4d;transform:translateY(0)}.confirm-btn--primary{background:#16a34a;background:var(--primary);box-shadow:0 2px 6px #16a34a4d;color:#fff}.confirm-btn--primary:hover:not(:disabled){background:#15803d;background:var(--primary-hover);box-shadow:0 4px 12px #16a34a66;transform:translateY(-1px)}.confirm-btn--primary:active:not(:disabled){box-shadow:0 1px 3px #16a34a4d;transform:translateY(0)}.confirm-btn:disabled{cursor:not-allowed;opacity:.5}.edit-modal-body{margin-bottom:1.25rem}.edit-modal-body .form-group:last-child{margin-bottom:0}.btn-icon-edit{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;font-size:.9rem;line-height:1;opacity:.45;padding:.25rem;transition:all .15s}.btn-icon-edit:hover{background:#eff6ff;background:var(--info-bg);opacity:1}.btn-edit-inline{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:500;margin-top:.4rem;padding:.35rem 0;text-align:left;transition:color .15s}.btn-edit-inline:hover{color:#2563eb;color:var(--info)}.session-card-title-row{align-items:center;display:flex;gap:.35rem;min-width:0}.session-card-title-row h3{min-width:0;overflow:hidden;text-overflow:ellipsis}.group-card-header-right{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.session-card-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.btn-icon-danger{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;line-height:1;opacity:.5;padding:.3rem;transition:all .15s}.btn-icon-danger:hover{background:#eff6ff;background:var(--info-bg);opacity:1}.child-card-clickable{flex:1 1;min-width:0}.child-card-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:.5rem;margin-top:.6rem;padding-top:.6rem}.btn-action-danger{background:none;border:1px solid #fecaca;border:1px solid var(--danger-border);border-radius:6px;border-radius:var(--radius-sm);color:#dc2626;color:var(--danger);cursor:pointer;font-size:.78rem;font-weight:600;padding:.4rem .75rem;transition:all .15s;white-space:nowrap}.btn-action-danger:hover{background:#fef2f2;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger)}.btn-action-move{background:none;border:1px solid #bfdbfe;border:1px solid var(--info-border);border-radius:6px;border-radius:var(--radius-sm);color:#2563eb;color:var(--info);cursor:pointer;font-size:.78rem;font-weight:600;padding:.4rem .75rem;transition:all .15s;white-space:nowrap}.btn-action-move:hover{background:#eff6ff;background:var(--info-bg);border-color:#2563eb;border-color:var(--info)}.empty-state{color:#94a3b8;color:var(--text-muted);font-size:.95rem;line-height:1.6;padding:2.5rem 1rem;text-align:center}.period-selector{display:flex;gap:.5rem}.period-option{background:#fff;background:var(--surface);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#64748b;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;font-weight:600;padding:.7rem;text-align:center;transition:all .15s}.period-option:hover{border-color:#cbd5e1}.period-option.selected{background:#f0fdf4;border-color:#16a34a;border-color:var(--primary);color:#16a34a;color:var(--primary)}.progress-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem}.progress-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:1rem}.progress-card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.6rem}.progress-period-badge{border-radius:100px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;padding:.2rem .65rem;white-space:nowrap}.progress-period-badge.week{background:#eff6ff;background:var(--info-bg);color:#2563eb;color:var(--info)}.progress-period-badge.month{background:#faf5ff;color:#7c3aed}.progress-card-date{color:#94a3b8;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.progress-card-description{color:#1e293b;color:var(--text);font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.trainer-status-summary{align-items:center;border-radius:10px;border-radius:var(--radius);display:flex;font-size:.82rem;font-weight:500;gap:.5rem;margin-bottom:.25rem;margin-top:.75rem;padding:.6rem .85rem}.trainer-status-summary.success{background:#ecfdf5;background:var(--success-bg);border:1px solid #a7f3d0;border:1px solid var(--success-border);color:#059669;color:var(--success)}.trainer-status-summary.warning{background:#fffbeb;background:var(--warning-bg);border:1px solid #fde68a;border:1px solid var(--warning-border);color:#d97706;color:var(--warning)}.trainer-status-summary.default{background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);color:#94a3b8;color:var(--text-muted)}.trainer-status-icon{flex-shrink:0;font-size:.9rem}.child-card-stats{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.2rem}.child-card-progress-count{color:#94a3b8!important;color:var(--text-muted)!important;font-size:.75rem!important}.cal-header-row{justify-content:space-between}.cal-header-row,.cal-icon-btn{align-items:center;display:flex}.cal-icon-btn{background:none;border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#0f172a;color:var(--dark);cursor:pointer;flex-shrink:0;justify-content:center;min-height:44px;min-width:44px;padding:.4rem;transition:all .15s}.cal-icon-btn:hover{background:#eff6ff;background:var(--info-bg);border-color:#2563eb;border-color:var(--info);color:#2563eb;color:var(--info);transform:scale(1.05)}.cal-icon-btn:active{transform:scale(.97)}.cal-page-header{margin-bottom:1rem}.cal-page-header h2{font-size:1.25rem;font-weight:700}.cal-widget{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);margin-bottom:1.25rem;padding:1rem}.cal-nav{justify-content:space-between;margin-bottom:.75rem}.cal-nav,.cal-nav-btn{align-items:center;display:flex}.cal-nav-btn{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:1.3rem;height:36px;justify-content:center;transition:background .15s,color .15s;width:36px}.cal-nav-btn:hover{background:#f8fafc;background:var(--bg);color:#1e293b;color:var(--text)}.cal-month-label{color:#1e293b;color:var(--text);font-size:.95rem;font-weight:700;-webkit-user-select:none;user-select:none}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.2rem}.cal-weekday{color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.25rem 0;text-align:center;text-transform:uppercase;-webkit-user-select:none;user-select:none}.cal-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);justify-items:center}.cal-day{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:2px solid #0000;border-radius:50%;box-sizing:border-box;color:#1e293b;color:var(--text);cursor:pointer;display:flex;font-family:inherit;height:40px;justify-content:center;padding:0;position:relative;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;width:40px}.cal-day:hover{background:#0000000a;transform:scale(1.08)}.cal-day:active{transform:scale(.95)}.cal-day--outside{color:#94a3b8;color:var(--text-muted);cursor:default;opacity:.35}.cal-day--outside:hover{background:none;transform:none}.cal-day--has-events{border-color:#0f172a;border-color:var(--dark);font-weight:500}.cal-day--has-events:hover{background:#0f172a14}.cal-day--today{border-color:#e2e8f0;border-color:var(--border);font-weight:700}.cal-day--today,.cal-day--today .cal-day-number{color:#16a34a;color:var(--primary)}.cal-day--today.cal-day--has-events{background:#16a34a;background:var(--primary);border-color:#16a34a;border-color:var(--primary)}.cal-day--today.cal-day--has-events .cal-day-number{color:#fff}.cal-day--today.cal-day--has-events:hover{background:#15803d;background:var(--primary-hover);border-color:#15803d;border-color:var(--primary-hover)}.cal-day-number{font-size:.85rem;line-height:1}.cal-month-events{margin-top:.5rem}.cal-events-list{display:flex;flex-direction:column;gap:.5rem}.cal-event-card{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem;transition:all .15s}.cal-event-card.clickable{cursor:pointer}.cal-event-card.clickable:hover{border-color:#0f172a;border-color:var(--dark);box-shadow:0 2px 12px #0000000f}.cal-event-card-left{align-items:center;display:flex;flex-direction:column;min-width:36px}.cal-event-day{color:#0f172a;color:var(--dark);font-size:1.1rem;font-weight:700;line-height:1.2}.cal-event-weekday{color:#94a3b8;color:var(--text-muted);font-size:.65rem;font-weight:600;text-transform:uppercase}.cal-event-card-right{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cal-event-title{color:#1e293b;color:var(--text);font-size:.92rem;font-weight:600}.cal-event-info{color:#64748b;color:var(--text-secondary);font-size:.8rem}.cal-detail-modal,.cal-form-modal{max-width:440px;width:100%}.cal-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.cal-modal-close{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.2rem .4rem;transition:all .15s}.cal-modal-close:hover{background:#f8fafc;background:var(--bg);color:#1e293b;color:var(--text)}.cal-modal-date{color:#64748b;color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.cal-detail-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.cal-detail-item{background:#f8fafc;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);padding:.75rem;transition:all .15s}.cal-detail-item.clickable{cursor:pointer}.cal-detail-item.clickable:hover{background:#e2e8f0;background:var(--border)}.cal-detail-title{color:#1e293b;color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:.2rem}.cal-detail-info{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.82rem;gap:.4rem}.btn-delete-event{background:none;border:1px solid #fecaca;border:1px solid var(--danger-border);border-radius:10px;border-radius:var(--radius);color:#dc2626;color:var(--danger);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;margin-top:1rem;padding:.7rem;transition:all .15s;width:100%}.btn-delete-event:hover{background:#fef2f2;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger)}.form-group input[type=time]{background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .15s;width:100%}.form-group input[type=time]:focus{border-color:#16a34a;border-color:var(--primary);box-shadow:0 0 0 3px #16a34a26;outline:none}@media (max-width:600px){.cal-day{height:36px;width:36px}.cal-day-number{font-size:.82rem}.cal-detail-modal,.cal-form-modal{margin:.5rem;max-width:calc(100% - 1rem)}.cal-nav-btn{height:44px;width:44px}}
/*# sourceMappingURL=main.dab1d14f.css.map*/