@import url(https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Oxygen:wght@400;700&display=swap);:root{--color-primary:#1abc9c;--color-primary-dark:#16a085;--color-primary-light:#48c9b0;--color-primary-hover:#16a085;--color-secondary:#6c757d;--color-secondary-dark:#545b62;--color-secondary-light:#868e96;--color-success:#28a745;--color-success-dark:#218838;--color-success-light:#d4edda;--color-danger:#dc3545;--color-danger-dark:#c82333;--color-danger-light:#f8d7da;--color-warning:#ffc107;--color-warning-dark:#e0a800;--color-warning-light:#fff3cd;--color-info:#17a2b8;--color-info-dark:#117a8b;--color-info-light:#d1ecf1;--color-white:#fff;--color-gray-50:#f9f9f9;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#ccc;--color-gray-500:#999;--color-gray-600:#666;--color-gray-700:#444;--color-gray-800:#333;--color-gray-900:#222;--color-black:#000;--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#e8ecf1;--bg-hover:#f0f0f0;--bg-disabled:#e8e8e8;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--text-disabled:#ccc;--text-inverse:#fff;--border-color:#ddd;--border-color-light:#e0e0e0;--border-color-dark:#ccc;--border-color-focus:#0078d7;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 6px #00000026;--shadow-lg:0 4px 12px #0003;--shadow-xl:0 10px 40px #00000040;--color-student-bg:#f0f0f0;--color-student-unavailable:#f8d7da;--color-cell-warning:#ffc107;--color-coach-header-start:#0078d7;--color-coach-header-end:#005a9e;--space-0:0;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--space-5xl:48px;--radius-none:0;--radius-sm:3px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-full:50%;--font-xs:11px;--font-sm:12px;--font-base:14px;--font-md:15px;--font-lg:16px;--font-xl:18px;--font-2xl:20px;--font-3xl:24px;--font-4xl:28px;--font-5xl:32px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--z-index-base:1;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--z-index-max:10000;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-all:all 0.2s ease;--breakpoint-mobile:480px;--breakpoint-tablet:720px;--breakpoint-desktop:1024px;--breakpoint-wide:1280px;--max-width-content:1200px;--sidebar-width:250px;--header-height:60px;--input-height:38px;--input-height-sm:32px;--input-height-lg:44px;--input-padding-x:12px;--input-padding-y:8px;--input-border-width:1px;--input-border-radius:var(--radius-md);--button-height:38px;--button-height-sm:32px;--button-height-lg:44px;--button-padding-x:20px;--button-padding-y:10px;--button-border-radius:var(--radius-md)}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-rendering:optimizeLegibility}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-base);line-height:var(--line-height-normal);margin:0;overflow-x:hidden;padding:0}#root,body{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Helvetica,Arial,sans-serif;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--space-md) 0}h1{font-size:var(--font-4xl)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base)}p{line-height:var(--line-height-normal);margin:0 0 var(--space-md) 0}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}ol,ul{margin:0 0 var(--space-md) 0;padding-left:var(--space-2xl)}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}li{margin-bottom:var(--space-xs)}code,pre{background-color:var(--color-gray-100);border-radius:var(--radius-sm);font-family:Courier New,Courier,monospace;font-size:.9em;padding:2px 6px}pre{word-wrap:break-word;overflow-x:auto;padding:var(--space-md);white-space:pre-wrap}img{display:block;height:auto;max-width:100%}table{border-collapse:collapse;margin-bottom:var(--space-lg);width:100%}td,th{border-bottom:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);text-align:left}th{background-color:var(--bg-secondary);color:var(--text-primary);font-weight:var(--font-weight-semibold)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background-color:var(--bg-secondary)}::-webkit-scrollbar-thumb{background-color:var(--color-gray-400);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-500)}::selection{background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:var(--color-primary);color:#fff}.container{margin:0 auto;max-width:var(--max-width-content)}.container,.container-fluid{padding:0 var(--space-lg);width:100%}.container-narrow{max-width:800px}.container-wide{max-width:1400px}.dashboard{background-color:var(--bg-secondary)}.dashboard-sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-color);flex-shrink:0;padding:var(--space-xl);width:var(--sidebar-width)}.dashboard-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.dashboard-header{align-items:center;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;height:var(--header-height);justify-content:space-between;padding:var(--space-lg) var(--space-2xl)}.dashboard-header h1{color:var(--text-primary);font-size:var(--font-3xl);font-weight:var(--font-weight-semibold);margin:0}.dashboard-header-content{gap:var(--space-lg);margin:0 auto;max-width:var(--max-width-content);width:100%}.dashboard-nav{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 var(--space-2xl)}.dashboard-nav-content{gap:var(--space-2xl);margin:0 auto;max-width:var(--max-width-content)}.nav-item{color:var(--text-secondary);font-weight:var(--font-weight-semibold);padding:var(--space-lg) 0;text-decoration:none;transition:var(--transition-all)}.nav-item.active,.nav-item:hover{color:var(--color-primary)}.nav-item.active{border-bottom-color:var(--color-primary)}.dashboard-content{flex:1 1;margin:0 auto;max-width:var(--max-width-content);padding:var(--space-2xl);width:100%}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-lg) var(--space-xl)}.card-header h2,.card-header h3{color:var(--text-primary);font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin:0}.card-body{padding:var(--space-xl)}.card-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-lg) var(--space-xl)}.grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-gap-sm{gap:var(--space-sm)}.flex-gap-md{gap:var(--space-md)}.flex-gap-lg{gap:var(--space-lg)}.page-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg)}.page-header h1{color:var(--text-primary);font-size:var(--font-4xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-sm) 0}.page-header p{color:var(--text-secondary);font-size:var(--font-md);margin:0}.page-header-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.section{margin-bottom:var(--space-3xl)}.section-header{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-xl);padding-bottom:var(--space-md)}.section-header h2{color:var(--text-primary);font-size:var(--font-2xl);font-weight:var(--font-weight-semibold);margin:0}.section-content{padding:var(--space-lg) 0}.empty-state{color:var(--text-secondary);padding:var(--space-5xl) var(--space-2xl)}.empty-state-icon{font-size:var(--font-5xl);margin-bottom:var(--space-lg);opacity:.5}.empty-state h3{color:var(--text-primary);font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.empty-state p{margin-bottom:var(--space-xl);margin-left:auto;margin-right:auto;max-width:400px}@media (max-width:1024px){.dashboard{flex-direction:column}.dashboard-sidebar{border-bottom:1px solid var(--border-color);border-right:none;width:100%}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.container,.container-fluid{padding:0 var(--space-md)}.dashboard-content,.dashboard-header,.dashboard-nav{padding:var(--space-md)}.dashboard-header h1{font-size:var(--font-xl)}.dashboard-nav-content{gap:var(--space-lg);overflow-x:auto}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-header h1{font-size:var(--font-2xl)}.card-body{padding:var(--space-lg)}}.auth-form,.form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row{grid-gap:var(--space-lg);gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-field,.form-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.form-field:last-child,.form-group:last-child{margin-bottom:0}.form-field label,.form-group label,.form-label{color:var(--text-primary);font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.form-group label.required:after,.form-label.required:after{color:var(--color-danger);content:" *"}.form-label-inline{align-items:center;display:flex;gap:var(--space-sm)}.form-field input,.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text],.form-group input[type=url],.form-input{background-color:var(--bg-primary);border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);font-size:var(--font-base);line-height:var(--line-height-normal);outline:none;padding:var(--input-padding-y) var(--input-padding-x);transition:var(--transition-all);width:100%}.form-field input:focus,.form-group input:focus,.form-input:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field input:disabled,.form-group input:disabled,.form-input:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-field input::placeholder,.form-group input::placeholder,.form-input::placeholder{color:var(--text-tertiary)}.form-field select,.form-group select,.form-select{-webkit-appearance:none;appearance:none;background-color:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);cursor:pointer;font-size:var(--font-base);line-height:var(--line-height-normal);outline:none;padding:var(--input-padding-y) var(--input-padding-x);padding-right:36px;transition:var(--transition-all);width:100%}.form-field select:focus,.form-group select:focus,.form-select:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field select:disabled,.form-group select:disabled,.form-select:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-field textarea,.form-group textarea,.form-textarea{background-color:var(--bg-primary);border:var(--input-border-width) solid var(--border-color);border-radius:var(--input-border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--font-base);line-height:var(--line-height-normal);min-height:80px;outline:none;padding:var(--input-padding-y) var(--input-padding-x);resize:vertical;transition:var(--transition-all);width:100%}.form-field textarea:focus,.form-group textarea:focus,.form-textarea:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px #0078d71a}.form-field textarea:disabled,.form-group textarea:disabled,.form-textarea:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.form-check{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm)}.form-check input[type=checkbox],.form-check input[type=radio]{cursor:pointer;height:18px;width:18px}.form-check label{cursor:pointer;font-weight:var(--font-weight-normal);margin-bottom:0}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input[type=checkbox]{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--color-gray-400);border-radius:var(--radius-full);bottom:0;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:var(--transition-base)}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.error-message,.form-error{background-color:var(--color-danger-light);border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger-dark);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-field.has-error input,.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--color-danger)}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #dc35451a}.form-success,.success-message{background-color:var(--color-success-light);border-left:4px solid var(--color-success);border-radius:var(--radius-sm);color:var(--color-success-dark);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-group.has-success input,.form-group.has-success select,.form-group.has-success textarea{border-color:var(--color-success)}.form-warning,.warning-message{background-color:var(--color-warning-light);border-left:4px solid var(--color-warning);color:var(--color-gray-900)}.form-info,.form-warning,.info-message,.warning-message{border-radius:var(--radius-sm);display:block;font-size:var(--font-sm);margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md)}.form-info,.info-message{background-color:var(--color-info-light);border-left:4px solid var(--color-info);color:var(--color-info-dark)}.form-help,.help-text{color:var(--text-secondary);display:block;font-size:var(--font-sm);margin-top:var(--space-xs)}.form-actions{border-top:1px solid var(--border-color);gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg)}.form-actions.right{justify-content:flex-end}.form-actions.center{justify-content:center}.form-actions.between{justify-content:space-between}@media (max-width:720px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.btn{border:var(--input-border-width) solid #0000;border-radius:var(--button-border-radius);display:inline-block;font-size:var(--font-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);outline:none;padding:var(--button-padding-y) var(--button-padding-x);text-decoration:none;transition:var(--transition-all);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled{background-color:var(--bg-disabled);border-color:var(--border-color);color:var(--text-disabled)}.btn-secondary{background-color:initial;border-color:var(--border-color-dark);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--text-secondary)}.btn-secondary:active:not(:disabled){background-color:var(--color-gray-300)}.btn-secondary:disabled{background-color:initial;border-color:var(--border-color-light);color:var(--text-disabled)}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success:active:not(:disabled){background-color:var(--color-success-dark);transform:translateY(0)}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){background-color:var(--color-danger-dark);transform:translateY(0)}.btn-warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-gray-900)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark);border-color:var(--color-warning-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning:active:not(:disabled){background-color:var(--color-warning-dark);transform:translateY(0)}.btn-cancel{background-color:var(--color-gray-400);border-color:var(--color-gray-400);color:var(--text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--color-gray-500);border-color:var(--color-gray-500)}.btn-cancel:active:not(:disabled){background-color:var(--color-gray-600)}.btn-text{background-color:initial;border-color:#0000;color:var(--color-primary);padding:var(--space-sm) var(--space-md)}.btn-text:hover:not(:disabled){background-color:initial;color:var(--color-primary-dark)}.btn-link{background-color:initial;border-color:#0000;color:var(--color-primary);padding:var(--space-sm) var(--space-md);text-decoration:none}.btn-link:hover:not(:disabled){color:var(--color-primary-dark);text-decoration:underline}.btn-sm,.btn-small{font-size:var(--font-sm);height:var(--button-height-sm);padding:6px 12px}.btn-large,.btn-lg{font-size:var(--font-lg);height:var(--button-height-lg);padding:12px 24px}.btn-block{display:block;width:100%}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.btn-group .btn{flex:0 0 auto}.btn-icon{align-items:center;display:inline-flex;height:var(--button-height);justify-content:center;padding:var(--space-sm);width:var(--button-height)}.btn-icon.btn-sm,.btn-icon.btn-small{height:var(--button-height-sm);width:var(--button-height-sm)}.btn-icon.btn-large,.btn-icon.btn-lg{height:var(--button-height-lg);width:var(--button-height-lg)}.btn-with-icon{align-items:center;display:inline-flex;gap:var(--space-sm)}.btn-save{background-color:var(--color-success);border-color:var(--color-success);color:var(--text-inverse)}.btn-save:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);box-shadow:var(--shadow-md)}.btn-delete,.delete-button{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--text-inverse)}.btn-delete:hover:not(:disabled),.delete-button:hover:not(:disabled){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:var(--shadow-md)}.btn-edit{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn-edit:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-close,.close-button{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-2xl);line-height:1;padding:var(--space-sm);transition:var(--transition-base)}.btn-close:hover,.close-button:hover{background-color:var(--bg-hover);border-radius:var(--radius-md);color:var(--text-primary)}@media (max-width:720px){.btn{font-size:var(--font-sm);padding:var(--space-sm) var(--space-md)}.btn-sm,.btn-small{font-size:var(--font-xs);padding:var(--space-xs) var(--space-sm)}.btn-large,.btn-lg{font-size:var(--font-base);padding:var(--space-md) var(--space-lg)}}.modal-overlay{animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;height:100%;padding:var(--space-lg);width:100%;z-index:var(--z-index-modal-backdrop)}.modal-overlay.clickable{cursor:pointer}.modal-overlay .modal-content{cursor:default}.modal-content{animation:slideIn var(--transition-slow);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;position:relative;z-index:var(--z-index-modal)}.modal-content.modal-sm{max-width:400px}.modal-content.modal-lg{max-width:800px}.modal-content.modal-xl{max-width:1000px}.modal-content.modal-fullscreen{border-radius:0;height:100%;max-height:100%;max-width:100%}.modal-header{border-bottom:1px solid var(--border-color);padding:var(--space-xl) var(--space-2xl)}.modal-header h2,.modal-header h3{color:var(--text-primary);font-size:var(--font-3xl);font-weight:var(--font-weight-semibold);margin:0}.modal-header .close-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-4xl);height:32px;justify-content:center;line-height:1;padding:0;transition:var(--transition-base);width:32px}.modal-header .close-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.modal-body{color:var(--text-primary);padding:var(--space-2xl)}.modal-body p{line-height:var(--line-height-normal);margin:0 0 var(--space-md) 0}.modal-body p:last-child{margin-bottom:0}.modal-body.scrollable{max-height:400px;overflow-y:auto}.modal-actions,.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-xl) var(--space-2xl)}.modal-actions.center,.modal-footer.center{justify-content:center}.modal-actions.between,.modal-footer.between{justify-content:space-between}.dialog{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;padding:var(--space-2xl);width:100%}.dialog h2,.dialog h3{font-size:var(--font-2xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-lg) 0}.dialog-buttons{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.dialog-buttons button{min-width:100px}.confirmation-dialog{text-align:center}.confirmation-dialog .icon{font-size:var(--font-5xl);margin-bottom:var(--space-lg)}.confirmation-dialog .icon.danger{color:var(--color-danger)}.confirmation-dialog .icon.warning{color:var(--color-warning)}.confirmation-dialog .icon.success{color:var(--color-success)}.confirmation-dialog .icon.info{color:var(--color-info)}.confirmation-dialog h3{margin-bottom:var(--space-md)}.confirmation-dialog p{color:var(--text-secondary);margin-bottom:var(--space-xl)}.confirmation-dialog .dialog-buttons{justify-content:center}.alert{align-items:flex-start;border-left:4px solid;border-radius:var(--radius-md);display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg)}.alert-icon{flex-shrink:0;font-size:var(--font-xl)}.alert-content{flex:1 1}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.alert-message{font-size:var(--font-sm);line-height:var(--line-height-normal)}.alert.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert.alert-danger,.alert.alert-error{background-color:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger-dark)}.alert.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-gray-900)}.alert.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-dismissible{padding-right:var(--space-4xl);position:relative}.alert-dismissible .close-button{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--font-xl);opacity:.6;position:absolute;right:var(--space-md);top:var(--space-md);transition:var(--transition-base)}.alert-dismissible .close-button:hover{opacity:1}.toast-container{display:flex;flex-direction:column;gap:var(--space-md);pointer-events:none;position:fixed;right:var(--space-xl);top:var(--space-xl);z-index:var(--z-index-max)}.toast{animation:slideInRight var(--transition-slow);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;min-width:300px;padding:var(--space-lg);pointer-events:all}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast.toast-success{border-left:4px solid var(--color-success)}.toast.toast-danger,.toast.toast-error{border-left:4px solid var(--color-danger)}.toast.toast-warning{border-left:4px solid var(--color-warning)}.toast.toast-info{border-left:4px solid var(--color-info)}@media (max-width:720px){.modal-overlay{padding:var(--space-md)}.modal-content{max-width:100%}.modal-body,.modal-footer,.modal-header{padding:var(--space-lg)}.modal-header h2,.modal-header h3{font-size:var(--font-xl)}.dialog-buttons,.modal-actions,.modal-footer{flex-direction:column}.dialog-buttons .btn,.modal-actions .btn,.modal-footer .btn{width:100%}.toast-container{left:var(--space-md);right:var(--space-md);top:var(--space-md)}.toast{max-width:100%}}.loading-container{color:var(--text-secondary);min-height:200px;padding:var(--space-3xl)}.loading-container.fullscreen{background-color:var(--bg-secondary);min-height:100vh}.loading-container p{color:var(--text-secondary);font-size:var(--font-md);margin-top:var(--space-lg)}.spinner{border:4px solid var(--color-gray-300);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:48px;width:48px}.spinner-sm{border-width:3px;height:24px;width:24px}.spinner-lg{border-width:5px;height:64px;width:64px}.spinner-success{border-top-color:var(--color-success)}.spinner-danger{border-top-color:var(--color-danger)}.spinner-warning{border-top-color:var(--color-warning)}.spinner-white{border-color:#fff #ffffff4d #ffffff4d}.btn .spinner-inline{animation:spin .8s linear infinite;border:2px solid;border-radius:var(--radius-full);border-top:2px solid #0000;display:inline-block;height:16px;margin-right:var(--space-sm);vertical-align:middle;width:16px}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#ffffffe6;bottom:0;display:flex;flex-direction:column;gap:var(--space-lg);justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.loading-overlay.dark{background-color:#000000b3;color:#fff}.loading-overlay p{color:var(--text-primary);font-size:var(--font-lg);font-weight:var(--font-weight-medium)}.loading-overlay.dark p{color:#fff}.generating-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-modal)}.generating-overlay .spinner{border-color:#fff #ffffff4d #ffffff4d;border-width:5px;height:60px;margin-bottom:var(--space-xl);width:60px}.generating-overlay p{color:#fff;font-size:var(--font-xl);font-weight:var(--font-weight-semibold);margin:0}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-300) 50%,var(--color-gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:var(--radius-sm);height:16px;margin-bottom:var(--space-sm)}.skeleton-title{border-radius:var(--radius-sm);height:24px;margin-bottom:var(--space-md);width:60%}.skeleton-paragraph{border-radius:var(--radius-sm);height:14px;margin-bottom:var(--space-xs)}.skeleton-paragraph:last-child{width:80%}.skeleton-avatar{border-radius:var(--radius-full);height:48px;width:48px}.skeleton-card{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl)}.progress{background-color:var(--color-gray-200);height:8px;overflow:hidden;width:100%}.progress,.progress-bar{border-radius:var(--radius-md)}.progress-bar{background-color:var(--color-primary);height:100%;transition:width var(--transition-slow)}.progress-bar.progress-success{background-color:var(--color-success)}.progress-bar.progress-danger{background-color:var(--color-danger)}.progress-bar.progress-warning{background-color:var(--color-warning)}.progress-bar.indeterminate{animation:indeterminate 1.5s infinite;width:30%}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.dots-loader{align-items:center;display:flex;gap:var(--space-sm);justify-content:center}.dots-loader .dot{animation:bounce 1.4s ease-in-out infinite both;background-color:var(--color-primary);border-radius:var(--radius-full);height:12px;width:12px}.dots-loader .dot:first-child{animation-delay:-.32s}.dots-loader .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.is-loading{opacity:.6;pointer-events:none;position:relative}.is-loading:after{animation:spin .8s linear infinite;border:3px solid var(--color-gray-300);border-radius:var(--radius-full);border-top-color:var(--color-primary);content:"";height:24px;left:50%;margin:-12px 0 0 -12px;position:absolute;top:50%;width:24px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){body{font-size:16px}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mondo-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0;width:100%}.mondo-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}@media (max-width:979px){.mondo-footer-content{width:90%}}@media (max-width:600px){.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.kontakt-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.kontakt-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.kontakt-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.kontakt-header-wrapper{background:#fff}.kontakt-header{justify-content:space-between;padding:2rem 0}.kontakt-header,.kontakt-nav{align-items:center;display:flex}.kontakt-nav{gap:2rem}.kontakt-nav a,.kontakt-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.kontakt-nav a:hover{color:#4b4950}.kontakt-nav .nav-active{color:#4b4950;font-weight:700}.kontakt-content{padding:0;text-align:center}.kontakt-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.kontakt-intro{padding:45px 0 0;text-align:center}.kontakt-intro p{color:#717b87;font-size:14px;margin:0}.kontakt-details{padding:45px 0;text-align:center}.kontakt-details p{color:#717b87;font-size:14px;line-height:1.6;margin:.5rem 0}.kontakt-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.kontakt-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.footer-links a{color:#fff;font-size:12px;text-decoration:none}@media (max-width:979px){.kontakt-container,.kontakt-footer-content{width:90%}.kontakt-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.kontakt-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.kontakt-nav a,.kontakt-nav span{font-size:11px}.kontakt-title{font-size:1.5rem}.kontakt-details{padding:30px 0}.mondo-logo img{max-width:200px}}@media (max-width:600px){.kontakt-intro{padding:30px 0 0}.kontakt-details{padding:30px 0}.kontakt-nav{gap:.5rem}.kontakt-nav a,.kontakt-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.impressum-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.impressum-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.impressum-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.impressum-header-wrapper{background:#fff}.impressum-header{align-items:center;display:flex;justify-content:space-between;padding:2rem 0}.impressum-nav{align-items:center;display:flex;gap:2rem}.impressum-nav a,.impressum-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.impressum-nav a:hover{color:#4b4950}.impressum-nav .nav-active{color:#4b4950;font-weight:700}.impressum-content{padding:0;text-align:center}.impressum-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.impressum-details{padding:45px 0;text-align:center}.impressum-details p{color:#717b87;font-size:14px;line-height:1.6;margin:.5rem 0}.legal-info{margin-top:1rem}.legal-info strong{color:#717b87;font-weight:700}.contact-methods{margin-top:1rem}.contact-methods strong{color:#717b87;font-weight:700}.contact-methods a{color:#1abc9c;text-decoration:none;transition:color .2s}.contact-methods a:hover{color:#16a085}.image-credit{color:#717b87;font-size:13px;margin-top:1.5rem}.impressum-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.impressum-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.footer-links .nav-active,.footer-links a{color:#fff;font-size:12px;text-decoration:none;transition:opacity .2s}.footer-links span{color:#fff9}@media (max-width:979px){.impressum-container,.impressum-footer-content{width:90%}.impressum-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.impressum-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.impressum-nav a,.impressum-nav span{font-size:11px}.impressum-title{font-size:1.5rem}.impressum-details{padding:30px 0}.mondo-logo img{max-width:200px}}@media (max-width:600px){.impressum-details{padding:30px 0}.impressum-nav{gap:.5rem}.impressum-nav a,.impressum-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.agbs-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.agbs-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.agbs-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.agbs-header-wrapper{background:#fff}.agbs-header{justify-content:space-between;padding:2rem 0}.agbs-header,.agbs-nav{align-items:center;display:flex}.agbs-nav{gap:2rem}.agbs-nav a,.agbs-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.agbs-nav a:hover{color:#4b4950}.agbs-nav .nav-active{color:#4b4950;font-weight:700}.agbs-content{padding:45px 0;text-align:left}.agbs-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.034em;margin:0 0 2rem;text-align:center;text-transform:uppercase}.agbs-text{margin:0 auto;max-width:800px;padding:0 1rem}.agbs-text section{margin-bottom:2rem}.agbs-text h2{color:#4b4950;font-family:Lato,sans-serif;font-size:1.2rem;font-weight:700;margin:1.5rem 0 1rem}.agbs-text p{color:#717b87;font-size:14px;line-height:1.8;margin:.75rem 0;text-align:justify}.agbs-text ol,.agbs-text ul{margin:1rem 0 1rem 2rem;padding:0}.agbs-text li{color:#717b87;font-size:14px;line-height:1.8;margin:.5rem 0}.agbs-text strong{color:#4b4950;font-weight:700}.agbs-footer-note{border-top:1px solid #717b8733;margin-top:3rem;padding-top:2rem;text-align:center}.agbs-footer-note p{text-align:center}.agbs-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.agbs-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.attribution{color:#fffc;font-size:12px;font-style:italic;margin:0}.footer-links a,.footer-links span{transition:opacity .2s}.footer-links .nav-active{font-weight:700;opacity:1}.footer-links>span:not(.nav-active){color:#fff9}@media (max-width:979px){.agbs-container,.agbs-footer-content{width:90%}.agbs-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.agbs-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.agbs-nav a,.agbs-nav span{font-size:11px}.agbs-title{font-size:1.5rem}.agbs-content{padding:30px 0}.agbs-text{padding:0 .5rem}.mondo-logo img{max-width:200px}}@media (max-width:600px){.agbs-title{font-size:1.25rem;letter-spacing:-.02em}.agbs-text h2{font-size:1rem}.agbs-text li,.agbs-text p{font-size:13px;text-align:left}.agbs-nav{gap:.5rem}.agbs-nav a,.agbs-nav span{font-size:10px}.social-links{gap:1rem}.footer-links,.footer-links a,.footer-links span{font-size:10px}}.datenschutz-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.datenschutz-yellow-bar{background-color:#ffc53b;height:5px;margin:0;padding:0}.datenschutz-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.datenschutz-header-wrapper{background:#fff}.datenschutz-header{align-items:center;display:flex;justify-content:space-between;padding:2rem 0}.mondo-logo img{height:auto;max-width:250px}.datenschutz-nav{align-items:center;display:flex;gap:2rem}.datenschutz-nav a,.datenschutz-nav span{color:#717b87;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.datenschutz-nav a:hover{color:#4b4950}.datenschutz-nav .nav-active{color:#4b4950;font-weight:700}.datenschutz-breadcrumb{background:#f8f9fa;border-bottom:1px solid #e0e0e0;margin:0;padding:1rem 0}.datenschutz-breadcrumb a{color:#1abc9c;font-size:14px;text-decoration:none}.datenschutz-breadcrumb a:hover{color:#16a085}.datenschutz-breadcrumb .delimiter{color:#717b87;margin:0 .5rem}.datenschutz-breadcrumb .current{color:#717b87;font-size:14px}.datenschutz-content{padding:2rem 0 4rem}.datenschutz-main-title{color:#4b4950;font-family:Lato,sans-serif;font-size:2rem;font-weight:300;letter-spacing:-.019em;margin:2rem 0;text-align:left;text-transform:uppercase}.datenschutz-legal-content{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;line-height:1.7;padding:3rem}.datenschutz-legal-content h2{border-top:1px solid #e0e0e0;color:#4b4950;font-family:Lato,sans-serif;font-size:1.5rem;font-weight:300;letter-spacing:-.027em;margin:2rem 0 1rem;padding-top:1rem;text-transform:uppercase}.datenschutz-legal-content h2:first-of-type{border-top:none;margin-top:0;padding-top:0}.datenschutz-legal-content p{color:#717b87;font-size:14px;line-height:1.7;margin:1rem 0}.datenschutz-legal-content ul{list-style-type:disc;margin:1rem 0;padding-left:2rem}.datenschutz-legal-content li{color:#717b87;font-size:14px;line-height:1.7;margin:.5rem 0}.datenschutz-legal-content a{color:#1abc9c;text-decoration:none;transition:color .2s;word-break:break-word}.datenschutz-legal-content a:hover{color:#16a085;text-decoration:underline}.datenschutz-legal-content .attribution{border-top:1px solid #e0e0e0;color:#717b87;font-size:12px;font-style:italic;margin-top:2rem;padding-top:1rem}.datenschutz-footer{background-color:#ffc53b;margin-top:2rem;padding:2rem 0}.datenschutz-footer-content{margin:0 auto;max-width:1000px;text-align:center;width:86%}.social-links{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.social-links a{align-items:center;background:#fff3;border-radius:50%;color:#fff;display:inline-flex;height:40px;justify-content:center;text-decoration:none;transition:background .2s,transform .2s;width:40px}.social-links a:hover{background:#ffffff4d;transform:scale(1.1)}.social-icon{fill:currentColor;height:20px;width:20px}.footer-text{margin-bottom:1rem}.copyright{color:#fff;font-size:14px;margin:0 0 .5rem}.copyright,.copyright br{line-height:1.8}.attribution-footer{color:#fffc;font-size:12px;font-style:italic;margin:0}.footer-links{border-top:1px solid #fff3;margin-top:1rem;padding-top:1rem}.footer-links a,.footer-links span{color:#fff;font-size:12px;text-decoration:none}.footer-links a{transition:opacity .2s}.footer-links a:hover{opacity:.8}.footer-links .current-page{color:#fff;font-weight:700;opacity:.9}.footer-links>span{color:#fff9}@media (max-width:979px){.datenschutz-container,.datenschutz-footer-content{width:90%}.datenschutz-header{flex-direction:column;gap:1.5rem;padding:1.5rem 0}.datenschutz-nav{flex-wrap:wrap;gap:1rem;justify-content:center}.datenschutz-nav a,.datenschutz-nav span{font-size:11px}.datenschutz-main-title{font-size:1.5rem}.datenschutz-legal-content{padding:2rem 1.5rem}.datenschutz-legal-content h2{font-size:1.25rem}.mondo-logo img{max-width:200px}}@media (max-width:600px){.datenschutz-legal-content{padding:1.5rem 1rem}.datenschutz-nav{gap:.5rem}.datenschutz-nav a,.datenschutz-nav span{font-size:10px}.datenschutz-main-title{font-size:1.25rem}.datenschutz-legal-content h2{font-size:1.1rem}.datenschutz-legal-content li,.datenschutz-legal-content p{font-size:13px}.social-links{gap:1rem}.footer-links,.footer-links a,.footer-links span{font-size:10px}}.schedule-container{margin:0 auto;max-width:800px;padding:20px}.schedule-header{align-items:center;color:#2c5282;display:flex;gap:15px;margin-bottom:30px}.schedule-header h2{font-size:28px;margin:0}.loading-schedule{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-schedule p{color:#666;font-size:16px;margin-top:20px}.schedule-error{background:#fee;border-left:4px solid #c33;border-radius:8px;padding:30px;text-align:center}.schedule-error p{color:#c33;font-size:16px;margin-bottom:20px}.schedule-empty{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:60px 30px;text-align:center}.schedule-empty p{color:#666;font-size:16px;margin-top:20px}.student-info-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px;padding:25px}.student-info-card h3{color:#2c5282;font-size:22px;margin:0 0 15px}.info-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.info-text{color:#666;font-size:14px;margin:10px 0 0}.schedule-list{margin-bottom:30px}.schedule-list h3{color:#333;font-size:20px;margin-bottom:20px}.schedule-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:15px;overflow:hidden;transition:transform .3s,box-shadow .3s}.schedule-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.schedule-card-header{align-items:center;background:linear-gradient(135deg,#1abc9c,#16a085);color:#fff;display:flex;gap:15px;padding:20px}.day-icon{font-size:32px}.course-title{flex:1 1}.course-title h4{font-size:20px;font-weight:600;margin:0 0 8px}.course-time{align-items:center;display:flex;font-size:14px;gap:8px;opacity:.95}.course-badge{background:#ffffff4d;border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.schedule-card-body{padding:20px}.course-detail{align-items:flex-start;background:#f5f7fa;border-radius:8px;display:flex;gap:12px;padding:15px}.course-detail>svg{color:#1abc9c;flex-shrink:0;margin-top:3px}.course-detail div{flex:1 1}.course-detail strong{color:#333;display:block;font-size:14px;margin-bottom:5px}.course-detail p{color:#666;font-size:16px;margin:0}.schedule-footer{margin-top:40px}.footer-info{align-items:flex-start;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;display:flex;gap:12px;padding:20px}.footer-info svg{color:#2196f3;flex-shrink:0;margin-top:2px}.footer-info p{color:#1976d2;font-size:14px;line-height:1.6;margin:0}@media (max-width:768px){.schedule-container{padding:15px}.schedule-header h2{font-size:24px}.student-info-card{padding:20px}.student-info-card h3{font-size:20px}.schedule-card-header{padding:15px}.course-title h4{font-size:18px}.day-icon{font-size:28px}.course-badge{font-size:11px;padding:5px 10px}.footer-info,.schedule-card-body{padding:15px}}@media (max-width:480px){.schedule-header{gap:10px}.schedule-header h2{font-size:22px}.schedule-card-header{flex-wrap:wrap}.course-badge{margin-top:10px;text-align:center;width:100%}}.announcements-container{margin:0 auto;max-width:800px;padding:20px}.announcements-header{align-items:center;color:#2c5282;display:flex;gap:15px;margin-bottom:30px}.announcements-header h2{font-size:28px;margin:0}.announcements-count{color:#666;font-size:14px;font-weight:400;margin:5px 0 0}.loading-announcements{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-announcements p{color:#666;font-size:16px;margin-top:20px}.announcements-error{background:#fee;border-left:4px solid #c33;border-radius:8px;padding:30px;text-align:center}.announcements-error p{color:#c33;font-size:16px;margin-bottom:20px}.announcements-empty{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:60px 30px;text-align:center}.announcements-empty p{color:#666;font-size:16px;margin-top:20px}.announcements-list{display:flex;flex-direction:column;gap:20px}.announcement-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden;transition:transform .3s,box-shadow .3s}.announcement-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.announcement-card.priority-urgent{border-left:5px solid #f44336}.announcement-card.priority-important{border-left:5px solid #ff9800}.announcement-card.priority-normal{border-left:5px solid #2196f3}.announcement-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;gap:15px;padding:20px}.announcement-icon{flex-shrink:0;margin-top:2px}.announcement-title-section{display:flex;flex:1 1;flex-direction:column;gap:8px}.announcement-card h3{color:#333;font-size:20px;font-weight:600;margin:0}.priority-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.priority-urgent .priority-badge{background:#ffebee;color:#c62828}.priority-important .priority-badge{background:#fff3e0;color:#e65100}.announcement-body{padding:20px}.announcement-body p{color:#555;font-size:16px;line-height:1.7;margin:0;white-space:pre-wrap}.announcement-footer{background:#f9f9f9;border-top:1px solid #f0f0f0;padding:15px 20px}.announcement-date{align-items:center;color:#999;display:flex;font-size:14px;gap:8px}.announcement-date svg{flex-shrink:0}@media (max-width:768px){.announcements-container{padding:15px}.announcements-header h2{font-size:24px}.announcement-header{padding:15px}.announcement-card h3{font-size:18px}.announcement-body{padding:15px}.announcement-body p{font-size:15px}.announcement-footer{padding:12px 15px}}@media (max-width:480px){.announcements-header{gap:10px}.announcements-header h2{font-size:22px}.announcement-header{gap:12px}.announcement-card h3{font-size:17px}.announcement-body p{font-size:14px}}.profile-container{margin:0 auto;max-width:800px;padding:20px}.required{color:#dc2626;margin-left:.25rem}.profile-header{align-items:center;color:#2c5282;display:flex;gap:15px;margin-bottom:30px}.profile-header h2{font-size:28px;margin:0}.profile-subtitle{color:#666;font-size:14px;font-weight:400;margin:5px 0 0}.loading-profile{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-profile p{color:#666;font-size:16px;margin-top:20px}.profile-error{background:#fee;border-left:4px solid #c33;border-radius:8px;padding:30px;text-align:center}.profile-error p{color:#c33;font-size:16px;margin-bottom:20px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:20px;overflow:hidden}.profile-card-header{align-items:center;background:linear-gradient(135deg,#1abc9c,#16a085);border-bottom:2px solid #f0f0f0;color:#fff;display:flex;justify-content:space-between;padding:25px}.profile-card-header h3{font-size:22px;font-weight:600;margin:0}.profile-card-header .btn-secondary{align-items:center;background:#fff3;border:1px solid #ffffff4d;color:#fff;display:flex;font-size:14px;gap:8px;padding:10px 20px}.profile-card-header .btn-secondary:hover{background:#ffffff4d}.profile-form{padding:30px}.form-section{margin-bottom:40px}.form-section:last-child{margin-bottom:0}.form-section h4{border-bottom:2px solid #f0f0f0;color:#333;font-size:18px;margin:0 0 20px;padding-bottom:10px}.form-row{grid-gap:20px;gap:20px;margin-bottom:20px}.form-group label svg{color:#1abc9c;font-size:16px}.form-group input,.form-group textarea{border-radius:8px;font-size:16px;padding:12px 15px;width:100%}.form-group input:disabled,.form-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.form-group.readonly{margin-bottom:15px}.readonly-field{align-items:center;background:#f9f9f9;border:2px solid #f0f0f0;border-radius:8px;color:#555;display:flex;font-size:16px;gap:10px;padding:12px 15px}.readonly-field svg{color:#999;flex-shrink:0;font-size:16px}.readonly-field span{flex:1 1}.info-badge{background:linear-gradient(135deg,#1abc9c,#16a085);border-radius:20px;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:6px 12px}.form-actions{gap:15px;margin-top:30px;padding-top:20px}.form-actions .btn{align-items:center;display:flex;font-size:16px;gap:8px;padding:12px 24px}.profile-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;padding:20px}.profile-info p{color:#1976d2;font-size:14px;line-height:1.6;margin:0}.profile-info strong{font-weight:600}.parent-info-note{background:#fff9e6;border-left:3px solid #ffc107;border-radius:6px;margin-top:15px;padding:12px 15px}.parent-info-note p{color:#856404;font-size:13px;line-height:1.5;margin:0}@media (max-width:768px){.profile-container{padding:15px}.profile-header h2{font-size:24px}.profile-card-header{align-items:flex-start;flex-direction:column;gap:15px;padding:20px}.profile-card-header .btn-secondary{justify-content:center;width:100%}.profile-form{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.form-section h4{font-size:16px}.form-actions{flex-direction:column-reverse}.form-actions .btn{justify-content:center;width:100%}}@media (max-width:480px){.profile-header{gap:10px}.profile-header h2{font-size:22px}.form-group input,.form-group textarea,.readonly-field{font-size:15px}}.children-profiles{margin:0 auto;max-width:1200px;padding:20px}.children-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.children-header h2{color:#2c3e50;font-family:Lato,sans-serif;font-size:28px;font-weight:700;margin:0}.btn-add-child{align-items:center;background:linear-gradient(135deg,#1abc9c,#16a085);border:none;border-radius:8px;box-shadow:0 2px 8px #1abc9c4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-add-child:hover{background:linear-gradient(135deg,#16a085,#1abc9c);box-shadow:0 4px 12px #1abc9c66;transform:translateY(-2px)}.empty-state{background:#f8f9fa;border:2px dashed #ddd;border-radius:12px}.empty-state p{color:#7f8c8d;font-size:18px;margin:20px 0 30px}.empty-state .btn-primary{background:linear-gradient(135deg,#1abc9c,#16a085);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.empty-state .btn-primary:hover{background:linear-gradient(135deg,#16a085,#1abc9c);box-shadow:0 4px 12px #1abc9c4d;transform:translateY(-2px)}.children-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:768px){.children-grid{grid-template-columns:1fr}}.child-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.child-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.child-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e0e0e0;display:flex;gap:15px;padding:20px}.child-avatar{align-items:center;background:#fff;border:3px solid #1abc9c;border-radius:50%;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.child-info h3{color:#2c3e50;font-family:Lato,sans-serif;font-size:20px;font-weight:700;margin:0 0 5px}.child-age{color:#7f8c8d;font-size:14px;margin:0}.child-card-body{padding:20px}.child-detail{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.child-detail:last-child{border-bottom:none}.child-detail strong{color:#2c3e50;font-size:14px;font-weight:600}.child-detail span{color:#7f8c8d;font-size:14px}.status-badge{gap:5px;padding:4px 12px}.status-registered{background:#d4edda;color:#155724}.status-not-registered{background:#fff3cd;color:#856404}.child-card-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:15px 20px}.btn-delete,.btn-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s ease}.btn-edit{background:#1abc9c;color:#fff}.btn-edit:hover{background:#16a085}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:100%}.modal-content.modal-large{max-width:600px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:#2c3e50;font-family:Lato,sans-serif;font-size:24px;font-weight:700;margin:0 0 20px}.modal-content p{color:#555;font-size:16px;line-height:1.5;margin-bottom:20px}.warning-text{background:#fee;border-left:4px solid #e74c3c;border-radius:6px;color:#e74c3c;font-weight:600;padding:10px}.child-form{display:flex;flex-direction:column;gap:20px}.required{color:#e74c3c}.form-group input{border:1px solid #ddd;border-radius:6px;font-family:Oxygen,sans-serif;font-size:16px;padding:12px;transition:all .2s ease}.form-group input:focus{border-color:#1abc9c;box-shadow:0 0 0 3px #1abc9c1a;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-hint{font-size:13px}.form-hint.warning{color:#e67e22;font-weight:600}.modal-actions{display:flex;gap:12px;margin-top:24px}.btn-cancel,.btn-confirm-delete,.btn-primary{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel{background:#ecf0f1;color:#2c3e50}.btn-cancel:hover{background:#d5dbdb}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#16a085,#1abc9c)}.btn-primary:disabled{opacity:.6}.btn-confirm-delete{background:#e74c3c;color:#fff}.btn-confirm-delete:hover{background:#c0392b}.loading-spinner{font-size:18px;padding:60px 20px}@media (max-width:768px){.children-header{align-items:flex-start;flex-direction:column}.btn-add-child{justify-content:center;width:100%}.modal-content{padding:20px}.modal-actions{flex-direction:column}.btn-cancel,.btn-confirm-delete,.btn-primary{width:100%}}.absence-container{margin:0 auto;max-width:1000px;padding:20px}.absence-header{align-items:center;color:#c62828;display:flex;gap:15px;margin-bottom:25px}.absence-header h2{font-size:28px;margin:0}.absence-subtitle{color:#666;font-size:14px;font-weight:400;margin:5px 0 0}.loading-absence{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-absence p{color:#666;font-size:16px;margin-top:20px}.absence-error{background:#fee;border-left:4px solid #c33;border-radius:8px;padding:30px;text-align:center}.absence-error p{color:#c33;font-size:16px;margin-bottom:20px}.absence-actions{display:flex;gap:10px;justify-content:flex-end;margin-bottom:25px}.current-sessions-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:25px;padding:25px}.current-sessions-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:10px}.no-sessions{color:#999;font-style:italic;padding:20px 0}.sessions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.session-card{background:linear-gradient(135deg,#f44336,#c62828);border-radius:12px;color:#fff;display:flex;flex-direction:column;gap:12px;padding:20px}.session-card-header{display:flex;flex-direction:column;gap:8px}.session-day{font-size:18px;font-weight:600;gap:8px}.session-day,.session-time{align-items:center;display:flex}.session-time{font-size:14px;gap:6px;opacity:.95}.session-coach{border-bottom:1px solid #ffffff4d;font-size:13px;opacity:.9;padding-bottom:8px}.absence-form-section{margin-bottom:30px}.absence-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:30px}.absence-form-header{border-bottom:2px solid #f0f0f0;margin-bottom:25px;padding-bottom:15px}.absence-form-header h3{color:#333;font-size:20px;margin:0 0 10px}.selected-session-info{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.form-input,.form-select,.form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 15px;transition:border-color .3s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#c62828;outline:none}.form-textarea{min-height:80px}.char-count{color:#999;font-size:12px;margin-top:5px;text-align:right}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:linear-gradient(135deg,#f44336,#c62828)}.btn-primary:hover{background:linear-gradient(135deg,#d32f2f,#b71c1c)}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.btn-large{font-size:17px;justify-content:center;padding:15px 30px;width:100%}.btn-small{font-size:14px;padding:8px 16px}.absence-history-section,.upcoming-absences-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:25px}.absence-history-section h3,.upcoming-absences-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:10px}.empty-history{color:#999;font-style:italic;padding:40px 20px}.absences-list{display:flex;flex-direction:column;gap:15px}.absence-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:box-shadow .3s}.absence-card:hover{box-shadow:0 4px 15px #0000001a}.absence-card.status-pending{border-left:5px solid #ff9800}.absence-card.status-acknowledged{border-left:5px solid #4caf50}.absence-card.status-cancelled{border-left:5px solid #999;opacity:.7}.absence-card-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.absence-info{align-items:center;display:flex;gap:12px}.absence-icon{font-size:24px}.absence-date{color:#333;font-size:16px;font-weight:600;margin-bottom:4px}.absence-time{color:#666;font-size:14px}.absence-status{align-items:center;border-radius:20px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:6px 12px}.status-pending .absence-status{background:#fff3e0;color:#e65100}.status-acknowledged .absence-status{background:#e8f5e9;color:#2e7d32}.status-cancelled .absence-status{background:#f5f5f5;color:#666}.absence-card-body{padding:20px}.absence-detail{margin-bottom:12px}.absence-detail strong{color:#666;display:block;font-size:13px;margin-bottom:4px}.absence-detail:not(.admin-note){color:#333;font-size:15px}.admin-note{background:#e3f2fd;border-left:3px solid #2196f3;border-radius:6px;margin-top:15px;padding:12px}.admin-note strong{color:#1976d2}.absence-card-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:15px 20px}@media (max-width:768px){.absence-container{padding:15px}.absence-header h2{font-size:24px}.sessions-grid{grid-template-columns:1fr}.absence-card-header{align-items:flex-start;gap:10px}.absence-actions,.absence-card-header{flex-direction:column}.absence-actions .btn{justify-content:center;width:100%}}@media (max-width:480px){.absence-header{gap:10px}.absence-header h2{font-size:22px}.absence-form-card{padding:20px}.btn-large{font-size:16px;padding:12px 20px}}.attendance-container{margin:0 auto;max-width:1000px;padding:20px}.attendance-header{align-items:center;color:#2c5282;display:flex;gap:15px;margin-bottom:25px}.attendance-header h2{font-size:28px;margin:0}.attendance-subtitle{color:#666;font-size:14px;font-weight:400;margin:5px 0 0}.loading-attendance{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-attendance p{color:#666;font-size:16px;margin-top:20px}.attendance-error{background:#fee;border-left:4px solid #c33;border-radius:8px;padding:30px;text-align:center}.attendance-error p{color:#c33;font-size:16px;margin-bottom:20px}.statistics-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:25px;padding:25px}.statistics-header{align-items:center;border-bottom:2px solid #f0f0f0;color:#333;display:flex;gap:10px;margin-bottom:20px;padding-bottom:10px}.statistics-header h3{font-size:20px;margin:0}.statistics-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{background:linear-gradient(135deg,#1abc9c,#16a085);border-radius:12px;color:#fff;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center}.stat-card.stat-present{background:linear-gradient(135deg,#4caf50,#2e7d32)}.stat-card.stat-absent{background:linear-gradient(135deg,#f44336,#c62828)}.stat-card.stat-excused{background:linear-gradient(135deg,#ff9800,#e65100)}.stat-card.stat-rate{background:linear-gradient(135deg,#2196f3,#1565c0)}.stat-value{font-size:32px;font-weight:700}.stat-label{font-size:14px;font-weight:500;opacity:.95}.history-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:25px}.history-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:10px}.empty-history{color:#666;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px}.empty-history h4{color:#333;font-size:22px;margin-bottom:15px}.empty-history p{font-size:16px;line-height:1.6;margin:0 auto 20px;max-width:600px}.empty-note{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin:0 auto;max-width:600px;padding:15px 20px;text-align:left}.empty-note strong{color:#1976d2;display:block;margin-bottom:5px}.history-list{display:flex;flex-direction:column;gap:15px}.history-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:box-shadow .3s}.history-card:hover{box-shadow:0 4px 15px #0000001a}.history-card.status-present{border-left:5px solid #4caf50}.history-card.status-absent{border-left:5px solid #f44336}.history-card.status-excused{border-left:5px solid #ff9800}.history-card-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.history-date-info{display:flex;flex-direction:column;gap:4px}.history-date{color:#333;font-size:16px;font-weight:600}.history-time{color:#666;font-size:14px}.history-status{align-items:center;border-radius:20px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:6px 12px}.history-status.status-present{background:#e8f5e9;color:#2e7d32}.history-status.status-absent{background:#ffebee;color:#c62828}.history-status.status-excused{background:#fff3e0;color:#e65100}.history-card-body{padding:20px}.history-detail{margin-bottom:12px}.history-detail strong{color:#666;display:inline-block;font-size:13px;margin-right:8px;min-width:80px}.history-detail p,.history-detail span{color:#333;font-size:15px}.history-detail p{line-height:1.5;margin:5px 0 0}.session-note{background:#f5f5f5;border-left:3px solid #9e9e9e;border-radius:6px;margin-top:10px;padding:12px}.session-note strong{color:#555}.history-card-footer{background:#fafafa;border-top:1px solid #e0e0e0;padding:12px 20px}.history-card-footer small{color:#999;font-size:12px}.btn{align-items:center;display:inline-flex;gap:8px;padding:12px 24px;transition:background .3s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary:hover{background:linear-gradient(135deg,#5568d3,#63408b)}@media (max-width:768px){.attendance-container{padding:15px}.attendance-header h2{font-size:24px}.statistics-grid{grid-template-columns:repeat(2,1fr)}.history-card-header{align-items:flex-start;flex-direction:column;gap:10px}}@media (max-width:480px){.attendance-header{gap:10px}.attendance-header h2{font-size:22px}.statistics-grid{grid-template-columns:1fr}.stat-value{font-size:28px}.empty-icon{font-size:48px}.empty-history h4{font-size:20px}.empty-history p{font-size:15px}}.camp-registration-form{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:100%}.form-header{border-bottom:2px solid #f0f0f0;padding:24px}.form-header h2{color:#2c3e50;font-size:1.4rem}.step-indicator{justify-content:center;margin-bottom:32px}.step,.step-indicator{align-items:center;display:flex}.step{flex-direction:column;gap:8px}.step-number{align-items:center;background:#e0e0e0;border-radius:50%;color:#999;display:flex;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;transition:all .3s;width:40px}.step.active .step-number{background:#1abc9c;color:#fff}.step-label{color:#999;font-size:.85rem;font-weight:600}.step.active .step-label{color:#1abc9c}.step-line{background:#e0e0e0;height:2px;margin:0 16px;width:80px}.form-step{margin:0 auto;max-width:600px}.form-step h3{color:#2c3e50;font-size:1.4rem;margin-bottom:12px}.step-description{color:#7f8c8d;font-size:1rem;margin-bottom:24px}.registration-error-banner{align-items:flex-start;background:#fff3cd;border:2px solid #ffc107;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.registration-error-banner .error-icon{flex-shrink:0;font-size:2rem;line-height:1}.registration-error-banner .error-content{flex:1 1}.registration-error-banner .error-content strong{color:#856404;display:block;font-size:1.1rem;margin-bottom:8px}.registration-error-banner .error-content p{color:#856404;font-size:1rem;line-height:1.5;margin:0}.selection-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.selection-card{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:16px;transition:all .3s}.selection-card:hover{background:#f0fdf4;border-color:#1abc9c}.selection-card.selected{background:#d4f4dd;border-color:#1abc9c}.selection-card input[type=radio]{accent-color:#1abc9c;cursor:pointer;height:20px;margin-right:16px;width:20px}.selection-content{align-items:center;display:flex;flex:1 1;gap:16px}.selection-icon{font-size:2rem}.selection-text{display:flex;flex-direction:column;gap:4px}.selection-text strong{color:#2c3e50;font-size:1.1rem}.selection-text span{color:#7f8c8d;font-size:.9rem}.form-group label{color:#2c3e50;font-size:.95rem}.form-group .required{color:#e74c3c}.form-group input[type=tel],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1abc9c;outline:none}.form-hint{color:#7f8c8d;display:block;font-size:.85rem;margin-top:6px}.section-title{border-bottom:2px solid #1abc9c;color:#2c3e50;font-size:1.1rem;margin:24px 0 16px;padding-bottom:8px}.form-actions{border-top:2px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}@media (max-width:768px){.camp-registration-form{max-height:95vh}.form-header h2{font-size:1.2rem}.form-body{padding:20px}.step-indicator{margin-bottom:24px}.step-number{font-size:1rem;height:35px;width:35px}.step-line{margin:0 8px;width:50px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:10000}.camp-details-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{border-bottom:2px solid #f0f0f0;padding:24px}.modal-header h2{color:#2c3e50;font-size:1.6rem;margin:0}.btn-close{background:none;color:#7f8c8d;font-size:1.5rem;padding:5px;transition:color .3s}.btn-close:hover{color:#2c3e50}.status-banner{align-items:center;border-radius:6px;display:flex;font-weight:600;gap:10px;margin-bottom:24px;padding:12px 16px}.status-banner svg{font-size:1.2rem}.details-section{margin-bottom:28px}.details-section h3{border-bottom:2px solid #1abc9c;color:#2c3e50;font-size:1.2rem;margin-bottom:16px;padding-bottom:8px}.description-text{color:#555;font-size:1rem;line-height:1.7}.schedule-list{display:flex;flex-direction:column;gap:12px}.schedule-item{grid-gap:16px;align-items:center;background:#f8f9fa;border-radius:6px;display:grid;gap:16px;grid-template-columns:120px 1fr 1fr;padding:12px}.schedule-day{color:#2c3e50;font-size:1rem;font-weight:600}.schedule-time,.schedule-venue{align-items:center;color:#555;display:flex;font-size:.95rem;gap:8px}.schedule-icon{color:#1abc9c;font-size:.9rem}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{align-items:center;color:#7f8c8d;display:flex;font-size:.9rem;font-weight:600;gap:8px}.info-value{color:#2c3e50;font-size:1rem;padding-left:26px}.requirements-list{list-style:none;margin:0;padding:0}.requirements-list li{color:#555;font-size:1rem;padding:10px 0 10px 30px;position:relative}.requirements-list li:before{color:#1abc9c;content:"✓";font-size:1.2rem;font-weight:600;left:0;position:absolute}.modal-footer{border-top:2px solid #f0f0f0;gap:12px;padding:24px}.btn-cancel{background:#fff;border:2px solid #ddd;border-radius:4px;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s}.btn-cancel:hover{background:#f8f9fa;border-color:#bbb}.btn-primary{background:#1abc9c;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .3s}.btn-primary:hover:not(:disabled){background:#16a085}@media (max-width:768px){.camp-details-modal{max-height:95vh}.modal-header h2{font-size:1.3rem}.modal-body{padding:20px}.schedule-item{gap:8px}.info-grid,.schedule-item{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.btn-cancel,.btn-primary{width:100%}}.camps-browser{margin:0 auto;max-width:1400px;padding:20px}.camps-header{margin-bottom:30px;text-align:center}.camps-header h2{color:#2c3e50;font-size:2rem;margin-bottom:10px}.camps-subtitle{color:#7f8c8d;font-size:1.1rem}.loading-spinner{color:#7f8c8d;font-size:1.2rem;padding:40px;text-align:center}.camps-filters{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:200px}.filter-search{flex:2 1}.filter-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;transition:border-color .3s}.filter-group input:focus,.filter-group select:focus{border-color:#1abc9c;outline:none}.camps-results-count{color:#7f8c8d;font-size:.95rem;margin-bottom:20px;text-align:center}.empty-state p{margin-bottom:20px}.btn-clear-filters{background:#1abc9c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .3s}.btn-clear-filters:hover{background:#16a085}.camps-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:40px}.camp-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.camp-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-4px)}.camp-card-header{border-bottom:2px solid #f0f0f0;padding:20px}.camp-card-header h3{color:#2c3e50;font-size:1.3rem;margin-bottom:12px}.capacity-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px}.capacity-badge svg{font-size:.9rem}.status-available{background:#d4edda;color:#155724}.status-limited{background:#fff3cd;color:#856404}.status-waitlist{background:#cce5ff;color:#004085}.status-full{background:#f8d7da;color:#721c24}.camp-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:20px}.camp-info-row{align-items:center;color:#555;display:flex;font-size:.95rem;gap:10px}.camp-divider{background:#e0e0e0;height:1px;margin:8px 0}.camp-meta{display:flex;flex-wrap:wrap;gap:15px}.camp-meta-item{align-items:center;color:#666;display:flex;font-size:.9rem;gap:6px}.meta-icon{color:#1abc9c;font-size:.85rem}.camp-description{color:#666;font-size:.95rem;line-height:1.5;margin-top:auto}.camp-card-footer{border-top:2px solid #f0f0f0;padding:20px}.btn-register{background:#1abc9c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:background .3s;width:100%}.btn-register:hover{background:#16a085}@media (max-width:768px){.camps-browser{padding:15px}.camps-header h2{font-size:1.6rem}.camps-subtitle{font-size:1rem}.camps-filters{flex-direction:column;gap:15px}.filter-group{min-width:100%}.camps-grid{gap:20px;grid-template-columns:1fr}.camp-card-header h3{font-size:1.2rem}}.my-camps{margin:0 auto;max-width:1400px;padding:20px}.my-camps-header{margin-bottom:30px;text-align:center}.my-camps-header h2{color:#2c3e50;font-size:2rem;margin-bottom:10px}.my-camps-subtitle{color:#7f8c8d;font-size:1.1rem}.my-camps-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:12px;margin-bottom:30px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;position:relative;transition:all .3s}.tab.active,.tab:hover{color:#1abc9c}.tab.active{border-bottom-color:#1abc9c}.tab-badge{background:#1abc9c;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;margin-left:8px;padding:2px 8px}.empty-state{color:#7f8c8d;padding:60px 20px;text-align:center}.empty-state p{font-size:1.2rem}.registrations-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-bottom:40px}.registration-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.registration-card:hover{box-shadow:0 4px 16px #00000026}.registration-card-header{border-bottom:2px solid #f0f0f0;padding:20px}.registration-card-header h3{color:#2c3e50;font-size:1.3rem;margin-bottom:12px}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px}.status-badge svg{font-size:.9rem}.status-confirmed{background:#d4edda;color:#155724}.status-waitlist{background:#fff3cd;color:#856404}.status-cancelled{background:#f8d7da;color:#721c24}.registration-card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:20px}.registration-info-row{align-items:center;color:#555;display:flex;font-size:.95rem;gap:10px}.registration-info-row strong{color:#2c3e50;min-width:40px}.info-icon{color:#1abc9c;font-size:1rem;min-width:20px}.registration-divider{background:#e0e0e0;height:1px;margin:8px 0}.registration-meta{margin-top:auto}.registration-meta small{color:#7f8c8d;font-size:.85rem}.waitlist-info{align-items:flex-start;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;display:flex;gap:10px;margin-top:12px;padding:12px}.waitlist-info svg{color:#856404;font-size:1.2rem;margin-top:2px}.waitlist-info p{color:#856404;font-size:.9rem;line-height:1.5;margin:0}.cancellation-warning{align-items:flex-start;background:#ffe5e5;border-left:4px solid #e74c3c;border-radius:4px;display:flex;gap:10px;margin-top:12px;padding:12px}.cancellation-warning svg{color:#c0392b;font-size:1.2rem;margin-top:2px}.cancellation-warning p{color:#c0392b;font-size:.9rem;line-height:1.5;margin:0}.registration-card-footer{border-top:2px solid #f0f0f0;padding:20px}.btn-cancel-registration{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:background .3s;width:100%}.btn-cancel-registration:hover:not(:disabled){background:#c0392b}.btn-cancel-registration:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.my-camps{padding:15px}.my-camps-header h2{font-size:1.6rem}.my-camps-subtitle{font-size:1rem}.my-camps-tabs{gap:8px}.tab{font-size:.95rem;padding:10px 16px}.registrations-grid{gap:20px;grid-template-columns:1fr}.registration-card-header h3{font-size:1.2rem}}.available-times-selector{margin:24px 0}.selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.selector-header h4{color:#333;font-size:18px;font-weight:600;margin:0}.counter{border-radius:20px;font-size:14px;font-weight:600;padding:6px 16px;transition:background .3s,color .3s}.counter.valid{background:#d4edda;color:#155724}.counter.invalid{background:#fff3cd;color:#856404}.counter .warning{font-size:13px;font-weight:500}.selector-hint{background:#f8f9fa;border-left:4px solid #2d5016;border-radius:4px;color:#666;font-size:14px;margin:0 0 20px;padding:12px}.times-container{border:1px solid #ddd;border-radius:8px;overflow:hidden}.day-section{border-bottom:1px solid #ddd}.day-section:last-child{border-bottom:none}.day-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s;-webkit-user-select:none;user-select:none}.day-header:hover{background:#e9ecef}.day-name{color:#333;font-size:16px;font-weight:600}.expand-icon{color:#666;font-size:12px;transition:transform .2s}.time-grid{background:#fff;padding:16px}.hour-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.hour-row:last-child{margin-bottom:0}.hour-label{color:#555;font-size:14px;font-weight:500;min-width:80px}.venue-buttons{display:flex;flex-wrap:wrap;gap:8px}.venue-btn{background:#fff;border:2px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.venue-btn:hover{border-color:#2d5016;color:#2d5016}.venue-btn.selected{background:#2d5016;border-color:#2d5016;color:#fff}.venue-btn:active{transform:scale(.95)}.time-slot-btn{background:#fff;border:2px solid #ddd;border-radius:6px;color:#555;cursor:pointer;display:block;font-size:14px;font-weight:500;margin-bottom:8px;padding:12px;text-align:left;transition:all .2s;width:100%}.time-slot-btn:last-child{margin-bottom:0}.time-slot-btn:hover{background:#f8f9fa;border-color:#2d5016;color:#2d5016}.time-slot-btn.selected{background:#2d5016;border-color:#2d5016;color:#fff}.time-slot-btn:active{transform:scale(.98)}.selected-summary{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;margin-top:24px;padding:16px}.selected-summary h5{color:#333;font-size:16px;font-weight:600;margin:0 0 12px}.selected-list{display:flex;flex-direction:column;gap:8px}.selected-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.selected-text{color:#333;font-size:14px;font-weight:500}.remove-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:4px 8px;transition:background .2s}.remove-btn:hover{background:#c82333}.remove-btn:active{transform:scale(.95)}@media (max-width:600px){.selector-header{align-items:flex-start;flex-direction:column;gap:12px}.counter{align-self:flex-start}.hour-row{align-items:flex-start;flex-direction:column;gap:8px}.hour-label{min-width:auto}.venue-buttons{width:100%}.venue-btn{flex:1 1;min-width:80px}.time-slot-btn{font-size:13px}.selected-item{align-items:flex-start;flex-direction:column;gap:8px}.remove-btn{align-self:flex-end}}.sepa-input{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;margin:24px 0;padding:20px}.sepa-checkbox{margin-bottom:20px}.checkbox-container{align-items:flex-start;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.checkbox-label{color:#333;font-size:16px;font-weight:600}.sepa-hint{color:#666;font-size:14px;margin:8px 0 0 32px}.sepa-fields{border-top:1px solid #ddd;padding-top:16px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.required{font-weight:700}.form-input{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#2d5016;outline:none}.form-input.error{border-color:#dc3545}.form-input::placeholder{color:#999}.auto-fill-btn{background:#e7f5ff;border:1px solid #b3d9ff;border-radius:6px;color:#06c;cursor:pointer;font-size:13px;font-weight:500;margin-top:8px;padding:8px 12px;transition:all .2s}.auto-fill-btn:hover{background:#d0ebff;border-color:#66b3ff}.auto-fill-btn:active{transform:scale(.98)}.error-message{color:#dc3545;font-weight:500}.error-message,.field-hint{font-size:13px;margin:8px 0 0}.field-hint{color:#666;font-style:italic}.sepa-info{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:20px;padding:16px}.sepa-info h5{color:#333;font-size:15px;font-weight:600;margin:0 0 12px}.sepa-info p{color:#555;font-size:13px;line-height:1.6;margin:0 0 12px}.sepa-info p:last-child{margin-bottom:0}.sepa-info strong{color:#333;font-weight:600}@media (max-width:600px){.sepa-input{padding:16px}.checkbox-label{font-size:15px}.sepa-hint{font-size:13px}.form-input{font-size:16px}.sepa-info{padding:12px}.sepa-info p{font-size:12px}}.registration-form{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.registration-form>div:first-child{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.form-header{align-items:center;background:linear-gradient(135deg,#2d5016,#3d6820);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.form-header h2{font-size:22px;font-weight:600;margin:0}.btn-close{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:32px;transition:background .2s;width:32px}.btn-close:hover{background:#ffffff4d}.form-body{flex:1 1;overflow-y:auto;padding:24px}.progress-bar{border-bottom:2px solid #e9ecef;display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.progress-step{background:#f8f9fa;border-radius:6px;color:#999;flex:1 1;font-size:14px;font-weight:500;padding:10px;text-align:center;transition:all .3s}.progress-step.active{background:#2d5016;color:#fff}.progress-step.completed{background:#28a745;color:#fff}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;margin-bottom:20px;padding:12px 16px}.step-hint{color:#666;font-size:15px;margin:0 0 24px;text-align:center}.form-type-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:24px}.type-card{border:2px solid #ddd;border-radius:12px;cursor:pointer;padding:24px;text-align:center;transition:all .2s}.type-card:hover{border-color:#2d5016;box-shadow:0 8px 20px #2d501626;transform:translateY(-4px)}.type-icon{font-size:48px;margin-bottom:16px}.type-card h4{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.type-card p{color:#666;font-size:14px;margin:0 0 16px}.type-card ul{color:#555;font-size:13px;margin:0;padding-left:20px;text-align:left}.type-card li{margin-bottom:6px}.section{border-bottom:1px solid #e9ecef;margin-bottom:32px;padding-bottom:24px}.section:last-child{border-bottom:none}.section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px}.required{color:#dc3545}.form-input-readonly{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#666;cursor:not-allowed}.form-input-readonly,.form-select{font-size:14px;padding:10px 12px;width:100%}.form-select{border:2px solid #ddd;border-radius:6px;font-family:inherit;transition:border-color .2s}.form-select:focus{border-color:#2d5016;outline:none}.form-textarea{border:2px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s;width:100%}.form-textarea:focus{border-color:#2d5016;outline:none}.char-counter{color:#999;font-size:12px;margin:4px 0 0;text-align:right}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:14px;gap:10px;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label.consent{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-weight:500;padding:16px}.review-section{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:20px}.review-section h3{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.review-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.review-item{display:flex;flex-direction:column;gap:4px}.review-item.full-width{grid-column:1/-1}.review-label{color:#666;font-size:13px;font-weight:600}.review-value{color:#333;font-size:14px;font-weight:500}.times-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.time-badge{border:1px solid #ddd;font-size:12px;font-weight:500;padding:6px 12px}.remarks-text,.time-badge{background:#fff;border-radius:6px;color:#555}.remarks-text{font-size:14px;line-height:1.6;margin:0;padding:12px;white-space:pre-wrap}.submit-info{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-top:20px;padding:16px}.submit-info p{color:#155724;font-size:14px;margin:0 0 8px}.submit-info p:last-child{margin-bottom:0}.form-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:space-between;padding:16px 24px}.btn-primary,.btn-secondary,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-primary{background:#2d5016}.btn-primary:hover{background:#3d6820}.btn-submit{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 4px 12px #28a7454d}.btn-submit:hover{box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{transform:none}@media (max-width:768px){.registration-form{align-items:stretch;padding:0}.registration-form>div:first-child{border-radius:0;max-height:100vh;max-width:none}.form-header{border-radius:0}.form-row,.form-type-cards,.review-grid{grid-template-columns:1fr}.progress-bar{flex-direction:column;gap:8px}.form-footer{border-radius:0;flex-direction:column-reverse}.btn-primary,.btn-secondary,.btn-submit{width:100%}}.child-selection-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.child-selection-item{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:15px;padding:16px;transition:all .2s ease}.child-selection-item:hover{background:#f8fffe;border-color:#1abc9c}.child-selection-item.selected{background:#e8f8f5;border-color:#1abc9c}.selection-checkbox{align-items:center;border:2px solid #ccc;border-radius:4px;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .2s ease;width:24px}.child-selection-item.selected .selection-checkbox{background:#1abc9c;border-color:#1abc9c;color:#fff}.selection-checkbox span{font-size:16px;font-weight:700}.selection-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.selection-info strong{color:#2c3e50;font-size:16px;font-weight:600}.selection-label{font-style:italic}.selection-age,.selection-label{color:#7f8c8d;font-size:13px}.selection-badge{background:#d4edda;border-radius:12px;color:#155724;display:inline-block;font-size:11px;font-weight:600;margin-top:4px;padding:4px 8px}.selection-summary{background:#f8f9fa;border-left:4px solid #1abc9c;border-radius:6px;margin-top:10px;padding:12px}.selection-summary p{color:#2c3e50;font-size:14px;font-weight:600;margin:0}.multi-child-progress{background:#e8f8f5;border-left:4px solid #1abc9c;border-radius:6px;margin-bottom:20px;padding:12px 16px}.multi-child-progress p{color:#2c3e50;font-size:15px;margin:0}.multi-child-summary{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin-bottom:20px;padding:16px}.multi-child-summary h3{color:#856404;font-size:18px;margin:0 0 8px}.multi-child-summary p{color:#856404;font-size:14px;margin:0}.review-child-block{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.review-child-block:last-child{border-bottom:none}.child-review-header{background:#e8f8f5;border-left:4px solid #1abc9c;border-radius:4px;color:#1abc9c;font-size:18px;margin:0 0 15px;padding:10px}@media (max-width:768px){.child-selection-item{padding:14px}.selection-info strong{font-size:15px}.multi-child-progress p{font-size:14px}.child-review-header{font-size:16px}}.compact-registration-notification{align-items:center;animation:slideDown .3s ease-out;border-left:4px solid;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:12px;margin:20px 0;min-height:48px;padding:12px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-icon{flex-shrink:0;font-size:20px}.notification-text{flex:1 1;font-size:14px;font-weight:500;line-height:1.4}.notification-button{background:#0000;border:2px solid;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.notification-button:hover{background:#0000000d}.notification-button:active{transform:scale(.98)}.notification-dismiss{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;opacity:.5;padding:0;transition:opacity .2s;width:24px}.notification-dismiss:hover{opacity:1}@media (max-width:768px){.compact-registration-notification{flex-wrap:wrap;padding:12px 16px}.notification-text{flex-basis:100%;margin-bottom:8px}.notification-button{flex:1 1}}.registration-details-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.registration-details-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:linear-gradient(135deg,#1abc9c,#16a085);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{font-family:Lato,sans-serif;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;opacity:.8;padding:0;transition:opacity .2s;width:32px}.modal-close:hover{opacity:1}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.registrations-table{border-collapse:collapse;font-size:14px;width:100%}.registrations-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.registrations-table th{color:#2c3e50;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.registrations-table td{border-bottom:1px solid #f0f0f0;color:#555;padding:16px 12px}.registrations-table tbody tr:last-child td{border-bottom:none}.registrations-table tbody tr:hover{background:#f8fffe}.child-label{color:#7f8c8d;font-size:12px;margin-top:4px}.type-badge{background:#e8f8f5;color:#1abc9c}.status-badge,.type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.status-pending{background:#fff3cd;color:#856404}.status-processed{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:16px 24px}.btn-close-modal{background:linear-gradient(135deg,#1abc9c,#16a085);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-close-modal:hover{background:linear-gradient(135deg,#16a085,#1abc9c);box-shadow:0 4px 12px #1abc9c4d;transform:translateY(-1px)}@media (max-width:768px){.registration-details-modal{border-radius:0;max-height:100%;max-width:100%}.modal-footer,.modal-header{border-radius:0}.registrations-table{font-size:13px}.registrations-table td,.registrations-table th{padding:10px 8px}.registrations-table th{font-size:12px}}.dashboard-action-cards{grid-gap:20px;display:grid;gap:20px;margin-top:30px;width:100%}@media (min-width:1800px){.dashboard-action-cards{grid-template-columns:repeat(4,1fr);max-width:1600px}}@media (min-width:1400px) and (max-width:1799px){.dashboard-action-cards{grid-template-columns:repeat(4,1fr)}}@media (min-width:1200px) and (max-width:1399px){.dashboard-action-cards{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px) and (max-width:1199px){.dashboard-action-cards{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px) and (max-width:899px){.dashboard-action-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.dashboard-action-cards{grid-template-columns:1fr}}.action-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:30px;transition:transform .3s,box-shadow .3s}.action-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.action-card-icon{color:#1abc9c;height:40px;width:40px}.action-card h3{margin-bottom:10px;margin-top:15px}.action-card p{color:#666;font-size:14px;margin:0}.complete-profile-container{align-items:center;background:linear-gradient(135deg,#1abc9c,#16a085);display:flex;justify-content:center;min-height:100vh;padding:20px}.complete-profile-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;padding:40px;width:100%}.complete-profile-header{margin-bottom:30px;text-align:center}.complete-profile-header h1{color:#333;font-size:28px;margin:15px 0 10px}.complete-profile-subtitle{color:#666;font-size:14px;margin:0}.complete-profile-form{display:flex;flex-direction:column;gap:20px}.user-info-section{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:15px;margin-bottom:10px;padding:15px}.user-info-section strong{color:#333}.user-info-section small{color:#666}.form-group label{align-items:center;display:flex;gap:8px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#1abc9c;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-hint{color:#666;font-size:12px;margin-top:-4px}.parent-info-section{background:#fff9e6;border-left:4px solid #ff9800;border-radius:6px;margin-top:20px;padding:20px}.parent-info-section .section-header{margin-bottom:20px}.parent-info-section .section-header h3{align-items:center;color:#333;display:flex;font-size:18px;gap:10px;margin:10px 0 8px}.parent-info-section .section-header p{color:#666;font-size:13px;line-height:1.5;margin:0}.parent-info-section .form-group{background:#fff;border-radius:6px;margin-bottom:15px;padding:15px}.parent-info-section .form-group:last-child{margin-bottom:0}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:6px;color:#c62828;font-size:14px;padding:12px 16px}.btn-submit{background:linear-gradient(135deg,#1abc9c,#16a085);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 24px;transition:transform .2s,box-shadow .2s}.btn-submit:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.required-note{color:#999;font-size:12px;margin:10px 0 0;text-align:center}@media (max-width:768px){.complete-profile-card{padding:30px 20px}.complete-profile-header h1{font-size:24px}}.App{font-family:Oxygen,sans-serif}.App,.loading-container{display:flex;flex-direction:column;min-height:100vh}.loading-container{align-items:center;background-color:#f5f7fa;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2c5282;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#555;font-size:16px;margin-top:20px}.auth-box{animation:fadeIn .5s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:40px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#2c5282;font-size:28px;margin-bottom:8px}.auth-header p{color:#666;font-size:14px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 15px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#1abc9c;outline:none}.form-error{background-color:#fee;border-left:4px solid #c33;color:#c33}.form-error,.form-success{border-radius:8px;font-size:14px;padding:12px 15px}.form-success{background-color:#efe;border-left:4px solid #3c3;color:#3c3}.btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 20px;text-align:center;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#1abc9c,#16a085);color:#fff}.btn-primary:hover{box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#0000;border:2px solid #1abc9c;color:#1abc9c}.btn-secondary:hover{background:#1abc9c;color:#fff}.btn-text{background:#0000;color:#1abc9c;font-size:14px;padding:8px;text-decoration:underline}.btn-text:hover{color:#16a085}.auth-footer{color:#666;font-size:14px;margin-top:20px;text-align:center}.auth-footer a,.auth-link{color:#1abc9c;cursor:pointer;font-weight:600;text-decoration:none}.auth-footer a:hover,.auth-link:hover{text-decoration:underline}@media (max-width:768px){.auth-box{padding:30px 20px}.auth-header h1{font-size:24px}}.dashboard{background-color:#eff2f4;display:flex;flex-direction:column;min-height:100vh}.dashboard-header{background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 10px #0000001a;color:#333;padding:15px 20px}.dashboard-logo{height:40px;width:auto}.logout-button{align-items:center;background:#0000;border:2px solid #595959;border-radius:6px;color:#595959;cursor:pointer;display:flex;font-family:Oxygen,sans-serif;font-size:13px;font-weight:700;gap:8px;letter-spacing:.05em;padding:10px 20px;text-transform:uppercase;transition:all .2s}.logout-button:hover{background:#595959;color:#fff}.dashboard-header-content{align-items:center;display:flex;justify-content:space-between;margin:0;max-width:100%;padding:0 clamp(20px,5vw,120px)}.dashboard-nav{background:#fff;border-bottom:1px solid #e0e0e0;padding:0 20px}.dashboard-nav-content{display:flex;gap:30px;margin:0;max-width:100%;padding:0 clamp(20px,5vw,120px)}.nav-item{border-bottom:3px solid #0000;color:#919191;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.091em;padding:15px 0;text-transform:uppercase;transition:all .3s}.nav-item.active,.nav-item:hover{border-bottom-color:#595959;color:#595959}.dashboard-content{font-family:Oxygen,sans-serif;margin:0;max-width:100%;padding:30px clamp(20px,5vw,120px)}.dashboard-content h2{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.027em;margin-bottom:20px;text-transform:uppercase}.dashboard-content h3{color:#4b4950;font-family:Lato,sans-serif;font-weight:400}.dashboard-content p{font-family:Oxygen,sans-serif;font-weight:400}