@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:300;src:url(/static/media/lato-latin-ext-300-normal.efbf27b7525a6839d51c.woff2) format("woff2"),url(/static/media/lato-latin-ext-300-normal.c3dcdd7cacc1979c9c1d.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:300;src:url(/static/media/lato-latin-300-normal.dc76fa21c09d3cec2243.woff2) format("woff2"),url(/static/media/lato-latin-300-normal.60a1fc9096fe55643239.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(/static/media/lato-latin-ext-400-normal.7c938e0eb1bed0788b8e.woff2) format("woff2"),url(/static/media/lato-latin-ext-400-normal.fb0aa12c0b659961ab32.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(/static/media/lato-latin-400-normal.be36596da218e1eec01c.woff2) format("woff2"),url(/static/media/lato-latin-400-normal.190b769c7be76a0f0dbf.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(/static/media/lato-latin-ext-700-normal.ba3449a1077a0afbe690.woff2) format("woff2"),url(/static/media/lato-latin-ext-700-normal.525385ff38db638e45f0.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(/static/media/lato-latin-700-normal.8f28e0e1fdb195149f1c.woff2) format("woff2"),url(/static/media/lato-latin-700-normal.1dccf99a7a009cd0c134.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Oxygen;font-style:normal;font-weight:400;src:url(/static/media/oxygen-latin-ext-400-normal.437a8b91e92f1146bea3.woff2) format("woff2"),url(/static/media/oxygen-latin-ext-400-normal.a53b53cdf5ff97fffe31.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Oxygen;font-style:normal;font-weight:400;src:url(/static/media/oxygen-latin-400-normal.70b3fe459d2e71e332bf.woff2) format("woff2"),url(/static/media/oxygen-latin-400-normal.22002ae458ac052ee3c4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Oxygen;font-style:normal;font-weight:700;src:url(/static/media/oxygen-latin-ext-700-normal.5ef88310b2b70f5ea93b.woff2) format("woff2"),url(/static/media/oxygen-latin-ext-700-normal.52bceafa924d50f5068a.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Oxygen;font-style:normal;font-weight:700;src:url(/static/media/oxygen-latin-700-normal.7dae298c3b9ed500474b.woff2) format("woff2"),url(/static/media/oxygen-latin-700-normal.1b94d9cd48c1c04f5bc3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}: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-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-medium:500;--line-height-tight:1.2;--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,html{overflow-x:hidden;overscroll-behavior-x:none}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-base);line-height:var(--line-height-normal);margin:0;padding:0}#root,body{min-height:100vh}#root{overflow-x:hidden;position:relative}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{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:768px){.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:768px){.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:768px){.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%;overflow-y:auto;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-5xl);height:44px;justify-content:center;line-height:1;padding:0;transition:var(--transition-base);width:44px}.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:768px){.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}.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-header{background:#fff;min-height:55px;position:sticky;top:0;z-index:1000}.mondo-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1000px;padding:8px 0;width:86%}.mondo-header-inner.page-style{max-width:1000px;padding:0;width:86%}.mondo-header-inner.badge-mode{width:90%}.mondo-header-logo{align-items:center;display:flex}.mondo-header-logo img{height:auto;margin-bottom:0;margin-top:5px;width:250px}.mondo-header-logo.badge-mode img{width:200px}.mondo-header-nav{align-items:center;display:flex;gap:2rem}.mondo-header-nav a{color:#717b87;font-family:Oxygen,sans-serif;font-size:13px;font-weight:400;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s;white-space:nowrap}.mondo-header-nav a:first-child{color:#595959;font-weight:700}.mondo-header-nav a:hover{color:#4b4950}.mondo-header-nav .nav-active{color:#4b4950;font-weight:700}.mondo-header-badge{color:#919191;font-family:Oxygen,sans-serif;font-size:11px;font-weight:700;letter-spacing:.091em;padding:8px 12px;text-transform:uppercase}.mondo-header-yellow-bar{background-color:#ffc53b;height:7px;margin:0;padding:0}@media (max-width:768px){.mondo-header-inner{flex-direction:column;gap:1rem;padding:1rem 0;width:90%}.mondo-header-inner.page-style{padding:1.5rem 0}.mondo-header-logo img{width:180px}.mondo-header-nav{flex-wrap:wrap;gap:1.2rem;justify-content:center}.mondo-header-nav a{font-size:14px}.mondo-header-logo.badge-mode img{width:160px}}@media (max-width:480px){.mondo-header-logo img{width:160px}.mondo-header-nav{gap:.8rem}.mondo-header-nav a{align-items:center;display:flex;font-size:13px;min-height:44px;padding:8px 4px}}@media (max-width:375px){.mondo-header-inner{width:95%}.mondo-header-logo img{width:140px}.mondo-header-nav{gap:.6rem;width:100%}.mondo-header-nav a{flex:1 1;font-size:12px;justify-content:center;text-align:center}}@media (max-width:768px){.mondo-header-nav a:active{background:#0000000d;border-radius:4px}}.mondo-header nav a,.mondo-header nav a:active,.mondo-header nav a:hover,.mondo-header nav a:link,.mondo-header nav a:visited{text-decoration:none}.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%}.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{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{color:#fff;font-size:12px;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.8}.footer-links span{color:#fff9}@media (max-width:1024px){.mondo-footer-content{width:90%}}@media (max-width:600px){.social-links{gap:1rem}.footer-links,.footer-links a{font-size:10px}}.mondo-auth-title{background:#fffc!important;border-radius:8px;box-shadow:0 2px 8px #00000026;box-sizing:border-box;padding:15px 20px!important}@media (min-width:769px){.mondo-auth-layout{background-position:center -27px!important}}@media (max-width:768px){.mondo-auth-layout{background-position:16% -27px!important;background-size:1600px auto!important}}.mondo-legal-page{background:#eff2f4;color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;min-height:100vh}.mondo-legal-container{margin:0 auto;max-width:1000px;padding:0;width:86%}.mondo-legal-content{margin:0;padding:0;text-align:center}.mondo-legal-title{color:#4b4950;font-family:Lato,sans-serif;font-size:1.75rem;font-weight:300;letter-spacing:-.019em;line-height:1.4;margin-bottom:.5rem;margin-top:0;padding:2rem 0 0;text-transform:uppercase}.mondo-legal-intro{margin:0;padding:20px 0}.mondo-legal-intro p{color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;font-weight:400;line-height:1.4;margin:0}.mondo-legal-details{padding:20px 0;text-align:center}.mondo-legal-details p{color:#717b87;font-family:Oxygen,sans-serif;font-size:14px;font-weight:400;line-height:1.4;margin:0 0 .3rem}@media (min-width:769px){.mondo-legal-container{max-width:none;width:100%}.mondo-legal-content{align-items:flex-end;display:flex;flex-direction:column;gap:1.5rem;padding-right:5%;padding-top:2rem}.mondo-legal-title{background:#fffc;padding:15px 20px}.mondo-legal-details,.mondo-legal-intro,.mondo-legal-title{border-radius:8px;box-shadow:0 2px 8px #00000026;width:400px}.mondo-legal-details,.mondo-legal-intro{background:#ffffffd9;padding:20px 30px}.mondo-legal-intro p{max-width:340px}.mondo-legal-details a,.mondo-legal-details p,.mondo-legal-intro p{color:#4b4950}.mondo-legal-details{margin-bottom:100px}}.mondo-legal-details p:last-child{margin-bottom:0}.mondo-legal-info{margin-top:1rem}.mondo-legal-details h2{border-bottom:1px solid #717b8740;color:#413f46;font-family:Lato,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin:1.25rem 0 .4rem;padding-bottom:.3rem;text-transform:uppercase}.mondo-legal-details h2:first-child{margin-top:0}.mondo-legal-details address{font-style:normal;line-height:1.9;margin:0}.mondo-legal-contact-methods{margin-top:.5rem}.mondo-legal-details a{color:#717b87;text-decoration:underline;transition:color .2s}.mondo-legal-details a:hover{color:#4b4950}.datenschutz-legal-content{background:#fffffff7;border-radius:10px;box-shadow:0 2px 16px #00000017;box-sizing:border-box;color:#4b4950;font-size:15px;line-height:1.8;margin:1.5rem auto 3rem;max-width:820px;padding:2.5rem 3rem;text-align:left;width:100%}@media (min-width:769px){.datenschutz-legal-content{align-self:center}}.datenschutz-legal-content .mondo-legal-title{background:none;border-bottom:1px solid #e5e8ec;box-shadow:none;font-size:1.5rem;margin:0 0 1.75rem;padding:0 0 1.25rem;text-align:center;width:auto}.datenschutz-legal-content h2{border-left:3px solid #717b87;color:#37353c;font-family:Lato,sans-serif;font-size:1.05rem;font-weight:700;margin:2.5rem 0 .65rem;padding-left:10px}.datenschutz-legal-content h2:first-of-type{margin-top:0}.datenschutz-legal-content h3{color:#717b87;font-family:Lato,sans-serif;font-size:.92rem;font-weight:700;letter-spacing:.04em;margin:1.6rem 0 .4rem;text-transform:uppercase}.datenschutz-legal-content p{color:#646c78;margin:0 0 .9rem}.datenschutz-legal-content ul{margin:.3rem 0 1rem;padding-left:1.4rem}.datenschutz-legal-content li{color:#646c78;line-height:1.65;margin-bottom:.4rem}.datenschutz-legal-content a{color:#717b87;text-decoration:underline;word-break:break-all}.datenschutz-legal-content a:hover{color:#37353c}.datenschutz-address{background:#eff2f4;border-radius:6px;color:#4b4950;display:block;font-style:normal;line-height:2;margin:.4rem auto 1.1rem;padding:.75rem 1.1rem;width:-moz-fit-content;width:fit-content}.datenschutz-legal-content section{margin-bottom:.25rem}.datenschutz-legal-content .agbs-footer-note{border-top:1px solid #dde1e6;color:#717b87;font-size:.9rem;margin-top:2.25rem;padding-top:1.25rem}.datenschutz-legal-content .attribution{border-top:1px solid #dde1e6;color:#aaa;font-size:.82rem;margin-top:2.25rem;padding-top:1.25rem}@media (max-width:768px){.mondo-legal-container{padding-top:2rem;width:90%}.mondo-legal-title{display:inline-block;padding:15px 20px}.mondo-legal-details,.mondo-legal-intro,.mondo-legal-title{background:#fffc;border-radius:8px;box-shadow:0 2px 8px #00000026}.mondo-legal-details,.mondo-legal-intro{margin:20px 0;padding:20px}.mondo-legal-details p,.mondo-legal-intro p{color:#4b4950;font-size:16px}.datenschutz-legal-content{font-size:14px;margin:1rem auto 2rem;padding:1.5rem 1.25rem}.datenschutz-legal-content h2{font-size:1rem;margin-top:2rem}.datenschutz-legal-content h3{font-size:.85rem}}.mondo-faq{font-family:Lato,sans-serif;margin:0 auto;max-width:1024px;padding:20px}.mondo-faq-header{margin-bottom:30px;text-align:center}.mondo-faq-header h1{color:#2d5016;font-size:2rem;font-weight:300;margin-bottom:10px}.mondo-faq-subtitle{color:#666;font-size:1rem;margin:0}.mondo-faq-controls{margin-bottom:20px}.mondo-faq-search{margin-bottom:15px;position:relative}.mondo-faq-search-input{border:2px solid #ddd;border-radius:8px;font-family:Lato,sans-serif;font-size:16px;padding:12px 40px 12px 15px;transition:border-color .3s;width:100%}.mondo-faq-search-input:focus{border-color:#2d5016;outline:none}.mondo-faq-clear-search{background:#0000;border:none;color:#999;cursor:pointer;font-size:20px;padding:5px 10px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:color .2s}.mondo-faq-clear-search:hover{color:#333}.mondo-faq-expand-buttons{display:flex;gap:10px;justify-content:center}.mondo-faq-expand-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:5px;cursor:pointer;font-family:Lato,sans-serif;font-size:14px;padding:8px 16px;transition:all .2s}.mondo-faq-expand-btn:hover{background:#2d5016;border-color:#2d5016;color:#fff}.mondo-faq-results-count{color:#666;font-size:14px;font-style:italic;margin-bottom:15px;text-align:center}.mondo-faq-sections{margin-bottom:30px}.mondo-faq-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;overflow:hidden}.mondo-faq-section-header{align-items:center;background:#f9f9f9;border:none;cursor:pointer;display:flex;font-family:Lato,sans-serif;justify-content:space-between;padding:15px 20px;transition:background .2s;width:100%}.mondo-faq-section-header:hover{background:#f0f0f0}.mondo-faq-section-header.expanded{background:#2d5016}.mondo-faq-section-header h2{color:#333;font-size:1.2rem;font-weight:600;margin:0;text-align:left}.mondo-faq-section-header.expanded h2{color:#fff}.mondo-faq-section-icon{color:#666;font-size:24px;font-weight:700;transition:transform .3s}.mondo-faq-section-header.expanded .mondo-faq-section-icon{color:#fff}.mondo-faq-questions{padding:10px}.mondo-faq-question-item{border:1px solid #e8e8e8;border-radius:5px;margin-bottom:10px;overflow:hidden;transition:box-shadow .3s}.mondo-faq-question-item.highlight{animation:highlightPulse .5s ease-in-out;box-shadow:0 0 0 3px #2d50164d}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 3px #2d50164d}50%{box-shadow:0 0 0 6px #2d501633}}.mondo-faq-question{align-items:flex-start;background:#fff;border:none;cursor:pointer;display:flex;font-family:Lato,sans-serif;gap:10px;padding:15px;text-align:left;transition:background .2s;width:100%}.mondo-faq-question:hover{background:#f9f9f9}.mondo-faq-question.expanded{background:#f5f5f5;border-bottom:1px solid #e0e0e0}.mondo-faq-question-number{color:#2d5016;flex-shrink:0;font-weight:600}.mondo-faq-question-text{color:#333;flex:1 1;font-size:16px;font-weight:500;line-height:1.4}.mondo-faq-question-icon{color:#999;flex-shrink:0;font-size:12px;margin-top:3px}.mondo-faq-answer{background:#fafafa;border-top:1px solid #e0e0e0;padding:15px 20px}.mondo-faq-answer p{color:#555;font-size:14px;line-height:1.6;margin:0 0 15px}.mondo-faq-copy-link{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-family:Lato,sans-serif;font-size:13px;padding:6px 12px;transition:all .2s}.mondo-faq-copy-link:hover{background:#2d5016;border-color:#2d5016;color:#fff}mark{background-color:#ffeb3b;border-radius:2px;font-weight:600;padding:2px 4px}.mondo-faq-no-results{color:#666;padding:40px 20px;text-align:center}.mondo-faq-no-results p{font-size:16px;margin:10px 0}.mondo-faq-footer{background:#f9f9f9;border-radius:8px;margin-top:40px;padding:30px 20px;text-align:center}.mondo-faq-footer h3{color:#2d5016;font-size:1.3rem;font-weight:600;margin-bottom:10px}.mondo-faq-footer p{color:#555;font-size:15px;line-height:1.6;margin:10px 0}.mondo-faq-footer-contact a{color:#2d5016;font-weight:600;text-decoration:none}.mondo-faq-footer-contact a:hover{text-decoration:underline}.mondo-faq-footer-note{border-top:1px solid #e0e0e0;color:#777;font-size:14px;margin-top:15px;padding-top:15px}@media (max-width:768px){.mondo-faq{padding:15px}.mondo-faq-header h1{font-size:1.5rem}.mondo-faq-section-header{padding:12px 15px}.mondo-faq-section-header h2{font-size:1rem}.mondo-faq-question{padding:12px}.mondo-faq-question-text{font-size:15px}.mondo-faq-answer{padding:12px 15px}.mondo-faq-expand-buttons{flex-direction:column}.mondo-faq-expand-btn{width:100%}}@media (max-width:480px){.mondo-faq-header h1{font-size:1.3rem}.mondo-faq-subtitle{font-size:.9rem}.mondo-faq-question-text{font-size:14px}.mondo-faq-answer p{font-size:13px}}.schedule-container{margin:0 auto;max-width:800px;padding:0 20px 20px}.schedule-header{align-items:center;color:#2c5282;display:flex;flex-direction:column;gap:12px;margin-bottom:30px;margin-top:0}.schedule-header h2{font-size:2rem;margin:0}.btn-calendar-export{border:1.5px solid #2c5282;color:#2c5282}.btn-calendar-export:hover{background:#2c5282}.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}.training-stats-card{background:#f0f9f6;border:1px solid #1abc9c;border-radius:12px;margin-bottom:30px;padding:20px 25px}.training-stats-card h4{color:#16a085;font-size:16px;font-weight:600;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.stats-period{color:#555;font-size:14px;margin:0 0 8px}.stats-count{color:#2c5282;font-size:18px;margin:0 0 6px}.stats-count strong{font-size:22px}.holiday-note{color:#888;font-size:13px;margin:4px 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:0 20px 20px}.announcements-header{color:#2c5282;margin-bottom:30px;margin-top:0;text-align:center}.announcements-header h2{font-size:2rem;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{color:#555;font-size:16px;line-height:1.7;padding:20px}.announcement-body p{margin:0 0 1em}.announcement-body p:last-child{margin-bottom:0}.announcement-body strong{color:#333;font-weight:600}.announcement-body em{font-style:italic}.announcement-body h1,.announcement-body h2,.announcement-body h3{color:#333;font-weight:600;margin:.5em 0}.announcement-body h1{font-size:1.5em}.announcement-body h2{font-size:1.3em}.announcement-body h3{font-size:1.1em}.announcement-body ol,.announcement-body ul{margin:.5em 0;padding-left:1.5em}.announcement-body li{margin:.25em 0}.announcement-body a{color:#2196f3;text-decoration:underline}.announcement-body a:hover{color:#1976d2}.announcement-body img{border-radius:6px;display:block;height:auto;margin:.5em 0;max-width:100%}.announcement-attachments{background:#fafafa;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:.75rem;padding:10px 20px}.att-thumbnails{display:flex;flex-wrap:wrap;gap:.5rem}.att-thumbnail-link{display:inline-block}.att-thumbnail{border:1px solid #ddd;border-radius:6px;cursor:pointer;max-height:140px;max-width:200px;object-fit:cover;transition:opacity .15s}.att-thumbnail:hover{opacity:.85}.pdf-attachments{display:flex;flex-direction:column;gap:.5rem}.pdf-attachment{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden}.pdf-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}.pdf-header span{color:#444;flex:1 1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-toggle-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#444;cursor:pointer;font-size:.82rem;padding:.25rem .6rem;transition:background .15s;white-space:nowrap}.pdf-toggle-btn:hover{background:#f0f0f0}.pdf-download-link{color:#1976d2;font-size:.82rem;text-decoration:none;white-space:nowrap}.pdf-download-link:hover{text-decoration:underline}.pdf-iframe{border:none;display:block;height:500px;width:100%}.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}}.pending-email-notice{align-items:center;background:#fff3e0;border-left:4px solid #ff9800;border-radius:4px;color:#e65100;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;margin-top:.5rem;padding:.6rem .9rem}.btn-cancel-email-change{background:none;border:1px solid #ff9800;border-radius:4px;color:#ff9800;cursor:pointer;font-size:.8rem;padding:.25rem .75rem;white-space:nowrap}.btn-cancel-email-change:hover{background:#ff9800;color:#fff}.profile-container{margin:0 auto;max-width:800px;padding:0 20px 20px}.required{color:#dc2626}.profile-header{color:#2c5282;margin-bottom:30px;margin-top:0;text-align:center}.profile-header h2{font-size:2rem;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;cursor:pointer;display:flex;font-size:16px;gap:10px;padding:12px 15px;transition:border-color .15s,background .15s}.readonly-field:hover{background:#f0f4fb;border-color:#c0cfe8}.readonly-field svg{color:#999;flex-shrink:0;font-size:16px}.readonly-field span{flex:1 1}.radio-group{display:flex;gap:24px;padding-top:4px}.radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:16px;gap:6px}.radio-label input[type=radio]{accent-color:#1abc9c;cursor:pointer;height:16px;width:16px}.radio-label input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.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}}.profile-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:12px;margin-bottom:30px}.profile-card>.form-section{padding:30px}.settings-row{align-items:center;display:flex;gap:20px;justify-content:space-between;padding:8px 0}.settings-row-text strong{color:#333;display:block;margin-bottom:4px}.settings-row-text p{color:#666;font-size:13px;margin:0}.children-profiles{margin:0 auto;max-width:1200px;padding:0 20px 20px}.children-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px;margin-top:0;position:relative}.children-header h2{color:#2c3e50;flex:1 1;font-family:Lato,sans-serif;font-size:2rem;font-weight:700;margin:0;text-align:center}.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;position:absolute;right:0;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{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: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}.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%}}.attendance-container{margin:0 auto;max-width:1000px;padding:0 20px 20px}.attendance-header{color:#2c5282;margin-bottom:30px;margin-top:0;text-align:center}.attendance-header h2{font-size:2rem;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{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}.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}.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{gap:12px;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%}}.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:0 20px 20px}.camps-header{margin-bottom:30px;margin-top:0;text-align:center}.camps-header h2{color:#2c3e50;font-size:2rem;margin-bottom:10px}.camps-subtitle{color:#7f8c8d;font-size:1.1rem;margin-bottom:20px}.camps-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.loading-spinner{color:#7f8c8d;font-size:1.2rem;padding:40px;text-align:center}.empty-state{color:#7f8c8d}.empty-state p{margin-bottom:20px}.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-grid{gap:20px;grid-template-columns:1fr}.camp-card-header h3{font-size:1.2rem}}.camp-price-info{background-color:#f8f9fa;border-left:3px solid #008b8b;border-radius:6px;margin:12px 0;padding:10px}.camp-price-info .price-item{color:#333;font-size:14px;margin:4px 0}.camp-price-info .price-item strong{color:#008b8b;margin-right:6px}.my-camps{margin:0 auto;max-width:1400px;padding:0 20px 20px}.my-camps-header{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:30px;margin-top:0}.my-camps-header h2{color:#2c3e50;font-size:2rem;margin:0}.btn-calendar-export{align-items:center;background:#fff;border:1.5px solid #2c3e50;border-radius:6px;color:#2c3e50;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:background .2s,color .2s}.btn-calendar-export:hover{background:#2c3e50;color:#fff}.calendar-export-wrapper{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.calendar-export-hint{color:#90a4ae;font-size:.75rem}.my-camps-subtitle{color:var(--text-secondary);font-size:1.1rem}.my-camps-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.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:var(--text-secondary);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:#ffffff4d;border-radius:12px;display:inline-block;font-size:12px;margin-left:8px;padding:2px 8px}.tab.active .tab-badge{background:#1abc9c;color:#fff}.add-family-member-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:24px;padding:24px;text-align:center}.btn-add-family-member{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:8px;padding:12px 32px;transition:all .2s}.btn-add-family-member:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.add-family-help-text{font-size:14px;margin:0;opacity:.9}.empty-state{color:var(--text-secondary);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-title-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.registration-card-header h3{color:#2c3e50;flex:1 1;font-size:1.3rem;margin:0}.type-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:.8rem;white-space:nowrap}.type-camp{background:#e8f5e9;color:#2e7d32}.type-seasonal{background:#e3f2fd;color:#1565c0}.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-pending{background:#f59e0b;color:#fff}.status-confirmed{background:#27ae60;color:#fff}.status-waitlist{background:#f39c12;color:#fff}.status-cancelled{background:#e74c3c;color:#fff}.status-rejected{background:#dc2626;color:#fff}.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:var(--text-secondary);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}.description-accordion{display:flex;flex-direction:column}.btn-description-toggle{align-items:center;background:none;border:none;color:#1abc9c;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:4px 0;text-align:left;width:100%}.btn-description-toggle:hover{color:#16a085}.description-chevron{color:#999;font-size:.75rem;margin-left:auto}.description-content{background:#f8f9fa;border-radius:6px;color:#555;font-size:.88rem;line-height:1.6;margin-top:8px;padding:12px;white-space:pre-wrap}.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}.rule-builder{background:#fff;border:2px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.rule-builder-section{margin-bottom:16px}.rule-builder-section:last-of-type{margin-bottom:20px}.rule-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.day-chips{display:flex;flex-wrap:wrap;gap:8px}.day-chip{background:#fff;border:2px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:14px;font-weight:600;min-width:50px;padding:10px 18px;text-align:center;transition:all .2s}.day-chip:hover{border-color:#2d5016;color:#2d5016}.day-chip.selected{background:#2d5016;border-color:#2d5016;color:#fff}.day-chip:active{transform:scale(.95)}.time-range{align-items:center;display:flex;gap:12px}.hour-select{background:#fff;border:2px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 12px;transition:border-color .2s}.hour-select:focus,.hour-select:hover:not(:disabled){border-color:#2d5016}.hour-select:focus{box-shadow:0 0 0 3px #2d50161a;outline:none}.hour-select:disabled{background:#f8f9fa;color:#999;cursor:not-allowed}.range-separator{color:#666;font-size:14px;font-weight:500}.add-rule-btn{background:#2d5016;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.add-rule-btn:hover:not(:disabled){background:#1e3610;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.add-rule-btn:active:not(:disabled){transform:translateY(0)}.add-rule-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.active-rules{margin-bottom:20px}.active-rules h5{color:#333;font-size:15px;font-weight:600;margin:0 0 12px}.rule-chips{display:flex;flex-wrap:wrap;gap:8px}.rule-chip{align-items:center;background:#e8f4e1;border:2px solid #2d5016;border-radius:20px;color:#2d5016;display:inline-flex;font-size:14px;font-weight:500;gap:12px;padding:8px 12px}.rule-text{line-height:1.4}.rule-remove-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:1;padding:2px 6px;transition:all .2s;width:20px}.rule-remove-btn:hover{background:#c82333;transform:scale(1.1)}.rule-remove-btn:active{transform:scale(.95)}.grid-preview{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;margin-bottom:24px;padding:16px}.grid-preview h5{color:#333;font-size:15px;font-weight:600;margin:0 0 16px}.grid-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.grid-table{border-collapse:initial;border-spacing:4px;display:table;min-width:100%}.grid-row{display:table-row}.grid-cell{background:#fff;border-radius:4px;display:table-cell;font-size:13px;min-width:60px;padding:8px;position:relative;text-align:center;vertical-align:middle}.grid-corner{background:#e9ecef;border:none}.grid-day-header{background:#e9ecef;color:#333;font-weight:700;padding:10px 8px}.grid-hour-header{background:#e9ecef;color:#555;font-weight:600;min-width:70px;padding-right:12px;text-align:right}.grid-empty{background:#f8f9fa;color:#ccc;cursor:not-allowed;font-size:18px}.grid-slot{border:2px solid #0000;cursor:pointer;font-size:18px;font-weight:700;transition:all .2s}.grid-slot:hover{background:#f0f8ed;border-color:#2d5016}.grid-slot.selected{background:#2d5016;border-color:#2d5016;color:#fff}.grid-slot.selected:hover{background:#1e3610}.grid-slot:active{transform:scale(.95)}.venue-label{display:block;font-size:9px;font-weight:500;line-height:1;margin-top:2px;opacity:.7}.grid-slot.selected .venue-label{opacity:.9}.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:768px){.selector-header{align-items:flex-start;flex-direction:column;gap:12px}.counter{align-self:flex-start}.time-range{align-items:stretch;flex-direction:column;gap:8px}.range-separator{text-align:center}.add-rule-btn,.hour-select{width:100%}.grid-cell{font-size:12px;min-width:50px;padding:6px}.grid-hour-header{font-size:12px;min-width:60px}.venue-label{font-size:8px}.selected-item{align-items:flex-start;flex-direction:column;gap:8px}.remove-btn{align-self:flex-end}}@media (max-width:480px){.day-chips{gap:6px}.day-chip{flex-basis:calc(33.333% - 6px);flex-grow:1;flex-shrink:1;font-size:13px;max-width:calc(33.333% - 6px);min-width:44px;padding:8px 12px}.grid-cell{font-size:16px;min-width:44px;padding:4px}.grid-day-header,.grid-hour-header{font-size:11px}}.priority-summary{background:#fffbea;border:1px solid #f0c040;border-radius:8px;margin:20px 0;padding:16px}.priority-summary h5{color:#2c3e50;font-size:14px;font-weight:700;margin:0 0 6px}.priority-hint{color:#666;font-size:13px;margin:0 0 12px}.priority-chips{display:flex;flex-wrap:wrap;gap:8px}.priority-chip{align-items:center;background:#fff;border:1.5px solid #ccc;border-radius:20px;cursor:pointer;display:inline-flex;font-size:13px;gap:8px;padding:6px 10px;transition:border-color .2s,background .2s}.priority-chip:hover{background:#fffaf0;border-color:#f5a623}.priority-chip.priority-chip-active{background:#fff8e7;border-color:#f5a623}.priority-chip-label{color:#333}.priority-star-btn{font-size:16px;line-height:1;opacity:.5;transition:opacity .2s}.priority-chip-active .priority-star-btn,.priority-chip:hover .priority-star-btn,.priority-star-btn.active{opacity:1}.priority-star-btn:active{transform:scale(1.2)}.priority-set-note{color:#e67e22;font-size:13px;font-weight:600;margin:10px 0 0}.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}.error-message,.field-hint{font-size:13px;margin:8px 0 0}.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;font-size:20px;height:32px;width:32px}.btn-close:hover{background:#ffffff4d}.form-body{flex:1 1;overflow-y:auto;padding:24px}.progress-bar{display:flex;gap:6px;margin-bottom:20px}.progress-step{background:#e9ecef;border-radius:2px;flex:1 1;font-size:0;height:4px;transition:background .3s}.progress-step.active{background:#2d5016}.progress-step.completed{background:#28a745}.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:not(.type-card-disabled){border-color:#2d5016;box-shadow:0 8px 20px #2d501626;transform:translateY(-4px)}.type-card-disabled{cursor:not-allowed;filter:grayscale(60%);opacity:.4}.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{margin-bottom:8px}.required{color:#dc3545}.form-input-readonly{-webkit-text-fill-color:#2c3e50;background:#eef2f7;border:1px solid #d0d7de;border-radius:6px;color:#2c3e50;cursor:not-allowed;font-weight:500;opacity:1}.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}.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}.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-badge-registered{background:#fde8e8;color:#c0392b}.child-selection-item.already-registered{background:#fafafa;cursor:not-allowed;opacity:.6}.child-selection-item.already-registered:hover{background:#fafafa;border-color:#ddd}.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}.no-family-message{background:#fff8e1;border-left:4px solid #f39c12;border-radius:8px;margin:16px 0;padding:20px}.no-family-message p{color:#2c3e50;font-size:14px;margin:0 0 8px}.no-family-message p:last-child{margin-bottom: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}}.my-tickets-container{margin:0 auto;max-width:1400px;padding:2rem 1rem}.my-tickets-header{align-items:center;border-bottom:3px solid #009688;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.header-content .subtitle{color:#666;font-size:1rem;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter-tab{background:#fff;border:2px solid #009688;border-radius:8px;color:#009688;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.filter-tab:hover{background:#e0f2f1}.filter-tab.active{background:#009688;color:#fff}.empty-state,.loading-spinner{padding:4rem 2rem;text-align:center}.empty-icon{color:#009688;font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:#666;font-size:1rem;margin:0 0 1.5rem}.tickets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.ticket-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:1.5rem;transition:all .2s}.ticket-card:hover{border-color:#009688;box-shadow:0 4px 16px #00968833;transform:translateY(-2px)}.ticket-card.unread{background:#fff8e1;border-color:#ffc107}.ticket-card.unread:hover{border-color:#ff9800}.ticket-card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.ticket-number{align-items:center;color:#009688;display:flex;font-size:.9rem;font-weight:600;gap:.5rem}.unread-indicator{background:#ff9800;border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.ticket-card-body{margin-bottom:1rem}.ticket-subject{color:#333;font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 .75rem}.ticket-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.category-badge,.priority-badge,.status-badge{align-items:center;border-radius:12px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.35rem;padding:.25rem .75rem}.category-badge{background:#2196f3}.ticket-description{color:#666;font-size:.9rem;line-height:1.5}.ticket-card-footer{border-top:2px solid #f0f0f0;padding-top:1rem}.ticket-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.meta-item{font-size:.85rem}.last-message{color:#009688;font-weight:500}.btn-view-details{background:#009688;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem;transition:background .2s;width:100%}.btn-view-details:hover{background:#00796b}.btn-primary:hover{background:#00796b;box-shadow:0 4px 8px #0096884d}@media (max-width:768px){.my-tickets-container{padding:1rem .5rem}.my-tickets-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-content h1{font-size:1.5rem}.filter-tabs{width:100%}.filter-tab{flex:1 1;font-size:.85rem;padding:.75rem .5rem;text-align:center}.tickets-grid{gap:1rem;grid-template-columns:1fr}.ticket-card{padding:1rem}.btn{justify-content:center;width:100%}}.create-ticket-container{margin:0 auto;max-width:1024px;padding:2rem 1rem}.create-ticket-header{align-items:flex-start;border-bottom:3px solid #009688;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.header-content h1{color:#009688;font-size:2rem;font-weight:600;margin:0 0 .5rem}.subtitle{color:#666;font-size:1rem;line-height:1.5;margin:0}.btn-close{align-items:center;background:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:background .2s;width:48px}.btn-close:hover{background:#d32f2f}.create-ticket-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;margin-bottom:.5rem}.required{color:#f44336;margin-left:.25rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#009688;box-shadow:0 0 0 3px #0096881a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.form-group textarea{min-height:150px}.input-error{border-color:#f44336!important}.error-message{color:#f44336;font-size:.875rem;font-weight:500;margin-top:.5rem}.field-hint{color:#666;font-size:.85rem;font-style:italic;margin-top:.5rem}.field-footer{display:flex;justify-content:flex-end;margin-top:.5rem}.info-box{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;color:#2e7d32;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem 1.25rem}.info-box strong{display:block;font-size:.95rem;margin-bottom:.5rem}.info-box ul{margin:.5rem 0 0 1.5rem;padding:0}.info-box li{margin-bottom:.25rem}.form-actions{border-top:2px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn{font-size:1rem}@media (max-width:768px){.create-ticket-container{padding:1rem .5rem}.create-ticket-header{flex-direction:column;gap:1rem}.btn-close{align-self:flex-end}.header-content h1{font-size:1.5rem}.create-ticket-form{padding:1.5rem 1rem}.form-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}}.ticket-detail-student-container{margin:0 auto;max-width:1000px;padding:2rem 1rem}.ticket-detail-student-header{align-items:center;border-bottom:3px solid #009688;display:flex;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem}.btn-back{align-items:center;background:#757575;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:background .2s}.btn-back:hover{background:#616161}.header-info{flex:1 1}.header-info h1{color:#009688;font-size:1.75rem;font-weight:600;margin:0 0 .75rem}.header-badges{display:flex;flex-wrap:wrap;gap:.5rem}.priority-badge,.status-badge{border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;padding:.35rem .9rem}.ticket-info-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.ticket-subject-detail{color:#333;font-size:1.5rem;font-weight:600;line-height:1.4;margin:0 0 1rem}.ticket-meta-info{border-top:2px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1rem}.meta-item{color:#666;font-size:.9rem}.meta-item strong{color:#333;margin-right:.5rem}.messages-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.messages-section h3{color:#009688;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.messages-thread{background:#f5f5f5;border-radius:8px;margin-bottom:1.5rem;max-height:500px;overflow-y:auto;padding:1rem}.empty-messages{color:#999;padding:2rem;text-align:center}.message{margin-bottom:1.5rem;max-width:75%}.message-student{margin-right:auto}.message-admin{margin-left:auto}.message-header{align-items:center;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.5rem}.message-author{color:#333;font-weight:600}.message-time{color:#999;font-size:.8rem}.message-body{word-wrap:break-word;border-radius:12px;line-height:1.6;padding:.9rem 1.1rem;white-space:pre-wrap}.message-student .message-body{background:#e0f2f1;border-bottom-left-radius:4px;color:#004d40}.message-admin .message-body{background:#fff;border:2px solid #e0e0e0;border-bottom-right-radius:4px;color:#333}.reply-form{border-top:2px solid #f0f0f0;padding-top:1.5rem}.reply-textarea{border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;margin-bottom:1rem;padding:.9rem;resize:vertical;transition:border-color .2s;width:100%}.reply-textarea:focus{border-color:#009688;box-shadow:0 0 0 3px #0096881a;outline:none}.reply-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.reply-form-footer{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.char-count{color:#999;font-size:.85rem}.reply-actions{display:flex;flex-wrap:wrap;gap:1rem}.ticket-closed-notice,.ticket-resolved-notice{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:1rem 1.25rem;text-align:center}.ticket-closed-notice{background:#ffebee;border:2px solid #ef5350;color:#c62828}.ticket-resolved-notice{background:#e8f5e9;border:2px solid #66bb6a;color:#2e7d32}.btn{align-items:center;display:inline-flex;font-size:.95rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#009688}.btn-primary:hover:not(:disabled){background:#00796b;box-shadow:0 4px 8px #0096884d}.btn-secondary{background:#757575;color:#fff}.btn-secondary:hover:not(:disabled){background:#616161}.error-message,.loading-spinner{padding:3rem;text-align:center}.spinner{border:4px solid #e0f2f1;border-top-color:#009688;margin:0 auto 1rem}.error-message p{color:#f44336;font-size:1.1rem;margin-bottom:1rem}@media (max-width:768px){.ticket-detail-student-container{padding:1rem .5rem}.ticket-detail-student-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-info h1{font-size:1.5rem}.messages-section,.ticket-info-section{padding:1rem}.ticket-meta-info{flex-direction:column;gap:.75rem}.message{max-width:90%}.reply-form-footer{align-items:stretch;flex-direction:column}.reply-actions{flex-direction:column;width:100%}.btn{justify-content:center;width:100%}.char-count{text-align:right}}.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{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:var(--z-index-max)}.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}}.hamburger-button{align-items:center;background:#0000;border:none;color:#595959;cursor:pointer;display:none;height:44px;justify-content:center;margin-right:12px;padding:0;transition:all .2s ease;width:44px}.hamburger-button:hover{background:#f5f5f5;box-shadow:0 4px 12px #0003}.hamburger-button:active{transform:scale(.95)}.hamburger-overlay{animation:fadeIn .3s ease;background:#00000080;right:0;z-index:999}.hamburger-menu,.hamburger-overlay{bottom:0;left:0;position:fixed;top:0}.hamburger-menu{animation:slideIn .3s ease;background:#fff;box-shadow:2px 0 20px #0000004d;display:flex;flex-direction:column;max-width:85vw;overflow-y:auto;width:280px;z-index:1000}.hamburger-menu-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.hamburger-menu-header h2{color:#595959;font-family:Lato,sans-serif;font-size:20px;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.hamburger-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#595959;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.hamburger-close-button:hover{background:#0000000d}.hamburger-menu-items{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:10px 0}.hamburger-menu-items li{margin:0}.hamburger-menu-item{align-items:center;background:none;border:none;border-left:4px solid #0000;color:#595959;cursor:pointer;display:flex;font-family:Oxygen,sans-serif;font-size:16px;font-weight:400;gap:16px;padding:16px 20px;text-align:left;transition:all .2s;width:100%}.hamburger-menu-item:hover{background:#f5f7fa;color:#1abc9c}.hamburger-menu-item.active{background:#e8f5f2;border-left-color:#1abc9c;color:#1abc9c;font-weight:600}.hamburger-menu-item .menu-item-icon{flex-shrink:0;height:20px;width:20px}.hamburger-menu-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:10px}.hamburger-logout-button{align-items:center;background:#fff;border:2px solid #595959;border-radius:8px;color:#595959;cursor:pointer;display:flex;font-family:Oxygen,sans-serif;font-size:16px;font-weight:600;gap:16px;padding:16px 20px;text-align:left;transition:all .2s;width:100%}.hamburger-logout-button:hover{background:#595959;color:#fff}.hamburger-logout-button .menu-item-icon{flex-shrink:0;height:20px;width:20px}@media (min-width:769px){.hamburger-button,.hamburger-menu,.hamburger-overlay{display:none!important}}@media (max-width:768px){.hamburger-button{display:flex}}@media (max-width:480px){.hamburger-menu{width:260px}.hamburger-menu-header h2{font-size:18px}.hamburger-logout-button,.hamburger-menu-item{font-size:15px;padding:14px 16px}}.hamburger-button:focus-visible,.hamburger-close-button:focus-visible,.hamburger-logout-button:focus-visible,.hamburger-menu-item:focus-visible{outline:2px solid #1abc9c;outline-offset:2px}.hamburger-menu-items{-webkit-overflow-scrolling:touch;scrollbar-color:#1abc9c #f5f5f5;scrollbar-width:thin}.hamburger-menu-items::-webkit-scrollbar{width:6px}.hamburger-menu-items::-webkit-scrollbar-track{background:#f5f5f5}.hamburger-menu-items::-webkit-scrollbar-thumb{background:#1abc9c;border-radius:3px}.hamburger-menu-items::-webkit-scrollbar-thumb:hover{background:#16a085}.notification-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px;position:relative;transition:all .2s ease}.notification-item--clickable{cursor:pointer}.notification-item--clickable:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.notification-item--unread{background:#eff6ff;border-color:#93c5fd}.notification-item--unread:hover{background:#dbeafe}.notification-item--urgent{border-left:4px solid #dc2626}.notification-item--high{border-left:4px solid #ea580c}.notification-item--normal{border-left:4px solid #2563eb}.notification-item--low{border-left:4px solid #6b7280}.notification-icon{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5em;height:36px;justify-content:center;width:36px}.notification-content{flex:1 1;min-width:0}.notification-header{align-items:center;display:flex;gap:6px;margin-bottom:4px}.notification-title{color:#111827;font-size:.95em;font-weight:600;line-height:1.3;margin:0}.notification-unread-dot{background:#2563eb;border-radius:50%;flex-shrink:0;height:8px;width:8px}.notification-message{word-wrap:break-word;color:#4b5563;font-size:.9em;line-height:1.4;margin:0 0 8px}.notification-footer{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.notification-time{color:#9ca3af;font-size:.8em}.notification-priority{border-radius:12px;font-size:.75em;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.notification-priority--urgent{background:#fee2e2;color:#dc2626}.notification-priority--high{background:#ffedd5;color:#ea580c}.notification-priority--low{background:#f3f4f6;color:#6b7280}.notification-actions{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.notification-action-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-size:.9em;height:32px;justify-content:center;transition:all .2s ease;width:32px}.notification-action-btn:hover{background:#e5e7eb;transform:scale(1.05)}.notification-action-btn--delete:hover{background:#fee2e2;border-color:#fecaca}.notification-item--dropdown{border:none;border-bottom:1px solid #e5e7eb;border-left:3px solid #0000;border-radius:0;padding:8px 12px}.notification-item--dropdown:last-child{border-bottom:none}.notification-item--dropdown .notification-icon{font-size:1.2em;height:28px;width:28px}.notification-item--dropdown .notification-title{font-size:.9em}.notification-item--dropdown .notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.85em;margin-bottom:4px;overflow:hidden}.notification-item--dropdown .notification-time{font-size:.75em}.notification-item--toast{background:#0000;border:none;box-shadow:none;padding:0}.notification-item--toast .notification-icon{height:32px;width:32px}@media (max-width:768px){.notification-item{padding:10px}.notification-icon{font-size:1.3em;height:32px;width:32px}.notification-title{font-size:.9em}.notification-message{font-size:.85em}.notification-action-btn{font-size:.85em;height:28px;width:28px}}@media (max-width:480px){.notification-item{gap:8px}.notification-icon{font-size:1.2em;height:28px;width:28px}.notification-actions{flex-direction:row}.notification-action-btn{height:28px;width:36px}}.notification-dropdown{animation:dropdownFadeIn .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #00000026;max-width:90vw;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:380px;z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.notification-dropdown-title{color:#111827;font-size:1em;font-weight:600;margin:0}.notification-dropdown-action{background:#0000;border:none;border-radius:4px;color:#2563eb;cursor:pointer;font-size:.8em;padding:4px 8px;transition:background .2s ease}.notification-dropdown-action:hover{background:#dbeafe}.notification-dropdown-body{max-height:400px;overflow-y:auto}.notification-dropdown-body::-webkit-scrollbar{width:6px}.notification-dropdown-body::-webkit-scrollbar-track{background:#f3f4f6}.notification-dropdown-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.notification-dropdown-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.notification-dropdown-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.notification-dropdown-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:32px;margin-bottom:12px;width:32px}.notification-dropdown-loading p{font-size:.9em;margin:0}.notification-dropdown-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.notification-dropdown-empty-icon{font-size:2.5em;margin-bottom:8px;opacity:.5}.notification-dropdown-empty p{font-size:.9em;margin:0}.notification-dropdown-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:8px}.notification-dropdown-view-all{background:#0000;border:none;border-radius:6px;color:#2563eb;cursor:pointer;font-size:.9em;font-weight:600;padding:8px 16px;transition:background .2s ease;width:100%}.notification-dropdown-view-all:hover{background:#dbeafe}@media (max-width:768px){.notification-dropdown{border-left:none;border-radius:0;border-right:none;display:flex;flex-direction:column;left:0;max-height:calc(100vh - 60px);max-width:100%;position:fixed;right:0;top:60px!important;width:100%}.notification-dropdown-body{flex:1 1;max-height:none}}@media (max-width:480px){.notification-dropdown-header{padding:10px 12px}.notification-dropdown-title{font-size:.95em}.notification-dropdown-action{font-size:.75em}}.notification-bell-container{display:inline-block;position:relative}.notification-bell{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;position:relative;transition:background .2s ease}.notification-bell:hover{background:#0000000d}.notification-bell:active{transform:scale(.95)}.notification-bell-icon{display:block;font-size:1.5em;line-height:1}.notification-badge{align-items:center;background:#dc2626;border-radius:10px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.7em;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.notification-bell--pulse .notification-badge{animation:pulse 2s infinite}@media (max-width:768px){.notification-bell{padding:6px}.notification-bell-icon{font-size:1.3em}.notification-badge{font-size:.65em;height:16px;min-width:16px;right:2px;top:2px}}@media (max-width:480px){.notification-bell-icon{font-size:1.2em}}.notifications-page{background:#f3f4f6;min-height:100vh;padding:20px}.notifications-page-container{margin:0 auto;max-width:800px}.notifications-back-btn{background:none;border:none;color:#1abc9c;color:var(--primary-color,#1abc9c);cursor:pointer;display:inline-block;font-size:15px;font-weight:600;padding:0 0 16px}.notifications-back-btn:hover{text-decoration:underline}.notifications-page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.notifications-page-title{color:#111827;font-size:1.8em;font-weight:700;margin:0 0 4px}.notifications-page-subtitle{color:#6b7280;font-size:.95em;margin:0}.notifications-page-action-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9em;font-weight:600;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.notifications-page-action-btn:hover{background:#1d4ed8;box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.notifications-page-action-btn:active{transform:translateY(0)}.notifications-filters{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:12px}.filter-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:.9em;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{background:#e5e7eb;border-color:#d1d5db}.filter-btn--active{background:#2563eb;border-color:#2563eb;color:#fff}.filter-badge{background:#ffffff4d;border-radius:10px;font-size:.85em;font-weight:700;padding:2px 6px}.filter-select-container{position:relative}.filter-select{-webkit-appearance:none;appearance:none;background:#f3f4f6;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='%234b5563' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.9em;padding:8px 32px 8px 12px;transition:all .2s ease}.filter-select:hover{background-color:#e5e7eb;border-color:#d1d5db}.filter-select--active{background-color:#2563eb;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='%23fff' d='M6 9 1 4h10z'/%3E%3C/svg%3E");border-color:#2563eb;color:#fff}.filter-select option{background:#fff;color:#111827}.notifications-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.notifications-loading{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.notifications-loading .spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:48px;margin-bottom:16px;width:48px}.notifications-loading p{color:#6b7280;font-size:.95em;margin:0}.notifications-empty{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.notifications-empty-icon{font-size:4em;margin-bottom:16px;opacity:.3}.notifications-empty h3{color:#111827;font-size:1.3em;font-weight:600;margin:0 0 8px}.notifications-empty p{color:#6b7280;font-size:.95em;margin:0}.notifications-pagination{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:8px;justify-content:center;padding:20px}.pagination-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-pages{align-items:center;display:flex;gap:4px}.pagination-page{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;font-size:.9em;height:36px;min-width:36px;padding:0 8px;transition:all .2s ease}.pagination-page:hover{background:#f3f4f6;border-color:#d1d5db}.pagination-page--active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.pagination-ellipsis{color:#9ca3af;padding:0 8px}@media (max-width:768px){.notifications-page{padding:12px}.notifications-page-header{align-items:flex-start;flex-direction:column;margin-bottom:16px}.notifications-page-title{font-size:1.5em}.notifications-page-action-btn{padding:12px 20px;width:100%}.notifications-filters{gap:6px;padding:8px}.filter-btn,.filter-select{font-size:.85em;padding:6px 12px}.filter-select{padding-right:28px}.notifications-list{gap:8px}.notifications-pagination{flex-wrap:wrap;padding:12px}.pagination-btn{flex:1 1;min-width:100px}.pagination-pages{justify-content:center;margin-bottom:8px;order:-1;width:100%}}@media (max-width:480px){.notifications-page-title{font-size:1.3em}.notifications-page-subtitle{font-size:.85em}.filter-btn,.filter-select{font-size:.8em}.pagination-page{font-size:.85em;height:32px;min-width:32px}}.dashboard{background-position:center -15%;background-size:1400px auto}@media (max-width:768px){.dashboard{background-position:16% -27px;background-size:1600px auto}}.dashboard-content h2,.dashboard-content>div>h2{margin-bottom:20px;margin-top:0;text-align:center}.dashboard-action-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:30px auto 0;max-width:1000px;width:100%}@media (max-width:768px){.dashboard-action-cards{grid-template-columns:repeat(2,1fr);max-width:100%}}@media (max-width:480px){.dashboard-action-cards{grid-template-columns:1fr}}button.action-card{appearance:none;-webkit-appearance:none;background:#fff;color:inherit;font-family:inherit;font-size:inherit;text-align:left;width:100%}.action-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:24px 20px;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}.camp-training-view{display:flex;flex-direction:column;gap:16px}.camp-subtabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:8px}.camp-subtab{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:color .2s,border-color .2s}.camp-subtab:hover{color:#2c3e50}.camp-subtab.active{border-bottom-color:#1abc9c;color:#1abc9c}.seasonal-no-period-notice{background:#f0f4f8;border-left:4px solid #90a4ae;border-radius:6px;color:#546e7a;font-size:14px;line-height:1.5;padding:14px 16px}@media (max-width:768px){.dashboard-nav{display:none}}.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}}:root{--color-primary-light:#667eea;--color-primary-dark:#764ba2;--color-white:#fff;--color-gray-50:#f7fafc;--color-gray-100:#edf2f7;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e0;--color-gray-600:#4a5568;--color-gray-700:#2d3748;--color-gray-900:#1a202c;--color-red-500:#e53e3e;--color-red-50:#fff5f5;--color-green-300:#68d391;--color-primary-darker:#5a67d8;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:30px;--spacing-4xl:40px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:24px;--font-size-xl:28px;--font-size-2xl:64px;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-normal:1.5;--line-height-relaxed:1.6;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-width:1px;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 20px 60px #0000004d;--transition-fast:0.2s ease;--transition-base:0.3s ease-out;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Courier New",Courier,monospace}.error-boundary-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary-dark) 100%);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-system);justify-content:center;min-height:100vh;padding:20px;padding:var(--spacing-xl)}.error-boundary-card{animation:slideIn .3s ease-out;animation:slideIn var(--transition-base);background:#fff;background:var(--color-white);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 20px 60px #0000004d;box-shadow:var(--shadow-lg);max-width:600px;padding:40px;padding:var(--spacing-4xl);text-align:center;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-boundary-icon{animation:pulse 2s ease-in-out infinite;font-size:64px;font-size:var(--font-size-2xl);margin-bottom:20px;margin-bottom:var(--spacing-xl)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-boundary-title{color:#1a202c;color:var(--color-gray-900);font-size:28px;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 16px;margin:0 0 var(--spacing-lg) 0}.error-boundary-message{color:#4a5568;color:var(--color-gray-600);font-size:16px;font-size:var(--font-size-md);line-height:1.6;line-height:var(--line-height-relaxed);margin:0 0 30px;margin:0 0 var(--spacing-3xl) 0}.error-boundary-details{background:#f7fafc;background:var(--color-gray-50);border:1px solid #e2e8f0;border:var(--border-width) solid var(--color-gray-200);border-radius:8px;border-radius:var(--border-radius-md);margin:20px 0;margin:var(--spacing-xl) 0;max-height:400px;overflow-y:auto;padding:20px;padding:var(--spacing-xl);text-align:left}.error-boundary-details h3{color:#e53e3e;color:var(--color-red-500);font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin:0 0 16px;margin:0 0 var(--spacing-lg) 0;text-transform:uppercase}.error-boundary-component-stack,.error-boundary-error-message,.error-boundary-stack{margin-bottom:16px;margin-bottom:var(--spacing-lg)}.error-boundary-details strong{color:#2d3748;color:var(--color-gray-700);display:block;font-size:12px;font-size:var(--font-size-xs);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.error-boundary-details pre{background:#1a202c;background:var(--color-gray-900);border-radius:6px;border-radius:var(--border-radius-sm);color:#68d391;color:var(--color-green-300);font-family:Courier New,Courier,monospace;font-family:var(--font-mono);font-size:12px;font-size:var(--font-size-xs);line-height:1.5;line-height:var(--line-height-normal);margin:0;overflow-x:auto;padding:12px;padding:var(--spacing-md);white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:12px;gap:var(--spacing-md);justify-content:center;margin:30px 0;margin:var(--spacing-3xl) 0}.error-boundary-btn{border:none;border-radius:8px;border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:16px;font-size:var(--font-size-md);font-weight:600;font-weight:var(--font-weight-semibold);padding:12px 16px;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s ease;transition:all var(--transition-fast)}.error-boundary-btn:hover{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-md);transform:translateY(-2px)}.error-boundary-btn:active{transform:translateY(0)}.error-boundary-btn-primary{background:#667eea;background:var(--color-primary-light);color:#fff;color:var(--color-white)}.error-boundary-btn-primary:hover{background:#5a67d8;background:var(--color-primary-darker)}.error-boundary-btn-secondary{background:#edf2f7;background:var(--color-gray-100);color:#2d3748;color:var(--color-gray-700)}.error-boundary-btn-secondary:hover{background:#e2e8f0;background:var(--color-gray-200)}.error-boundary-count{background:#fff5f5;background:var(--color-red-50);border-radius:6px;border-radius:var(--border-radius-sm);color:#e53e3e;color:var(--color-red-500);display:inline-block;font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin:20px 0 0;margin:var(--spacing-xl) 0 0 0;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.error-boundary-footer{border-top:1px solid #e2e8f0;border-top:var(--border-width) solid var(--color-gray-200);margin-top:30px;margin-top:var(--spacing-3xl);padding-top:20px;padding-top:var(--spacing-xl);text-align:left}.error-boundary-footer p{color:#4a5568;color:var(--color-gray-600);font-size:14px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 12px;margin:0 0 var(--spacing-md) 0}.error-boundary-footer ul{list-style:none;margin:0;padding:0}.error-boundary-footer li{color:#cbd5e0;color:var(--color-gray-300);font-family:Courier New,Courier,monospace;font-family:var(--font-mono);font-size:13px;font-size:var(--font-size-sm);padding:4px 0;padding:var(--spacing-xs) 0}@media (max-width:600px){.error-boundary-card{padding:24px;padding:var(--spacing-2xl)}.error-boundary-title{font-size:24px;font-size:var(--font-size-lg)}.error-boundary-message{font-size:14px;font-size:var(--font-size-base)}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%}.error-boundary-details{max-height:200px}}.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)}@media (min-width:769px){.dashboard-content{padding:0 clamp(20px,5vw,80px) 40px}.page-content-box{background:#ffffffed;border-radius:10px;box-shadow:0 4px 20px #0000001a;box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:1024px;padding:30px 36px}.page-content-box>*{margin-left:0;margin-right:0;max-width:100%}}.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}@media (min-width:769px){.login-page-wrapper .mondo-auth-layout>div{align-items:flex-end!important;padding-right:5%!important}.login-page-wrapper .mondo-auth-layout>div>div:first-child{max-width:450px!important;width:450px!important}.login-page-wrapper .mondo-auth-title{box-sizing:border-box!important;display:block!important;width:100%!important}.login-page-wrapper .login-form-container{max-width:450px;width:450px}}@media (max-width:768px){.login-form-container{display:flex;justify-content:center;width:100%}.dashboard[style*=tennis-desktop-bg]{background-position:center -15%!important;background-size:950px auto!important}.dashboard-content{padding:20px 15px}.dashboard-header-content{align-items:center;display:flex;justify-content:flex-start;padding:0 5%;position:relative}.dashboard-header-content .dashboard-logo{left:50%;position:absolute;transform:translateX(-50%)}.dashboard-header-nav{display:none!important}.dashboard-nav-content{gap:20px;overflow-x:auto;padding:0 15px}.nav-item{white-space:nowrap}.dashboard-content .absence-header h2,.dashboard-content .announcements-header h2,.dashboard-content .attendance-header h2,.dashboard-content .camps-header h2,.dashboard-content .children-header h2,.dashboard-content .my-camps-header h2,.dashboard-content .profile-header h2,.dashboard-content .schedule-header h2{background:#fff9!important;border-radius:8px;box-shadow:0 2px 8px #00000026;margin-left:0!important;margin-right:0!important;padding:15px 20px!important}.action-card h2,.dashboard-content .absence-empty h2,.dashboard-content .absence-form-card h2,.dashboard-content>div>div h2{background:none!important;box-shadow:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}}