.loading-spinner{border:5px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;width:50px;height:50px;margin:20px auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (display-mode:standalone){.loading-spinner{margin-top:env(safe-area-inset-top)}}.search-wrapper{z-index:10;position:relative}.search-container{border-radius:10px;grid-template-columns:5fr 5fr 20px;align-items:center;min-height:45px;padding:0 10px 0 13px;display:grid;position:relative}.search-wrapper.standalone .search-container{background-color:#e9e9eb;grid-template-columns:auto 1fr 45px;gap:10px;padding:0 0 0 10px;box-shadow:0 1px 2px #0000001a}.search-wrapper.standalone .result-container{left:90px;right:40px}.search-input{background-color:#0000;border:none;width:100%;height:100%;padding:0;font-size:1rem}.search-input:focus{outline:none}.search-button{cursor:pointer;background-color:#4a90e20d;border:none;border-radius:0 10px 10px 0;justify-content:center;align-items:center;height:100%;padding:0;transition:background-color .2s;display:flex}.search-button:hover{background-color:#4a90e226}.result-container{background-color:#fff;border-radius:10px;position:absolute;top:50px;left:calc(50% - 15px);right:30px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.result{max-height:300px;overflow-y:auto}.option{border-bottom:1px solid #e9e9eb;padding:10px;font-size:17px}.option:last-child{border-bottom:none}.option:hover,.focus{background-color:#e2e2e7}.result::-webkit-scrollbar{width:8px}.result::-webkit-scrollbar-thumb{background-color:#c7c7cc;border-radius:4px}.result::-webkit-scrollbar-track{background-color:#f2f2f7}.directory-container{flex-direction:column;max-width:60%;margin:auto;display:flex}.directory-link{color:#000;text-decoration:none}.directory-link:hover{text-decoration:underline}.directory-link-label{display:inline}.name-last-word{white-space:nowrap;position:relative}.section-header{margin-top:0;margin-bottom:.6rem}.directory-list h2{margin-top:.7rem;margin-bottom:.2rem;font-size:1.3rem}.directory-list hr{border:none;border-top:1px solid #ccc;margin-top:0;margin-bottom:.5rem}.grid-container{grid-template-columns:repeat(5,1fr);gap:8px 5px;margin-bottom:.5rem;display:grid}.badge-new{color:#2c5aa0;letter-spacing:.05em;text-transform:uppercase;background:#d6e8ffb3;border-radius:999px;padding:.08rem .25rem;font-size:.5rem;font-weight:600;position:absolute;top:0;right:0;transform:translate(80%,-30%)}.letter-row{align-items:flex-start;column-gap:.7rem;margin-bottom:.5rem;display:flex}.letter-badge{color:#fff;text-transform:uppercase;background-color:#777;border-radius:3px;justify-content:center;align-items:center;width:1.5rem;height:1.4rem;font-size:.85rem;font-weight:600;display:flex;transform:translateY(-.06em)}.letter-grid{flex:1}@media (width<=768px){.letter-row{flex-direction:column;align-items:flex-start}.letter-grid{width:100%}}.alerts{margin-bottom:.75rem}.alerts-clear{appearance:none;color:#495057;cursor:pointer;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:.75rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;box-shadow:0 1px 2px #0000000d}.alerts-clear:hover{color:#212529;background:#e9ecef;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a}.alert-line{border-left:3px solid #0000;padding:.25rem .4rem;font-size:.92rem;line-height:1.3}.alert-critical{color:#a94442;border-left-color:#d9534f}.alert-warning{color:#8a6d3b;border-left-color:#f0ad4e}@media (width<=768px){.grid-container{grid-template-columns:repeat(3,1fr)}}.search-form{margin-bottom:1rem}@media (width<=768px){.directory-container{max-width:90%}}.nav-menu{background-color:#fff;border-radius:10px;margin:1rem 0;padding:0;list-style:none;overflow:hidden;box-shadow:0 2px 8px #0000000d}.menu-item{position:relative}.menu-item:after{content:"";background-color:#d8d8dc;height:1px;position:absolute;bottom:0;left:15px;right:15px}.menu-item:last-child:after{display:none}.menu-link{color:inherit;justify-content:space-between;align-items:center;padding:13px 15px;text-decoration:none;transition:background-color .2s;display:flex}.menu-link:hover{background-color:#e5e5e5}.menu-content{align-items:center;gap:9px;display:flex}.menu-label{font-weight:500}.menu-arrow{opacity:.6}.header-section{text-align:left;margin-bottom:20px}.welcome-text{color:#666;margin:0;font-weight:400}.user-name{color:#333;margin:0;font-weight:600}.balance-container{text-align:center;margin:0 0 20px}.balance-label{letter-spacing:1px;color:#666;font-size:.875rem}.balance-amount{color:#333;margin-top:8px;font-size:1.9rem;font-weight:600}.progress-container{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000d}.progress-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.progress-title{color:#333;font-size:1.1rem;font-weight:500}.progress-percentage{color:#07c;font-size:1.1rem;font-weight:600}.progress-bar{background:#f0f0f0;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#07c,#00a0ff);border-radius:4px;width:0%;height:100%;transition:width .3s}.next-milestone{color:#666;margin-top:8px;font-size:.9rem;display:block}@keyframes progressGrow{0%{width:0}to{width:var(--target-width)}}.shortcut-buttons{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.5rem;display:grid}.shortcut-button{color:inherit;text-align:center;background-color:#fff;border-radius:8px;padding:.75rem;font-size:.9rem;text-decoration:none;box-shadow:0 2px 8px #0000000d}.shortcut-button:hover{background-color:#f8f9fa}@media (width<=768px){.welcome-text{font-size:1.2rem}.user-name{font-size:1.5rem}}@media screen and (width>=768px){.user-name,.welcome-text{font-size:1.3rem}.header-section{flex-direction:row;align-items:baseline;gap:4px;display:flex}.welcome-text:after{content:","}}.privacy-link{color:#202020;text-decoration:none}.privacy-link:hover{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:underline}.stat-icon{color:#404040;background:#eef1f5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:32px;display:flex}.pdf-button{color:#fff;background-color:#1976d2;border:none;border-radius:4px;margin-top:20px;padding:8px 16px;font-size:14px;text-decoration:none;display:inline-block;box-shadow:0 2px 4px #0003}.pdf-button:hover{cursor:pointer;background-color:#005a9e}.table{border-collapse:collapse;border-spacing:0;-webkit-text-size-adjust:100%;margin-right:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;display:inline-block;box-shadow:0 0 5px #00000014}[class^=col-]{text-align:center;color:#24292f;white-space:nowrap;vertical-align:middle;border:1px solid #d0d7de;width:auto;min-width:70px;max-width:none;padding:4px 5px;font-size:.875rem;display:table-cell;position:relative}.column-header{justify-content:center;align-items:center;min-height:20px;padding:0 2px;display:flex}.table-header:has(.column-config-btn.active) .column-header{gap:3px;padding-top:5px}.column-header:has(.filter-button.active){gap:3px;padding-top:5px}.column-title{text-align:center;font-size:.81rem;font-weight:600}.table-header [class^=col-],.table-header th{color:#24292f;background-color:#f6f8fa;border:1px solid #d0d7de;padding:6px 8px;font-size:.81rem;font-weight:600}.group-header-row .group-header{text-align:center;color:#5a6268;text-transform:uppercase;letter-spacing:.5px;background-color:#eaeef2;padding:5px;font-size:.79rem;font-weight:550;position:relative;box-shadow:0 1px 3px #0000001a}.column-header-row [class^=col-]{color:#333;background-color:#f6f8fa;padding:5px 3px;font-size:.875rem;font-weight:600}.column-header-row .column-title{color:#333;font-size:.875rem;font-weight:600}.summary-row{background-color:#f6f8fa;font-weight:600}.col-name{text-align:left}.col-index{min-width:30px}.group-header-row .col-index{min-width:50px}.col-actions{min-width:60px}.col-type,.col-attendance,.col-userRole,.col-recordType,.capitalize{text-transform:capitalize}.filter-button{color:#005a9e;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;appearance:none;background-color:#0000;border:none;border-radius:3px;outline:none;width:auto;max-width:35px;padding:2px;font-size:.69rem;overflow:hidden}.filter-button.active{color:#fff;background-color:#0969da;max-width:100px;padding:2px 4px}tbody tr:nth-child(2n) [class^=col-]{background-color:#f8f9fa}tbody tr:nth-child(odd) [class^=col-]{background-color:#fff}.column-config-btn{color:#005a9e;cursor:pointer;background-color:#0000;border:none;border-radius:3px;justify-content:center;align-items:center;padding:3px 4px;transition:all .2s;display:flex}.column-config-btn:hover:not(:disabled){color:#fff;background-color:#005a9e}.column-config-btn.active{color:#fff;background-color:#005a9e;box-shadow:0 2px 4px #0000001a}.column-config-btn.active:hover{background-color:#004080}.column-config-btn:disabled{cursor:default}.loading-indicator{animation:1s linear infinite spin}.column-config-guide{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;flex-direction:column;gap:6px;width:fit-content;margin-bottom:10px;padding:12px;display:flex;box-shadow:0 8px 24px #0000001f}.column-config-guide .guide-content{color:#5a6268;flex-flow:wrap;gap:4px;font-size:.81rem;display:flex}.column-config-guide .guide-content span{white-space:nowrap}.hidden-column{position:relative}.hidden-column .column-title{color:#6c757d;font-weight:400}.hidden-column:after{content:"HIDDEN";color:#6c757d;z-index:1;pointer-events:none;background-color:#6c757d1a;border-radius:2px;padding:1px 3px;font-size:.5rem;font-weight:400;position:absolute;top:2px;right:2px}.hidden-column-data{color:#6c757d;opacity:.6;background-color:#f8f9fa}.table-instructions{white-space:nowrap;color:#6c757d;font-size:.875rem}.table-instructions p{margin:0}.empty-table-message{text-align:center;color:var(--text-secondary,#666);border:1px solid #d0d7de;padding:.9rem;font-style:italic}.view-button{color:#005a9e;cursor:pointer;background-color:#0000;border:none;border-radius:3px;margin:0;padding:3px 10px}.view-button:hover{color:#fff;background-color:#005a9e}.action-buttons{justify-content:center;align-items:center;gap:5px;display:flex}.archive-button{cursor:pointer;background-color:#0000;border:1px solid #d3d3d3;border-radius:5px;padding:3px 10px}.archive-button:hover{background-color:#e0e0e0}.alert-critical{color:red}.alert-warning{color:#ff9500}.notification{color:#fff;z-index:1000;text-align:center;border-radius:10px;min-width:300px;max-width:90%;padding:0 20px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001a}.notification.success{color:#333;background-color:#50c878;animation:3s ease-in-out fadeInOut}.notification.error{color:#fff;background-color:#b22222;animation:6s ease-in-out fadeInOut}@keyframes fadeInOut{0%,to{opacity:0}20%,80%{opacity:1}}@media (width<=480px){.notification{top:20px}}@media (display-mode:standalone){.notification{top:calc(10px + env(safe-area-inset-top))}}@media (width>=768px){.notification{top:80px}}.document-photo{border-radius:5px;max-width:100%}.photo-submit-button{margin-top:15px;padding:10px 0}.caret-icon{color:#757575;margin-left:auto}.caret{transition:transform .3s}.caret.rotated{transform:rotate(180deg)}.list-item-content{background-color:#f9f9f9;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:10px 16px;animation:.2s ease-out fadeInDown}.list-item:last-child .list-item-content{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.main-container .task-section{margin-bottom:20px}.main-container .form-instructions{margin-top:.6rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.file-select-label{margin:0}.file-item{background-color:#ebebeb;border-radius:4px;justify-content:space-between;align-items:center;margin:0 0 .5rem;padding:.5rem;display:flex}.file-item a{color:#000;text-decoration:none}.file-item a:hover{text-decoration:underline}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.no-files{color:#757575;text-align:center}.status-icon{flex-shrink:0}.spinner{animation:2.5s linear infinite spin}.remove-button{cursor:pointer;color:#666;background:0 0;border:none;display:flex}.remove-button:hover{color:red}.button-container{justify-content:flex-end;align-items:center;gap:1rem;margin-left:10px;display:flex}.button-container label,.button-container button{cursor:pointer;border-radius:4px;padding:8px 10px;font-size:14px;transition:background-color .2s;display:inline-block}.file-upload-label{background-color:#005a9e}.file-upload-label:hover{background-color:#00487e}.file-upload-label.disabled{cursor:not-allowed;background-color:#ccc}.check-button{color:#fff;background-color:#404040;border:none}.check-button:hover{background-color:#000}.uncheck-button{color:#000;background-color:#fff;border:1px solid #000}.uncheck-button:hover{color:#000;background-color:#e0e0e0}.form-group .field-wrapper.switch-field{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.form-group .field-wrapper.switch-field:after{content:"";background-color:#c7c7cc;height:1px;position:absolute;bottom:0;left:15px;right:15px}.field-wrapper.switch-field{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.field-wrapper.switch-field:after{content:"";background-color:#c7c7cc;height:1px;position:absolute;bottom:0;left:0;right:0}.switch-label{color:#333;margin-left:3px;font-size:14px}.switch{width:46px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:2px;left:2px}input:checked+.slider{background-color:#005a9e}input:checked+.slider:before{transform:translate(22px)}.form{flex-direction:column;gap:14px;width:100%;margin:0 auto;display:flex}.form h2{margin:0}.form input[type=text],.form input[type=number],.form input[type=date],.form input[type=time],.form input[type=email],.form input[type=password],.form input[type=tel],.form select,.form textarea{color:#000;appearance:none;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;min-width:0;min-height:42px;font-size:16px}.form input[type=date],.form input[type=time]{text-align-last:left}.form input[type=date]::-webkit-calendar-picker-indicator{background:0 0;width:100%;height:100%;display:block;position:absolute;top:0;right:0}.form input[type=time]::-webkit-calendar-picker-indicator{background:0 0;width:100%;height:100%;display:block;position:absolute;top:0;right:0}.form textarea{field-sizing:content;resize:vertical;padding:5px;transition:min-height .2s}.form textarea:focus:not([readonly]){min-height:110px}.form input::placeholder,.form textarea::placeholder{color:#b8b8bb;opacity:.9}.form input::-webkit-input-placeholder{color:#b8b8bb;opacity:.9}.form textarea::-webkit-input-placeholder{color:#b8b8bb;opacity:.9}.form select[readonly],.form input[readonly],.form .highlight{cursor:default;pointer-events:none;color:#6d6d70;font-style:normal;font-weight:500;transform:skew(-5deg)}.form select[readonly]+.check-icon,.form input[readonly]+.check-icon{display:none}.form select:valid{font-weight:500}.form select:invalid{color:#8e8e93;font-style:italic}.section-title{color:#6e6e73;text-transform:uppercase;margin-bottom:5px;margin-left:4px;font-size:.85rem;font-weight:600}.form-group{background-color:#fff;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001c}.form-instructions{color:#8e8e93;margin:0;padding-left:16px;font-style:italic;list-style:outside}.field-wrapper:after,.landing-row:after,.row-wrapper:after{content:"";background-color:#c7c7cc;height:1px;position:absolute;bottom:0;left:15px;right:15px}.field-wrapper:last-child:after,.landing-row:last-child:after,.row-wrapper:last-child:after{display:none}.field-wrapper{grid-template-columns:1fr 1fr 20px;align-items:center;padding:0 10px 0 13px;display:grid;position:relative}.field-wrapper select:invalid{color:#8e8e93}.start-time{align-items:center;padding-right:10px;display:flex}.row-wrapper{justify-content:space-between;align-items:center;min-height:40px;padding:0 15px;display:flex;position:relative}.label-icon{text-wrap:nowrap;align-items:center;gap:4px;font-size:16px;display:flex}.check-icon{justify-self:end}.landing-row{grid-template-columns:5fr 5fr 20px;align-items:center;padding:0 15px;display:grid;position:relative}.landing-row .field-wrapper:after{display:none}.landing-select{align-items:center;gap:5px;display:flex;position:relative}.button-group{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.landings-button{color:#005a9e;cursor:pointer;background-color:#e5e5ea;border:none;border-radius:5px;padding:8px 12px;font-size:15px;font-weight:500;transition:background-color .3s}.landings-button:hover{background-color:#d1d1d6}.landings-button.delete{color:#ff3b30}.landings-button.delete:hover{background-color:#ffd1d1}.submit-button{text-align:center;cursor:pointer;color:#ffffffe6;background-color:#3a3a3a;border:none;border-radius:12px;width:100%;padding:13px;font-size:17px;font-weight:600;transition:all .3s;display:block}.submit-button:hover{background-color:#3a3a3c}.submit-button:active{background-color:#444446;transform:scale(.98)}.submit-button:disabled{cursor:not-allowed;animation:1.5s ease-in-out infinite ios-pulse}@keyframes ios-pulse{0%,to{opacity:1}50%{opacity:.5}}.form-errors{flex-direction:column;gap:5px;display:flex}.error-message{color:red;gap:5px;font-weight:500;display:flex}.error-message .error-icon{flex-shrink:0}.error-message .error-text{flex:1}.icon{color:#404040;background:#eef1f5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.file-select{padding:12px}.required-indicator{color:#005a9e;margin-left:-3px;font-weight:600}.section-title .required-indicator{margin-left:2px}@media (width>=769px){.form{max-width:550px}}@media (width<=768px){.form{gap:11px;max-width:100%}.label-icon{font-size:15px}}@media screen and (-webkit-device-pixel-ratio>=0){.field-wrapper{gap:0}input,select{margin:0;padding:0}}.record-list{background-color:#fff;border-radius:10px;margin:0;padding:0;list-style-type:none;overflow:hidden;box-shadow:0 2px 8px #0000000d}.list-item{position:relative}.list-item:after{content:"";background-color:#d8d8dc;height:1px;position:absolute;bottom:0;left:15px;right:15px}.list-item:last-child:after{display:none}.list-item-header{grid-template-columns:20px 1fr auto;align-items:center;gap:5px;padding:13px;text-decoration:none;display:grid}.list-item-header:hover{background-color:#e5e5e5}.item-name{color:#202020;word-break:break-word;min-width:0;font-weight:500}.privacy-header{text-align:center}.privacy-title{font-size:24px;font-weight:700}.privacy-intro{color:#202020;line-height:1.6}.section .section-header{align-items:center;gap:5px;display:flex}.section .section-header h2{margin:0;font-size:20px}.section-list{margin-top:10px;margin-bottom:20px;padding-left:30px;list-style-type:disc}.section-list li{margin-bottom:8px}.contact-section{border-top:1px solid #e5e7eb}.contact-section a{color:#202020}.table-container{width:100%;position:relative}.table-container .header{align-items:center;gap:.8rem;display:flex}.table-container .header h2{margin:0;font-size:1.5rem}.month-selector{color:#333;text-align:center;cursor:pointer;background-color:#f8f8f8;border:1px solid #ccc;border-radius:5px;width:145px;padding:5px 7px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 1px 3px #0000001a}.month-selector:hover{background-color:#e0e0e0;box-shadow:0 2px 5px #00000026}.flight-log-button{color:#333;cursor:pointer;background-color:#d1d1d6;border:none;border-radius:5px;margin-left:20px;padding:.5rem 1rem;font-size:.9rem;box-shadow:0 1px 3px #0000001a}.flight-log-button:hover{background-color:#b5b5bd}.select-wrapper{margin:0 0 10px;display:inline-block;position:relative}.type-select{color:#000;appearance:none;cursor:pointer;background:#fff;border:none;border-radius:6px;outline:none;padding:10px 35px 10px 12px;font-size:18px;font-weight:600;box-shadow:0 2px 8px #0000000d}.type-select:focus{box-shadow:0 0 0 3px #007aff4d}.dropdown-caret{pointer-events:none;color:#666;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.table-container .header h2{margin-top:0}.reading-mismatch{color:#b42323;white-space:nowrap;letter-spacing:.01em;background-color:#ffe2e2;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .45rem;font-size:.85rem;font-weight:600;display:inline-flex}@media (width>=769px){.main-container{max-width:550px;margin:0 auto}.month-selector{word-spacing:-5px;letter-spacing:-.5px}}@media (width<=768px){.main-container{max-width:100%}.flight-log-button{display:none}}.modal-overlay{z-index:100;background-color:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:#f5f6f6;border-radius:8px;max-width:90vw;max-height:90vh;padding:15px 18px;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000026}.modal-header-container{justify-content:space-between;align-items:stretch;gap:1rem;display:flex}.modal-header-container.book-form{margin-bottom:.5rem;font-size:1.06rem}.modal-header{color:#333;width:fit-content;margin:0;font-size:1.06rem;font-weight:500;display:flex}.modal-header .header-date{margin-left:.2rem;font-weight:600}.modal-header .header-separator:before{content:"";vertical-align:middle;background:#ccc;width:1px;height:12px;margin:0 8px;display:inline-block}.modal-close-btn{cursor:pointer;background:0 0;border:none;padding:0}@media (width<=768px){.modal-content{margin:20px}.modal-header{font-size:1rem}}.photos-container{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;display:grid}.photo-item{flex-direction:column;align-items:center;display:flex}.flight-photo{object-fit:cover;border-radius:12px;width:100%;height:200px}.photo-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:8px;font-size:18px;overflow:hidden}@media (width<=600px){.photos-container{grid-template-columns:1fr}.flight-photo{height:250px}}.maint-card{background-color:#fff;border-radius:10px;flex-direction:column;padding:20px;display:flex;box-shadow:0 2px 10px #0000001a}.maint-card-header{justify-content:space-between;align-items:top;display:flex}.maint-card-header h2{margin:0;font-size:20px;font-weight:600}.maint-card-header p{color:#8e8e93;margin:0;font-size:16px}.maint-card-header .reading-label{text-align:right;width:55px;display:inline-block}.maint-schedule{flex-direction:column;width:100%;display:flex}.maint-item{background-color:#fff;border-bottom:1px solid #c7c7cc;border-radius:0;padding:16px 0}.maint-item:last-child{border-bottom:none}.maint-item-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.maint-item-title h3{margin:0;font-size:17px;font-weight:600}.edit-button{color:#fff;cursor:pointer;text-align:center;text-wrap:nowrap;background-color:#005a9e;border:none;border-radius:5px;padding:5px 10px;font-size:15px;font-weight:600;transition:all .2s ease-in-out;box-shadow:0 2px 4px #0000001a}.edit-button:hover{background-color:#0077cb;box-shadow:0 4px 6px #0000001a}.edit-button:active{background-color:#004c85;box-shadow:0 1px 2px #0000001a}.status-bar{background-color:#e5e5ea;border-radius:3px;height:9px}.status-fill{border-radius:3px;width:0;height:100%;animation:.8s ease-out forwards progressGrow}.aircraft-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;display:grid}.user-profile{flex-direction:column;row-gap:1rem;display:flex}.program-label{margin:10px 15px}.date-input-group{gap:12px;margin-bottom:16px;display:flex}.save-button{float:right;cursor:pointer;color:#ffffffe6;background-color:#333;border:none;border-radius:5px;width:fit-content;margin-top:10px;padding:5px 20px;font-size:15px}.weekday-container{align-items:center;gap:12px;padding:8px;display:flex}.weekday-select{flex-wrap:wrap;gap:8px;display:flex}.weekday-option{cursor:pointer;background:#f8f8f8;border:1px solid #ddd;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:all .2s;display:flex}.weekday-option:hover{background:#f0f0f0;border-color:#ccc}.weekday-option input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.weekday-option span{-webkit-user-select:none;user-select:none;font-size:13px}.weekday-option input[type=checkbox]:checked+span{color:#005a9e}.helper-text{margin-bottom:1rem}.helper-text p{margin:.1rem 0}.helper-text ul{margin:0;padding-left:1rem}.helper-text li{margin:.1rem 0}@media (width>=769px){.form-left{margin-left:0;margin-right:auto}}.tabs{gap:5px;display:flex}.tab{text-wrap:nowrap;letter-spacing:.5px;color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:8px 13px;font-size:16px;transition:all .2s;display:flex}.tab:hover{color:#2563eb;background-color:#dbeafe}.tab.active{color:#005a9e;background-color:#bfdbfe}.header-container{border-bottom:1px solid #e0e0e0;justify-content:flex-start;align-items:center;gap:15px;margin-bottom:10px;padding:0 0 5px;display:flex}.header-container h2{margin:0;font-size:20px}@media (width<=768px){.header-container{flex-direction:column;align-items:flex-start;gap:12px}.tab{padding:6px 8px}}.airport-form{max-width:550px;margin:0 auto}.add-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.add-section input[type=text],.add-section input[type=number]{border:1px solid #ddd;border-radius:4px;padding:6px 10px;font-size:14px}.add-section label{align-items:center;gap:4px;font-size:14px;display:flex}.add-section button,.controls button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:14px;transition:all .2s}.add-section button:hover,.controls button:hover{background:#e9ecef;border-color:#bbb}.controls button.delete{color:#721c24;background:#f8d7da;border-color:#f1aeb5}.controls button.delete:hover{color:#721c24;background:#f1aeb5}.airport-item{border:1px solid #ddd;border-radius:8px;margin-bottom:8px;transition:all .2s;overflow:hidden}.airport-item:hover{border-color:#bbb}.airport-item.selected{border-color:#005a9e;box-shadow:0 2px 8px #007bff26}.airport-line{cursor:pointer;background:#fff;align-items:center;gap:12px;padding:12px 16px;transition:background-color .2s;display:flex}.airport-line:hover{background:#f8f9fa}.airport-line.selected{background:#e3f2fd}.airport-line input[type=number]{border:1px solid #ddd;border-radius:4px;width:80px;padding:4px 6px;font-size:14px}.controls{background:#f5f5f5;border-top:1px solid #e0e0e0;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.controls input{border:1px solid #ddd;border-radius:4px;width:60px;padding:4px 8px;font-size:14px}@media (width<=480px){.airport-form{max-width:100%}.airport-line{gap:8px;padding:8px 10px}.add-section{flex-direction:column;align-items:stretch;gap:8px}.controls{flex-wrap:wrap;gap:8px}.controls input{width:40px}.controls button{padding:6px 10px;font-size:12px}}.nav-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;background-color:#fffc;width:100%;position:fixed;box-shadow:0 -2px 10px #0000001a}.secondary-menu{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:50;background-color:#f2f2f2cc;border-radius:13px;height:auto;padding:10px 20px;position:fixed;box-shadow:0 2px 8px #0000001a}.secondary-menu .nav-item:last-child .nav-label{color:red}@media (width<=768px){.nav-bar{height:65px;bottom:0}.nav-group{flex-direction:row;justify-content:space-between;align-items:center;height:100%;padding:0 10px;display:flex}.nav-item{color:#333;flex-direction:column;flex:1;align-items:center;font-size:12px;text-decoration:none;display:flex}.nav-label{margin-top:4px}.secondary-menu{z-index:1000;isolation:isolate;border-radius:13px;width:calc(100% - 40px);max-width:400px;margin:0 auto;padding:0;animation:.2s ease-out slideFromBottom;display:block;position:fixed;bottom:0;left:0;right:0}.secondary-menu.show{bottom:75px}@media (display-mode:standalone){.secondary-menu.show{bottom:calc(60px + env(safe-area-inset-bottom))}}@keyframes slideFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.secondary-menu .nav-item{margin:0}.secondary-menu .nav-item:not(:last-child){border-bottom:1px solid #0000001a}.secondary-menu .nav-label{margin:0;padding:15px 0;font-size:16px;font-weight:500}}@media (width<=768px) and (display-mode:standalone){.nav-bar{height:calc(50px + env(safe-area-inset-bottom))}.nav-group{align-items:flex-start;padding:8px 10px 0}}@media (width>=769px){.nav-bar{height:50px;display:flex;top:0}.nav-group{flex-direction:row;justify-content:space-between;align-items:center;column-gap:20px;width:100%;height:100%;padding:0 20px;display:flex}.nav-item{color:#333;cursor:pointer;flex-direction:row;align-items:center;text-decoration:none;display:flex}.user-item{margin-left:auto}.nav-label{margin-left:8px}.add-button{display:none}.secondary-menu{flex-direction:column;padding:0;display:flex;top:60px;right:10px}.secondary-menu .nav-item{box-sizing:border-box;width:100%;padding:0 16px;position:relative}.secondary-menu .nav-item:not(:last-child):after{content:"";background-color:#0000001a;height:1px;position:absolute;bottom:0;left:0;right:0}.secondary-menu .nav-item:hover{background-color:#0000000d}.secondary-menu .nav-item:first-child{border-radius:10px 10px 0 0}.secondary-menu .nav-item:last-child{border-radius:0 0 10px 10px}.secondary-menu .nav-label{margin:0;padding:10px 4px;font-size:14px}}@media (width>=768px) and (display-mode:standalone){.nav-bar{padding-top:15px}}.financial-report{margin:0 auto}.financial-report h1{margin:0 0 20px;font-size:1.3rem;font-weight:600}.financial-report h2{margin:40px 0 10px;font-size:1.2rem;font-weight:600}.financial-report h2:first-of-type{margin-top:20px}.currency-cell,.hours-cell{letter-spacing:.3px;font-family:Monaco,Courier New,monospace}.financial-report table td[class*=col-]:not(.col-index):not(.col-name):not(.col-actions){text-align:right}.booking-modal-content{flex-direction:column;gap:.5rem;display:flex}.modal-time{color:#333;font-size:1.3rem;font-weight:550}.modal-badges{align-items:center;gap:.3rem;margin-bottom:.2rem;display:flex}.modal-badges .booking-type,.modal-badges .booking-status{font-size:.9rem}.modal-details-section{flex-direction:row;justify-content:space-between;align-items:stretch;gap:1rem;max-width:min(350px,80vw);display:flex}.modal-details-section.with-divider{border-bottom:1px solid #d1d5db;min-width:280px;margin-bottom:.1rem;padding-bottom:.7rem}.modal-details{flex-direction:column;flex:1;justify-content:flex-start;gap:.3rem;min-width:0;display:flex;overflow:hidden}.modal-info{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;margin-bottom:.4rem;font-weight:500;display:flex;overflow:hidden}.modal-info:last-child{margin-bottom:0}.side-actions{flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:flex-end;gap:.5rem;width:100px;display:flex}.modal-actions{justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.booking-btn{cursor:pointer;box-sizing:border-box;color:#374151;text-wrap:nowrap;text-align:center;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;min-width:100px;padding:8px 16px;font-size:.875rem;transition:all .2s}.booking-btn-group{flex-direction:column;gap:.5rem;display:flex}.button-group-end{justify-content:flex-end;gap:10px;display:flex}.booking-btn:hover{background-color:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.booking-btn.primary{color:#0277bd;background-color:#e0f2fe;border-color:#81d4fa}.booking-btn.primary:hover{background-color:#b3e5fc;border-color:#4fc3f7}.booking-btn.destructive{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.booking-btn.destructive:hover{background-color:#fee2e2;border-color:#fca5a5}.booking-btn.secondary{color:#475569;background-color:#f8fafc;border-color:#cbd5e1}.booking-btn.secondary:hover{background-color:#f1f5f9;border-color:#94a3b8}.date-navigation{flex:1;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.date-nav-button{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.date-nav-button:disabled{cursor:not-allowed;background-color:#f5f5f5;border-color:#ccc}.date-nav-button:hover{background-color:#f5f5f5;border-color:#ccc}.date-selector-container{min-width:180px;position:relative}.date-selector-container:hover .date-display{background-color:#e0e0e0;box-shadow:0 2px 5px #00000026}.date-selector{opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.date-selector::-webkit-calendar-picker-indicator{cursor:pointer;background:0 0;width:100%;height:100%;display:block;position:absolute;top:0;right:0}@-moz-document url-prefix(){.date-selector{opacity:1;text-align:center;box-sizing:border-box;padding:5px;position:relative}.date-display{display:none}}.date-display{text-align:center;pointer-events:none;background-color:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:6px 8px;font-size:16px;font-weight:500;transition:all .2s;box-shadow:0 1px 3px #0000001a}.date-display:hover{background-color:#e0e0e0;box-shadow:0 2px 5px #00000026}@media (width<=768px){.schedule-header .date-navigation{flex:0 auto;justify-content:center;margin-bottom:0}.date-nav-button.desktop-only{display:none}.date-nav-bottom-bar{pointer-events:none;z-index:10;background:0 0;gap:1rem;display:flex;position:fixed;bottom:85px;left:50%;transform:translate(-50%)}.date-nav-arrow{pointer-events:auto;text-wrap:nowrap;-webkit-backdrop-filter:blur(16px)saturate(180%);color:#000000bf;text-shadow:0 .5px 1px #ffffff80;cursor:pointer;background:linear-gradient(135deg,#ffffff59 0%,#ffffff26 50%,#ffffff40 100%);border:none;border-radius:22px;padding:.65rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .2s;position:relative;box-shadow:inset 0 .5px .5px #fff9,inset 0 -.5px .5px #fff3,0 2px 12px #00000014,0 0 0 .5px #ffffff4d}.date-nav-arrow:active{background:linear-gradient(135deg,#ffffff80 0%,#ffffff40 50%,#ffffff59 100%);transform:scale(.96)}.date-nav-arrow input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}}@media (width<=768px) and (display-mode:standalone){.date-nav-bottom-bar{bottom:calc(80px + env(safe-area-inset-bottom))}}@media (width>=769px){.date-nav-bottom-bar{display:none}}.booking-tooltip{text-wrap:nowrap;pointer-events:auto;box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:150px;max-width:min(280px,100vw - 40px);padding:12px;font-size:.875rem;position:fixed;overflow:hidden;box-shadow:0 4px 10px #00000026}.tooltip-header{flex-direction:column;gap:.2rem;margin-bottom:.5rem;display:flex}.tooltip-time{color:#333;letter-spacing:-.01em;align-items:center;gap:.3rem;font-size:1rem;font-weight:500;display:flex}.tooltip-meta{align-items:center;gap:.3rem;display:flex}.tooltip-content{flex-direction:column;gap:.4rem;display:flex}.tooltip-info{align-items:center;gap:.5rem;font-weight:500;display:flex}.booking-type{text-transform:capitalize;border-radius:.375rem;padding:.3rem .5rem;font-size:.75rem;font-weight:550}.booking-type.small{border-radius:.37rem;padding:.12rem .35rem;font-size:.75rem;font-weight:500}.type-training{color:#1e40af;background-color:#dbeafe}.type-discovery{color:#4c3566;background-color:#e9e3ff}.type-solo{color:#be185d;background-color:#f9e6f0}.type-checkride{color:#991b1b;background-color:#fef2f2}.type-ground{color:#8b5a3c;background-color:#e8e5e1}.type-relocation{color:#475569;background-color:#e2e8f0}.type-maintenance{color:#4b5563;background-color:#e5e5e5}.type-checkout{color:#b45309;background-color:#fef3c7}.type-rental{color:#16a34a;background-color:#d1fae5}.booking-status{text-transform:capitalize;font-size:.7rem;font-weight:500}.status-scheduled{color:#065f46}.status-cancelled{color:#b91c1c}.status-recurring{color:#0284c7}.status-completed{color:#1f2937}.horizontal-booking{color:#fff;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-left:4px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:.75rem;transition:all .2s;display:flex;position:absolute;overflow:hidden}.horizontal-booking.cancelled{align-items:flex-start;height:20px!important;top:auto!important;bottom:1px!important}.vertical-booking{color:#fff;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-left:3.5px solid #0000;border-radius:4px;flex-direction:column;gap:.1rem;width:100%;height:100%;padding:.2rem .4rem;font-size:.75rem;transition:all .2s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0000001a}.booking-info{text-wrap:nowrap;text-transform:capitalize;overflow:hidden}.booking-info .booking-time{font-family:Lekton,monospace;font-size:.9rem;font-weight:700}@media (hover:hover){.horizontal-booking:hover,.vertical-booking:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}}.horizontal-booking.scheduled,.vertical-booking.scheduled{border-left-color:#28a745}.horizontal-booking.completed,.vertical-booking.completed{border-left:none}.horizontal-booking.cancelled,.vertical-booking.cancelled{opacity:.55;border-left-color:#dc3545}:is(.horizontal-booking.cancelled,.vertical-booking.cancelled) .booking-time{text-decoration:line-through}.horizontal-booking.recurring,.vertical-booking.recurring{border-left-color:#0ea5e9}.current-time-indicator{z-index:15;pointer-events:none;position:relative}.current-time-indicator.vertical{grid-column:2/-1;overflow:hidden}.current-time-indicator.horizontal{grid-row:2/-1;align-self:stretch}.current-time-line{background-color:#005a9e;position:absolute}.current-time-indicator.vertical .current-time-line{height:2px;left:0;right:0}.current-time-indicator.horizontal .current-time-line{width:2px;height:100%;top:0;bottom:0}.current-time-dot{background-color:#005a9e;border-radius:50%;width:10px;height:10px;position:absolute}.current-time-indicator.vertical .current-time-dot{top:-4px;left:-5px}.current-time-indicator.horizontal .current-time-dot{top:-5px;left:-4px}.grid-timeline-container{overscroll-behavior:contain;touch-action:pan-y pan-x;-webkit-overflow-scrolling:touch;will-change:scroll-position;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e9ecef;grid-template-rows:50px;grid-auto-rows:25px;justify-content:stretch;width:100%;height:100%;display:grid;position:relative;overflow:hidden auto}.grid-timeline-container.horizontal{grid-template-rows:35px;grid-template-columns:150px;grid-auto-rows:35px;grid-auto-columns:60px}.grid-header-corner{z-index:30;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #ddd;grid-area:1/1;position:sticky;top:0;left:0}.grid-timeline-container:not(.horizontal) .grid-header-corner{max-width:60px}.grid-resource-header{z-index:20;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #e9ecef;grid-row:1;justify-content:center;align-items:center;padding:.5rem;font-size:.8rem;font-weight:500;display:flex;position:sticky;top:0}.grid-timeline-container.horizontal .grid-resource-header-horizontal{z-index:20;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-right:1px solid #ddd;grid-column:1;justify-content:flex-start;align-items:center;padding-left:1rem;font-size:.9rem;font-weight:500;display:flex;position:sticky;left:0}.grid-time-label{z-index:20;color:#6c757d;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-right:1px solid #ddd;grid-column:1;justify-content:center;align-items:flex-start;padding-top:4px;font-size:.75rem;font-weight:500;display:flex;position:sticky;left:0}.grid-timeline-container:not(.horizontal) .grid-time-label{max-width:60px}.grid-timeline-container.horizontal .grid-time-label-horizontal{z-index:20;letter-spacing:-.5px;white-space:nowrap;color:#6c757d;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #e9ecef;grid-row:1;justify-content:flex-start;align-items:center;padding-left:2px;font-size:.7rem;font-weight:500;display:flex;position:sticky;top:0;overflow:visible}.grid-time-label.hour-mark{border-bottom:none}.grid-timeline-container.horizontal .grid-time-label-horizontal.hour-mark{border-bottom:1px solid #ddd;border-right:1px solid #e9ecef}.grid-slot-cell{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;background:#fff;border-bottom:1px solid #f1f3f5;border-right:1px solid #f1f3f5;transition:background-color .2s}@media (hover:hover){.grid-slot-cell:hover{background-color:#f8f9fa}}.grid-slot-cell.blocked{cursor:not-allowed;background:#f3f4f6 repeating-linear-gradient(45deg,#0000,#0000 10px,#e9ecef 10px 20px)}.grid-slot-cell.hour-end{border-bottom:1px solid #e9ecef}.grid-timeline-container.horizontal .grid-slot-cell.hour-end{border-bottom:1px solid #f1f3f5;border-right:1px solid #e9ecef}.grid-booking-wrapper{touch-action:manipulation;pointer-events:auto;padding:0 1px;position:relative}.grid-timeline-container.horizontal .grid-booking-wrapper{padding:1px 0}@media (width<=768px){.grid-timeline-container{-webkit-overflow-scrolling:touch;grid-template-rows:40px;grid-auto-rows:22px;height:auto;overflow:auto}.grid-timeline-container.horizontal{grid-template-rows:30px;grid-template-columns:70px;grid-auto-rows:30px}.grid-time-label{padding-top:2px;font-size:.65rem}.grid-resource-header{min-width:80px;padding:.25rem;font-size:.7rem}.grid-timeline-container:not(.horizontal) .grid-slot-cell{min-width:80px}.grid-timeline-container.horizontal .grid-resource-header-horizontal{padding-left:.5rem;font-size:.75rem}.grid-timeline-container.horizontal .grid-time-label-horizontal{padding-left:1px;font-size:.6rem}}.booking-item{color:#fff;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;z-index:20;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#2196f3;border-left:5px solid #0000;border-radius:3px;padding:.125rem .25rem;font-size:.75rem;transition:all .2s;overflow:hidden}.booking-item .booking-time{font-family:Lekton,monospace;font-size:.8rem;font-weight:700}.booking-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.booking-item.scheduled{border-left-color:#28a745}.booking-item.recurring{border-left-color:#0ea5e9}.booking-item.cancelled{opacity:.5;border-left-color:#dc3545}.booking-item.cancelled .booking-time{text-decoration:line-through}.booking-item.completed{border-left:none;padding-left:.3rem}@media (width<=767px){.booking-item{padding:.25rem .3rem;font-size:.65rem;line-height:1}}.booking-action-buttons{align-items:center;gap:.5rem;padding:.125rem 0;display:flex}.booking-actions{align-items:center;gap:.5rem;display:flex}.action-btn{cursor:pointer;border:1px solid #0000;border-radius:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.edit-btn{color:#fff;background-color:#3b82f6}.edit-btn:hover{background-color:#2563eb}.cancel-btn{color:#fff;background-color:#ef4444}.cancel-btn:hover{background-color:#dc2626}.agenda-view .col-displayDate{color:#374151;width:100px;font-weight:500}.agenda-view .table-row .col-timeRange{word-spacing:-5px;min-width:165px;padding:.31rem .5rem;font-family:monospace;font-size:1rem}@media (width<=768px){.agenda-view{padding-top:30px}}@media (width<=768px) and (display-mode:standalone){.agenda-view{padding-top:var(--safe-top)}}.view-selector-container{display:flex}.view-selector-buttons{gap:0;display:none}.view-btn{cursor:pointer;background-color:#fff;border:1px solid #ddd;padding:.4rem .75rem;font-size:.85rem;transition:all .15s}.view-btn:first-child{border-radius:4px 0 0 4px}.view-btn:last-child{border-radius:0 4px 4px 0}.view-btn:not(:first-child){margin-left:-1px}.view-btn:hover{z-index:1;background-color:#f5f5f5}.view-btn.active{color:#fff;z-index:2;background-color:#005a9e;border-color:#005a9e}.view-selector-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.25rem;padding:6px 8px 6px 10px;display:flex;box-shadow:0 1px 3px #0000001a}.view-selector-dropdown label{color:#666;white-space:nowrap;font-size:.9rem;font-weight:400}.view-selector-dropdown .view-select{appearance:none;cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-size:.9rem}.view-selector-dropdown .caret-icon{color:#666}@media (width>=768px){.view-selector-buttons{display:flex}.view-selector-dropdown{display:none}}@font-face{font-family:Lekton;src:url(/fonts/Lekton-Bold.woff2)format("woff2");font-weight:700;font-display:block}.schedule-header{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}@media (width<=768px){.schedule-header{z-index:100;background:#f8f9fa;border-bottom:1px solid #ddd;flex-direction:row;justify-content:center;align-items:center;height:60px;position:fixed;top:0;left:0;right:0}.grid-timeline-container{margin:0;position:fixed;inset:60px 0 65px;overflow:scroll}}@media (width<=768px) and (display-mode:standalone){.schedule-header{padding-top:var(--safe-top)}.grid-timeline-container{top:calc(60px + var(--safe-top));bottom:calc(50px + env(safe-area-inset-bottom))}}.book-button-group{justify-content:flex-end;gap:10px;display:flex}.book-button-group .disabled{opacity:.6;color:#999;cursor:not-allowed;pointer-events:none;background-color:#f5f5f5;border-color:#e0e0e0}.schedule-legend{gap:10px;margin-top:10px;padding:4px;display:flex}.legend-item{align-items:center;gap:3px;font-size:.81rem;display:flex}.legend-color{border-radius:3px;width:10px;height:10px}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).training{background-color:#405775}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).ground{background-color:#8b6b5c}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).discovery{background-color:#6b4c93}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).solo{background-color:#c97ba5}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).checkride{background-color:#9e4444}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).maintenance{background-color:#6b7280}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).relocation{background-color:#64748b}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).checkout{background-color:#c4a000}:is(.legend-color,.horizontal-booking,.vertical-booking,.booking-item).rental{background-color:#4d8b4d}.calendar-container{table-layout:fixed;border-collapse:separate;border-spacing:0;background:#f8f9fa;border:1px solid #e9ecef;border-radius:.5rem;width:100%;min-width:850px;display:table;overflow-x:auto}.calendar-row{display:table-row}.day-cell{cursor:pointer;vertical-align:top;background:#fff;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;height:85px;padding:.5rem;transition:background-color .2s;display:table-cell;position:relative}.day-cell.read-only{cursor:default}@media (hover:hover){.day-cell:hover:not(.other-month):not(.read-only){background:#f8f9fa}}.day-cell.other-month{color:#adb5bd;cursor:not-allowed;background:#e9ecef}.day-cell.today{background:#e3f2fd99;border:2px solid #2196f3}.day-bookings{flex-direction:column;flex:1;gap:.25rem;display:flex}.more-bookings{color:#6c757d;text-align:center;padding:.125rem;font-size:.7rem;font-style:italic}.week-header{z-index:20;height:65px;display:table-row;position:sticky;top:0}.week-header .resource-header{vertical-align:middle;text-align:center;z-index:20;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #ddd;width:80px;display:table-cell;position:sticky;top:0;left:0}.calendar-row .resource-info{vertical-align:middle;z-index:15;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #e9ecef;padding:0 .5rem;font-size:.875rem;font-weight:500;display:table-cell;position:sticky;left:0}.week-header-cell{vertical-align:middle;text-align:center;z-index:15;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #e9ecef;padding:.75rem .5rem;display:table-cell;position:sticky;top:0}.week-header-cell .weekday-name{color:#495057;font-size:.875rem;font-weight:600}.week-header-cell .weekday-date{color:#6c757d;margin-top:.25rem;font-size:.75rem;font-weight:500}.month-header-cell{text-align:center;color:#495057;background:#f8f9fa;border-bottom:1px solid #ddd;border-right:1px solid #e9ecef;padding:.5rem;font-size:.875rem;font-weight:600;display:table-cell;position:relative}.day-number{margin-bottom:.25rem;font-size:.8rem;font-weight:500}@media (width<=768px){.calendar-wrapper{touch-action:pan-y pan-x;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0;position:fixed;inset:60px 0 65px;overflow:auto}.calendar-container{background:0 0;border-bottom:none;border-left:none;border-right:none;border-radius:0}.week-header{z-index:25;position:sticky;top:0}.week-header .resource-header{z-index:30;position:sticky;top:0;left:0}.week-header-cell{z-index:20;padding:.5rem .25rem;position:sticky;top:0}.week-header-cell .weekday-name{font-size:.85rem}.week-header-cell .weekday-date{font-size:.75rem}.calendar-row .resource-info{z-index:15;padding:0 .5rem;font-size:.85rem;position:sticky;left:0}.month-header-cell{z-index:20;padding:.5rem;font-size:.85rem;position:sticky;top:0}.day-cell{height:85px;padding:.4rem}.day-bookings{gap:.2rem}.day-number{font-size:.8rem}.more-bookings{font-size:.7rem}}@media (width<=768px) and (display-mode:standalone){.calendar-wrapper{top:calc(60px + var(--safe-top));bottom:calc(50px + env(safe-area-inset-bottom))}}.settings-page{max-width:600px;margin:0 auto}.settings-page h1{color:#1a1a1a;margin:0 0 15px;font-size:24px;font-weight:600}.settings-section{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #0000001a}.settings-section h2{color:#333;margin:0 0 8px;font-size:18px;font-weight:600}.settings-description{color:#666;margin:8px 0;font-size:14px}.text-size-selector{border:1px solid #e5e5ea;border-radius:8px;display:flex;overflow:hidden}.text-size-option{color:#333;cursor:pointer;background:#fff;border:none;border-right:1px solid #e5e5ea;flex:1;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s}.text-size-option:last-child{border-right:none}.text-size-option:hover:not(.active){background:#f8f9fa}.text-size-option.active{color:#fff;background:#005a9e}.notification-skeleton{flex-direction:column;gap:12px;display:flex}.skeleton-row{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:8px;height:40px;animation:1.5s infinite skeleton-shimmer}.skeleton-row.short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notification-masters{margin-bottom:10px}.notification-hint{color:#888;margin:4px 0 0;font-size:12px;font-style:italic}.notification-group{padding-top:16px}.notification-group h3{color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 5px;font-size:15px;font-weight:600}.notification-events{flex-direction:column;gap:5px;display:flex}.notification-event-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.event-label{color:#333;font-size:15px}.event-toggles{gap:8px;display:flex}.checkbox-option{cursor:pointer;color:#333;align-items:center;gap:.25rem;font-size:14px;display:flex}.checkbox-option input[type=checkbox]{accent-color:#005a9e;cursor:pointer;width:1.1rem;height:1.1rem}.checkbox-option:has(input:disabled){opacity:.5;cursor:not-allowed}.checkbox-option:has(input:disabled) input{cursor:not-allowed}@media (width<=768px){.settings-page h1{font-size:22px}}.signin-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.signin-container p,.signin-container h2{text-align:center;margin:0}.signin-container .field-wrapper{grid-template-columns:1fr 9fr 20px}.resend-button{cursor:pointer;color:#000;background-color:#0000;border:none;margin-right:auto;padding:0;font-size:.9rem}.resend-button:hover{text-decoration:underline}.resend-button:disabled{text-decoration:none}.password-toggle{cursor:pointer;color:#000;background:0 0;border:none;align-items:center;padding:0;display:flex}.signin-links{justify-content:space-between;width:100%;display:flex}.signin-links a{color:#000;text-decoration:none}.signin-links a:hover{text-decoration:underline}@media (width>=769px){.signin-container .form{width:405px}}@media (width<=768px){.signin-container .form{width:85%}}.mfa-method-section{background:#fafafa;border:1px solid #e1e5e9;border-radius:8px;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1.5rem;display:flex}.icon-default{color:#555;width:22px;height:22px}.mfa-method-section .field-wrapper{grid-template-columns:20px auto 20px;gap:5px;padding:0 5px 0 10px}.mfa-method-section input{color:#000;appearance:none;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;min-width:0;min-height:42px;font-size:16px}.mfa-method-section h3{color:#333;align-items:center;gap:5px;margin:0;font-size:1.1rem;display:flex}.mfa-method-section p{color:#666;margin:0;font-size:.9rem}.qr-code-container{text-align:center;background:#fff;border-radius:8px;padding:1rem}.qr-code-container p{margin-bottom:1rem;font-weight:500}.mfa-button{cursor:pointer;border:1px solid #ddd;border-radius:4px;width:fit-content;padding:.5rem 1rem}.mfa-button:hover{background-color:#f5f5f5;border-color:#ccc}.mfa-button:disabled{opacity:.6;cursor:not-allowed}.background-img{z-index:3;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:250px;position:relative;top:0}.background-title{text-align:center;color:#fff;z-index:3;width:100%;font-size:2.5em;font-weight:600;position:absolute;top:2em}.background-color{z-index:2;background-color:#4a486f;width:100%;height:50px;position:fixed;top:0}.navbar{z-index:4;justify-content:space-between;align-items:center;width:100%;height:50px;display:flex;position:fixed;top:0}.brand{color:#fff;margin-left:20px;font-size:1.2em;font-weight:600;text-decoration:none}.menu{justify-content:space-evenly;align-items:center;column-gap:20px;margin-top:13px;padding:0;list-style-type:none;display:flex}.menu a{color:#fff;font-weight:700;text-decoration:none}.menu a:hover,.menu .active-link{text-underline-offset:3.5px;text-decoration:underline}.hamburger{margin-right:10px;display:none}.bar{background-color:#fff;width:25px;height:3px;margin:5px auto;transition:all .3s ease-in-out;display:block}.lang-select{color:#fff;background-color:#0000;border:none;margin:0 20px 0 0;padding:0}.lang-select:hover{cursor:pointer}@media only screen and (width<=768px){.brand{font-size:1.2em}.menu{background-color:#fff;flex-direction:column;align-items:stretch;width:100%;height:0;transition:all .5s;position:fixed;top:35px;overflow:hidden;box-shadow:0 2px 3px #0000001a}.menu a{text-align:center;color:#4a486f;padding:12px 0;display:block}.menu.active{height:215px}.lang-select{position:fixed;top:15px;right:40px}.hamburger{cursor:pointer;display:block}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.active .bar:nth-child(3){transform:translateY(-8px)rotate(-45deg)}}video{object-fit:cover;object-position:center;width:100%;height:100%;position:fixed;top:0}.name{color:#fff;justify-content:center;align-items:center;column-gap:20px;margin:auto;font-family:Gill Sans,Futura,serif;font-size:5em;font-weight:600;display:flex;position:absolute;top:25vh;left:0;right:0}.enter-container{text-align:center;margin:auto;font-size:2em;position:absolute;top:60vh;left:0;right:0}.enter-link{color:#fff;font-family:Gill Sans,Futura,serif;font-size:1.5em;text-decoration:none}.enter-link:hover{text-decoration:underline}@media only screen and (width<=768px){.name{flex-direction:column;font-size:3.5em}.enter-link{font-size:1.1em}}.posts-container{flex-wrap:wrap;justify-content:space-evenly;width:90%;margin:20px auto;display:flex}.post-img{border-radius:10px;width:45%;height:100%;margin-top:15px}.post{width:45%}.post ul{margin:0;padding-left:25px}.post-title{text-underline-offset:6px;margin-top:15px;margin-bottom:0;font-size:1.5em;-webkit-text-decoration:underline #827397;text-decoration:underline #827397;text-decoration-thickness:5px}.post-requirement{margin-bottom:5px;font-size:1.1em}@media only screen and (width<=768px){.post-img,.post{width:100%}}.faq-container{flex-wrap:wrap;justify-content:space-around;row-gap:30px;width:80%;margin:30px auto;display:flex}.faq-img{border-radius:15px;width:45%}@media only screen and (width<=768px){.faq-img{width:100%}}.contact-container{margin:1rem auto;padding:0 1.5rem}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.contact-card{text-align:center;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:1rem;display:flex;box-shadow:0 2px 4px #0000001a}.contact-card p{margin:.5rem 0}.contact-icon{justify-content:center;align-items:center;gap:.3rem;padding-right:.5rem;font-size:1.3rem;display:flex}.wechat-figure{margin:0}.wechat-qr{width:150px;height:150px}@media (width<=768px){.contact-card{min-height:100px}}.pwa-toast{top:calc(12px + env(safe-area-inset-top));z-index:10000;pointer-events:none;justify-content:center;padding:0 12px;display:flex;position:fixed;left:0;right:0}.pwa-message{-webkit-backdrop-filter:blur(20px);color:#1a202c;pointer-events:auto;background:#fffffff2;border-radius:14px;align-items:center;gap:14px;max-width:480px;padding:14px 18px;animation:.35s cubic-bezier(.4,0,.2,1) slideDown;display:flex;box-shadow:0 2px 16px #0000001f}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.pwa-message span{flex:1;font-size:15px;font-weight:400;line-height:1.4}.pwa-buttons{gap:8px;display:flex}.pwa-button{cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:14px;font-weight:500;transition:all .15s}.pwa-button-primary{color:#fff;background:#007aff}.pwa-button-primary:hover{background:#0051d5}.pwa-button-secondary{color:#007aff;background:0 0}.pwa-button-secondary:hover{background:#007aff14}.pwa-button:active{transform:scale(.96)}@media (prefers-color-scheme:dark){.pwa-message{color:#f5f5f7;background:#2c2c2ef2}.pwa-button-secondary{color:#0a84ff}.pwa-button-secondary:hover{background:#0a84ff1f}}@media (width<=600px){.pwa-toast{padding:0 8px}.pwa-message{padding:12px 14px}}:root{--text-scale:1;font-size:calc(16px * var(--text-scale))}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background-color:#f2f2f7;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,serif}.content{padding:20px}@media (width>=769px){.content{margin-top:50px}}@media (width<=768px){.content{padding-bottom:80px}}@media screen and (display-mode:standalone){body{height:-webkit-fill-available;min-height:100vh}:root{--safe-top:calc(env(safe-area-inset-top) - 10px);--safe-bottom:env(safe-area-inset-bottom)}@media (width<=768px){.content{padding-top:env(safe-area-inset-top);padding-bottom:90px}}@media (width>=769px){.content{padding-top:env(safe-area-inset-top)}}}
