:root{--primary:#007965;--primary-dark:#005f4f;--primary-light:#00967d;--primary-faint:#0079651a;--primary-border:#0079654d;--bg:#0d1117;--bg-surface:#161b22;--bg-elevated:#1c2128;--bg-hover:#21262d;--border:#30363d;--border-subtle:#21262d;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--text-inverse:#0d1117;--green:#3fb950;--green-bg:#3fb9501f;--green-border:#3fb9504d;--yellow:#d29922;--yellow-bg:#d299221f;--yellow-border:#d299224d;--red:#f85149;--red-bg:#f851491f;--red-border:#f851494d;--red-deep:#c93c37;--red-deep-bg:#c93c3729;--red-deep-border:#c93c3773;--orange:#db6d28;--blue:#388bfd;--radius-sm:4px;--radius:8px;--radius-lg:12px;--tabbar-h:56px;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 12px #00000080;--shadow-lg:0 8px 32px #0009}[data-theme=light]{--bg:#fff;--bg-surface:#f5f6f7;--bg-elevated:#eaeef2;--bg-hover:#d0d7de;--border:#d0d7de;--border-subtle:#e8eaed;--text-primary:#1f2328;--text-secondary:#656d76;--text-muted:#737b83;--green:#1a7f37;--green-bg:#1a7f371a;--green-border:#1a7f3759;--yellow:#9a6700;--yellow-bg:#9a67001a;--yellow-border:#9a670059;--red:#cf222e;--red-bg:#cf222e14;--red-border:#cf222e59;--red-deep:#a40e26;--red-deep-bg:#a40e2617;--red-deep-border:#a40e2666;--orange:#bc4c00;--blue:#0969da;--primary-light:var(--primary);--shadow-sm:0 1px 3px #00000014;--shadow:0 4px 12px #0000001f;--shadow-lg:0 8px 32px #0000002e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.form-control:focus-visible,.otp-input:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:clamp(13px,.85vw + 2px,24px);overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);height:100%;line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}h1,h2,h3,h4,h5{font-weight:600;line-height:1.25}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{color:var(--text-primary);border-color:var(--border);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.btn-danger{color:var(--red);border-color:var(--red-border);background:0 0}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-sm{padding:4px 10px;font-size:12px}@media (pointer:coarse){.btn,.btn-sm,.seg-btn,.tm-base-btn,.tm-filter,.tab{min-height:44px}.tm-slider-bar input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.tm-slider-bar input[type=range]::-moz-range-thumb{width:24px;height:24px}}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.form-control{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-faint);outline:none}.form-control::placeholder{color:var(--text-muted)}select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}textarea.form-control{resize:vertical;min-height:80px}.badge{letter-spacing:.04em;font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:20px;align-items:center;padding:2px 8px;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.badge-grey{color:var(--text-muted);border:1px solid var(--border);background:#6e76811f}.badge-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow);border:1px solid var(--yellow-border)}.badge-primary{background:var(--primary-faint);color:var(--primary-light);border:1px solid var(--primary-border)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.table-container{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}.ac-hrs-status-mobile{display:none}@media (width<=768px){.table-container{background-color:var(--bg-surface);background-image:linear-gradient(to right, var(--bg-surface) 30%, transparent), linear-gradient(to left, var(--bg-surface) 30%, transparent), radial-gradient(farthest-side at 0 50%, #0003, transparent), radial-gradient(farthest-side at 100% 50%, #0003, transparent);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:32px 100%,32px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.table-sticky-col th:first-child,.table-sticky-col td:first-child{z-index:1;background:var(--bg-surface);position:sticky;left:0}.table-sticky-col thead th:first-child{z-index:2;background:var(--bg-elevated)}.ac-hrs-status-mobile{white-space:normal;margin-top:4px;font-size:12px;display:block}.ac-hrs-status-desktop{display:none}}.user-cards-mobile,.aircraft-cards-mobile{display:none}@media (width<=768px){.user-table-desktop,.aircraft-table-desktop{display:none}.user-cards-mobile,.aircraft-cards-mobile{flex-direction:column;gap:10px;display:flex}.user-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.user-card-main{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;display:flex}.user-card-name{color:var(--text-primary);font-size:15px;font-weight:600}.user-card-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:10px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-hover)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.2s slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;display:flex}.alert-warning{background:var(--yellow-bg);border:1px solid var(--yellow-border);color:var(--yellow)}.alert-error{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red)}.alert-success{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green)}.alert-info{background:var(--primary-faint);border:1px solid var(--primary-border);color:var(--primary-light)}.mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:12px}.text-xs{font-size:11px}.divider{background:var(--border);height:1px;margin:8px 0}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sk{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-hover) 50%, var(--bg-elevated) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s linear infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.checkbox-group{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-group input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.page{scrollbar-gutter:stable;flex:1;width:100%;max-width:1600px;min-height:0;margin-inline:auto;padding:24px;overflow-y:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.02em;font-size:20px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:20px;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-light);border-bottom-color:var(--primary)}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}@media (width<=768px){.page{padding:16px}.page-header{flex-direction:column}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:85vh;padding-bottom:env(safe-area-inset-bottom);margin:0;position:fixed;bottom:0;left:0;right:0}.modal-overlay{align-items:flex-end;padding:0}.form-control,select.form-control,textarea.form-control,.otp-input{font-size:16px}td input,td select,td textarea{font-size:16px!important}}@media (width<=900px){.db-page{flex:1!important;min-height:0!important;padding:0!important;overflow-y:auto!important}.db-mobile{flex-direction:column;gap:20px;padding:12px;display:flex}.db-mobile-base{flex-direction:column;display:flex}.db-mobile-header{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.db-mobile-base-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.db-mobile-stats{font-size:11px;font-weight:500}.db-mobile-grid{grid-template-columns:1fr;gap:8px;display:grid}.db-mobile-card{border-radius:var(--radius);box-sizing:border-box;cursor:default;flex-direction:column;height:132px;padding:10px 12px;display:flex;overflow:hidden}.db-mobile-card.ac-clickable{cursor:pointer}.db-mobile-card.ac-updated{animation:1.8s ease-out forwards ac-updated-flash}.db-mobile-row{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.db-mobile-rego{letter-spacing:.03em;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.1}.db-mobile-num{text-align:right;min-width:18px;font-size:11px;font-weight:700;line-height:1}.db-mobile-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:700}.db-mobile-status{margin-bottom:2px;font-size:11px;font-weight:600;line-height:1.2}.db-mobile-note{color:var(--text-secondary);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.db-mobile-time{color:var(--text-muted);flex-shrink:0;margin-top:3px;font-size:10px}}@media (width>=600px) and (width<=900px){.db-mobile-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.ac-card{border-radius:var(--card-radius,var(--radius));border:.5px solid var(--border-subtle);background:var(--bg-surface);padding:var(--card-pad,10px 12px);box-sizing:border-box;font-size:var(--card-fs,1rem);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.db-mobile-card{background:var(--bg-surface);border:.5px solid var(--border-subtle)}.ac-t-spare{background:var(--yellow-bg);border-color:var(--yellow-border);border-left:2.5px solid var(--yellow)}.ac-t-alert{background:var(--red-bg);border-color:var(--red-border);border-left:2.5px solid var(--red)}.ac-t-aog{background:var(--red-deep-bg);border-color:var(--red-deep-border);border-left:2.5px solid var(--red-deep)}@keyframes ac-updated-flash{0%{box-shadow:0 0 0 2px #388bfd99}to{box-shadow:none}}.ac-updated{animation:1.8s ease-out forwards ac-updated-flash}.ac-clickable{cursor:pointer}.ac-clickable:hover{box-shadow:var(--shadow);transform:translateY(-2px)}[data-dragging] .ac-clickable:hover{box-shadow:none;transform:none}.ac-header-row{flex-shrink:0;justify-content:space-between;align-items:baseline;margin-bottom:.2em;display:flex}.ac-rego{letter-spacing:.03em;color:var(--text-primary);font-size:1.1em;font-weight:700;line-height:1.1}.ac-num{color:var(--text-muted);font-size:max(.65em,10px);font-weight:500;line-height:1}.ac-pill{border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;align-self:flex-start;margin-bottom:.25em;padding:.15em .65em;font-size:max(.58em,10px);font-weight:700;display:inline-block}.ac-pill-online{background:var(--green-bg);color:var(--green);border:.5px solid var(--green-border)}.ac-pill-spare{background:var(--yellow-bg);color:var(--yellow);border:.5px solid var(--yellow-border)}.ac-pill-alert{background:var(--red-bg);color:var(--red);border:.5px solid var(--red-border)}.ac-pill-aog{background:var(--red-deep-bg);color:var(--red-deep);border:.5px solid var(--red-deep-border)}.ac-defects{letter-spacing:.04em;flex-shrink:0;margin-bottom:.2em;font-size:max(.65em,10px);font-weight:700;line-height:1.2}.ac-note{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:max(.7em,11px);line-height:1.3;display:-webkit-box;overflow:hidden}.ac-metrics{border-top:.5px solid var(--border);flex-direction:column;flex-shrink:0;gap:.3em;margin-top:auto;padding-top:.4em;display:flex}.ac-metric-row{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.ac-metric-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:max(.52em,10px);line-height:1.2}.ac-metric-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:max(.72em,11px);font-weight:600;line-height:1.2}.ac-footer{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:4px;margin-top:.2em;display:flex}.ac-time{color:var(--text-muted);flex-shrink:1;min-width:0;font-size:max(.5em,10px);line-height:1.1}.ac-hint{text-transform:uppercase;letter-spacing:.07em;color:var(--primary-light);opacity:0;white-space:nowrap;flex-shrink:0;font-size:max(.6em,10px);font-weight:700;transition:opacity .15s}.ac-clickable:hover .ac-hint{opacity:1}@media (hover:none){.ac-clickable .ac-hint{opacity:1}}
