:root{--navy:#1f3864;--navy-dark:#162d52;--navy-hover:#1a3560;--teal:#17a398;--teal-tint:#e8f5f4;--white:#ffffff;--surface:#f5f7fa;--text-primary:#1a1a2e;--text-muted:#6b7280;--border:#c5d0e0;--error:#dc2626;--warning:#d97706;--success:#16a34a;--module-assets:#17a398;--module-workorders:#1f3864;--module-checks:#16a34a;--module-clock-active:#d97706;--module-alerts:#dc2626;--module-comms:#1f3864;--module-inventory:#7c3aed;--module-trainings:#2563eb;--status-active-bg:#dcfce7;--status-active-fg:#16a34a;--status-progress-bg:#ccfbf1;--status-progress-fg:#0f766e;--status-pending-bg:#fef3c7;--status-pending-fg:#d97706;--status-inactive-bg:#f3f4f6;--status-inactive-fg:#6b7280;--status-urgent-bg:#fee2e2;--status-urgent-fg:#dc2626;--status-completed-bg:#dbeafe;--status-completed-fg:#1d4ed8;--status-overdue-bg:#fee2e2;--status-overdue-fg:#dc2626;--status-upcoming-bg:#fef9c3;--status-upcoming-fg:#b45309;--surface-page:var(--surface);--surface-card:var(--white);--surface-input:var(--white);--text-heading:var(--navy);--text-link:var(--brand-secondary);--border-default:var(--border);--chrome-bar:var(--navy);--font-sans:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fs-page-title:24px;--fs-section:20px;--fs-card-title:16px;--fs-body:14px;--fs-label:13px;--fs-nav:13px;--fs-caption:12px;--fs-button:14px;--fs-badge:11px;--lh-tight:1.25;--lh-body:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-card:0 2px 12px rgba(0,0,0,0.08);--shadow-dropdown:0 6px 24px rgba(22,45,82,0.16);--brand-focus-ring:0 0 0 3px rgba(23,163,152,0.2);--brand-secondary-ink:#0f766e;--brand-secondary-soft:#5eead4;--topbar-h:64px;--topbar-h-mobile:56px;--sidebar-w:268px;--sidebar-w-collapsed:56px;--navitem-h:48px;--input-h:48px;--bottombar-h:64px;--footer-h:40px;--footer-text:#8aabd4;--content-max-w:1800px;--context-banner-h:44px;--brand-primary:var(--navy);--brand-secondary:var(--teal);--brand-primary-contrast:#ffffff;--brand-secondary-contrast:#ffffff;--brand-primary-tint:#e9edf4;--brand-secondary-tint:var(--teal-tint);--brand-primary-hover:var(--navy-hover);--brand-secondary-hover:#148d84}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-5);font-family:var(--font-sans);font-size:var(--fs-button);font-weight:var(--fw-semibold);line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,filter .15s ease}.btn--lg{height:var(--input-h)}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:var(--brand-focus-ring)}.btn--primary{background:var(--brand-primary);color:var(--brand-primary-contrast)}.btn--primary:hover:not(:disabled){filter:brightness(1.12)}.btn--secondary{background:var(--white);border-color:var(--brand-primary);color:var(--brand-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface)}.btn--danger{background:var(--error);color:#ffffff}.btn--danger:hover:not(:disabled){filter:brightness(1.1)}.btn--ghost{background:transparent;color:var(--text-primary)}.btn--ghost:hover:not(:disabled){background:var(--surface)}.btn--link{height:auto;padding:0;background:none;border:none;color:var(--brand-secondary);font-size:var(--fs-label);font-weight:var(--fw-medium)}.btn--link:hover:not(:disabled){text-decoration:underline}.btn__spinner{width:15px;height:15px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:admiral-spin .6s linear infinite}@keyframes admiral-spin{to{transform:rotate(1turn)}}.field{margin-bottom:var(--space-4)}.field__label{display:block;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-primary);margin-bottom:6px}.field__required{color:var(--error)}.field__control{display:flex;align-items:center;gap:10px;height:var(--input-h);padding:0 14px;background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.field__control:focus-within{border-color:var(--brand-secondary);box-shadow:var(--brand-focus-ring)}.field--error .field__control{border-color:var(--error)}.field--error .field__control:focus-within{box-shadow:0 0 0 3px rgba(220,38,38,.16)}.field__icon{display:flex;flex:none;color:var(--text-muted)}.field__input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--fs-body);color:var(--text-primary)}.field__input::placeholder{color:var(--text-muted)}.field__input:-webkit-autofill,.field__input:-webkit-autofill:active,.field__input:-webkit-autofill:focus,.field__input:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--surface-input) inset;-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);-webkit-transition:background-color 100000s ease-in-out 0s;transition:background-color 100000s ease-in-out 0s}.field__action{display:flex;flex:none;align-items:center;padding:2px;border:none;background:none;color:var(--text-muted);cursor:pointer}.field__action:hover{color:var(--brand-primary)}.field__message{margin:6px 0 0;font-size:var(--fs-caption);color:var(--text-muted)}.field--error .field__message{color:var(--error)}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6)}.card--xl{border-radius:var(--radius-xl)}.card__heading{font-size:var(--fs-card-title);color:var(--text-primary);margin:0 0 var(--space-4)}.card__heading,.status-pill{font-weight:var(--fw-semibold)}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--fs-badge);letter-spacing:.02em;text-transform:capitalize;white-space:nowrap}.status-pill[data-tone=active]{background:var(--status-active-bg);color:var(--status-active-fg)}.status-pill[data-tone=in-progress]{background:var(--status-progress-bg);color:var(--status-progress-fg)}.status-pill[data-tone=pending]{background:var(--status-pending-bg);color:var(--status-pending-fg)}.status-pill[data-tone=inactive]{background:var(--status-inactive-bg);color:var(--status-inactive-fg)}.status-pill[data-tone=urgent]{background:var(--status-urgent-bg);color:var(--status-urgent-fg)}.status-pill[data-tone=completed]{background:var(--status-completed-bg);color:var(--status-completed-fg)}.status-pill[data-tone=overdue]{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.status-pill[data-tone=upcoming]{background:var(--status-upcoming-bg);color:var(--status-upcoming-fg)}.alert{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);font-size:var(--fs-label);font-weight:var(--fw-medium);margin:0 0 var(--space-5)}.alert--error{background:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.alert--success{background:var(--status-active-bg);border:1px solid #86efac;color:#15803d}.alert--info{background:var(--brand-secondary-tint);border:1px solid var(--brand-secondary-soft);color:var(--brand-secondary-ink)}.alert__icon{flex:none;display:flex}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-header__title{font-size:var(--fs-page-title);font-weight:var(--fw-bold);color:var(--text-heading);margin:0}.page-header__subtitle{font-size:var(--fs-body);color:var(--text-muted);margin:4px 0 0}.page-header__actions{display:flex;gap:10px;align-items:center}.table-wrap{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.table thead th{background:var(--brand-primary);color:var(--brand-primary-contrast);font-size:var(--fs-label);font-weight:var(--fw-medium);text-align:left;padding:14px 16px;white-space:nowrap}.table tbody td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-primary)}.table tbody tr:nth-child(2n){background:var(--surface)}.table tbody tr:last-child td{border-bottom:none}.muted{color:var(--text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alert--warn{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.btn--sm{height:36px;padding:0 var(--space-4);font-size:var(--fs-label)}.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.image-upload{display:flex;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap}.image-upload__frame{position:relative;flex:0 0 auto;width:108px;height:108px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.image-upload__img{max-width:100%;max-height:100%;object-fit:contain}.image-upload__placeholder{font-size:26px;font-weight:var(--fw-semibold);color:var(--brand-primary);letter-spacing:.04em}.image-upload__frame.is-busy{opacity:.6}.image-upload__side{flex:1 1 240px;min-width:0}.image-upload__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.image-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.image-upload__remove{color:var(--error)}.image-upload__hint{margin:var(--space-3) 0 0;overflow-wrap:break-word}*{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.28) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgba(100,116,139,.22);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(100,116,139,.45)}::-webkit-scrollbar-corner{background:transparent}.sidebar--platform .sidebar__body{scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar--platform .sidebar__body::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.18)}.sidebar--platform .sidebar__body::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.34)}.sidebar__body{scrollbar-color:transparent transparent;transition:scrollbar-color .2s ease}.sidebar__body::-webkit-scrollbar-thumb{background-color:transparent;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.sidebar__body:hover{scrollbar-color:rgba(100,116,139,.28) transparent}.sidebar__body:hover::-webkit-scrollbar-thumb{background-color:rgba(100,116,139,.24)}.sidebar--platform .sidebar__body:hover{scrollbar-color:rgba(255,255,255,.22) transparent}.sidebar--platform .sidebar__body:hover::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.18)}.ss{position:relative;min-width:180px}.ss__control{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;height:var(--input-h);padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-primary);text-align:left;cursor:pointer}.ss.is-open .ss__control,.ss__control:focus-visible{outline:none;border-color:var(--brand-secondary);box-shadow:var(--brand-focus-ring)}.ss.is-invalid .ss__control{border-color:var(--error)}.ss.is-disabled .ss__control{background:var(--surface);color:var(--text-muted);cursor:not-allowed}.ss__value{flex:1 1;min-width:0;overflow-wrap:break-word;line-height:1.3}.ss__value.is-placeholder{color:var(--text-muted)}.ss__caret{flex:none;width:16px;height:16px;color:var(--text-muted);transition:transform .15s ease}.ss__caret svg{width:16px;height:16px;display:block}.ss.is-open .ss__caret{transform:rotate(180deg)}.ss__panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;min-width:220px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 28px rgba(16,24,40,.14);overflow:hidden}.ss__search{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,white)}.ss__search-icon{width:15px;height:15px;flex:none;color:var(--text-muted)}.ss__search input{flex:1 1;min-width:0;border:none;outline:none;background:none;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-primary)}.ss__list{list-style:none;margin:0;padding:4px;max-height:260px;overflow-y:auto}.ss__option{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;line-height:1.35}.ss__option.is-active{background:var(--surface)}.ss__option.is-selected{background:var(--brand-primary-tint);font-weight:var(--fw-semibold)}.ss__option.is-disabled{opacity:.5;cursor:not-allowed}.ss__option--clear{color:var(--text-muted);border-bottom:1px solid color-mix(in srgb,var(--border) 45%,white);border-radius:0;margin-bottom:3px}.ss__option-label{font-size:var(--fs-body);overflow-wrap:break-word}.ss__option-hint{font-size:11px;color:var(--text-muted);overflow-wrap:break-word}.ss__empty{padding:14px 12px;font-size:var(--fs-caption);color:var(--text-muted);text-align:center}.filter-clear svg{width:13px;height:13px}.filter-clear__count{min-width:17px;height:17px;padding:0 5px;margin-left:2px;border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--brand-primary-contrast);font-size:10px;font-weight:var(--fw-semibold);display:inline-flex;align-items:center;justify-content:center}.datefield{position:relative;min-width:180px}.datefield__control{display:flex;align-items:center;height:var(--input-h);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.datefield.is-open .datefield__control,.datefield__control:focus-within{border-color:var(--brand-secondary);box-shadow:var(--brand-focus-ring)}.datefield.is-invalid .datefield__control{border-color:var(--error)}.datefield.is-disabled .datefield__control{background:var(--surface)}.datefield__input{flex:1 1;min-width:0;padding:0 12px;outline:none;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-primary)}.datefield__button,.datefield__input{height:100%;border:none;background:none}.datefield__button{flex:none;width:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer}.datefield__button:hover{color:var(--brand-secondary)}.datefield__button svg{width:17px;height:17px}.datefield__panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:280px;padding:10px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 28px rgba(16,24,40,.14)}.datefield__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.datefield__title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-heading)}.datefield__nav{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer}.datefield__nav:hover{background:var(--surface);color:var(--text-primary)}.datefield__nav svg{width:16px;height:16px}.datefield__grid,.datefield__weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.datefield__weekdays span{text-align:center;font-size:10.5px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--text-muted);padding-bottom:4px}.datefield__day{height:32px;border:none;border-radius:var(--radius-sm);background:none;font-family:var(--font-sans);font-size:var(--fs-caption);color:var(--text-primary);cursor:pointer}.datefield__day:hover:not(:disabled){background:var(--surface)}.datefield__day.is-muted{color:color-mix(in srgb,var(--text-muted) 65%,white)}.datefield__day.is-today{box-shadow:inset 0 0 0 1px var(--brand-secondary);font-weight:var(--fw-semibold)}.datefield__day.is-selected{background:var(--brand-primary);color:var(--brand-primary-contrast);font-weight:var(--fw-semibold)}.datefield__day:disabled{opacity:.35;cursor:not-allowed}.datefield__foot{display:flex;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--border) 50%,white)}.datefield__quick{flex:1 1;height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer}.datefield__quick:hover:not(:disabled){background:var(--surface)}.datefield__quick:disabled{opacity:.45;cursor:not-allowed}.filedrop__zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:22px 18px;border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:center;transition:border-color .15s ease,background-color .15s ease}.filedrop__zone.is-dragging{border-color:var(--brand-secondary);background:var(--brand-secondary-tint)}.filedrop__zone.is-locked{opacity:.75}.filedrop__icon{width:26px;height:26px;color:var(--text-muted);margin-bottom:2px}.filedrop__icon svg{width:26px;height:26px;display:block}.filedrop__lead{margin:0;font-size:var(--fs-body);color:var(--text-primary)}.filedrop__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}.filedrop__act{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:10px;background:var(--white);color:var(--text-primary);font-size:var(--fs-label);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color .13s ease,background .13s ease,color .13s ease}.filedrop__act svg{width:17px;height:17px;flex:none}.filedrop__act:hover{border-color:var(--brand-secondary);color:var(--brand-secondary)}.filedrop__act--camera{background:var(--brand-secondary);border-color:var(--brand-secondary);color:var(--brand-secondary-contrast,#fff)}.filedrop__act--camera:hover{filter:brightness(.94);color:var(--brand-secondary-contrast,#fff)}.filedrop__zone.is-locked .filedrop__act{color:var(--text-muted);border-color:var(--border);background:var(--surface);cursor:not-allowed}.filedrop__browse{color:var(--text-link);font-weight:var(--fw-semibold);cursor:pointer;text-decoration:underline}.filedrop__zone.is-locked .filedrop__browse{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.filedrop__hint{margin:0;font-size:var(--fs-caption);color:var(--text-muted);overflow-wrap:break-word}.filedrop__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.filedrop__list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.filedrop__list--tiles{flex-direction:row;flex-wrap:wrap;gap:10px}.filedrop__item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);min-width:0}.filedrop__list--tiles .filedrop__item{flex-direction:column;width:116px;padding:8px;text-align:center}.filedrop__thumb{width:96px;height:72px;object-fit:contain;background:var(--surface);border-radius:var(--radius-sm)}.filedrop__file-icon{width:22px;height:22px;flex:none;color:var(--brand-primary)}.filedrop__file-icon svg{width:22px;height:22px;display:block}.filedrop__meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.filedrop__name{font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:1.35;overflow-wrap:anywhere}.filedrop__size{font-size:11px;color:var(--text-muted)}.filedrop__remove{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer}.filedrop__list--tiles .filedrop__remove{position:absolute;top:4px;right:4px;background:var(--white);box-shadow:0 1px 4px rgba(16,24,40,.18)}.filedrop__remove:hover{background:var(--surface);color:var(--error)}.filedrop__remove svg{width:13px;height:13px}.req{margin-left:3px;color:var(--error,#dc2626);font-weight:var(--fw-bold);vertical-align:super;font-size:.85em;line-height:0}.optional{margin-left:4px;color:var(--text-muted);font-weight:var(--fw-regular,400);font-size:.88em}.panel--pad{padding:18px 20px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;letter-spacing:.01em}