:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--color-sidebar:#0f172a;--color-sidebar-hover:#1e293b;--color-sidebar-active:#1e293b;--color-sidebar-text:#cbd5e1;--color-sidebar-text-muted:#64748b;--color-sidebar-text-active:#fff;--color-sidebar-border:#1e293b;--color-accent:#14b8a6;--color-accent-soft:#ccfbf1;--color-primary:#0f172a;--color-primary-hover:#1e293b;--color-primary-text:#fff;--color-primary-blue:#2563eb;--color-primary-blue-hover:#1d4ed8;--color-info-soft:#dbeafe;--color-info-text:#1e40af;--color-warn:#f59e0b;--color-warn-soft:#fef3c7;--color-warn-text:#854d0e;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-success-text:#166534;--color-danger:#dc2626;--color-danger-soft:#fee2e2;--color-danger-text:#991b1b;--color-danger-border:#fecaca;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-card:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0d;--shadow-lg:0 10px 30px #0f172a14;font-family:var(--font-sans);color:var(--color-text);background:var(--color-sidebar);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}@media (width<=768px){input,textarea,select{font-size:16px!important}}html,body,#root{overscroll-behavior-x:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100vw;min-height:100dvh;margin:0;padding:0;overflow-x:hidden}h1{color:var(--color-text);letter-spacing:-.01em;margin:0 0 6px;font-size:24px;font-weight:700}h2{color:var(--color-text);letter-spacing:-.005em;margin:0 0 8px;font-size:18px;font-weight:600}p{margin:0 0 12px}button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:40px;color:var(--color-text);cursor:pointer;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s}button:hover{background:#f1f5f9}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.page{width:100%;min-width:0;max-width:1200px}.page.page-wide{max-width:1500px}.page-hint{color:var(--color-text-muted);font-size:14px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header-text h1{margin:0 0 4px}.page-header-subtitle{color:var(--color-text-muted);margin:0;font-size:14px}.page-header-action{align-items:center;gap:6px;display:inline-flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.badge-new,.badge-in-progress{background:var(--color-warn-soft);color:var(--color-warn-text)}.badge-complete{background:var(--color-success-soft);color:var(--color-success-text)}.badge-overdue{background:var(--color-danger-soft);color:var(--color-danger-text)}.badge-active{background:var(--color-primary-blue);color:#fff}.badge-inactive{color:#475569;background:#e2e8f0}.badge-type{background:var(--color-info-soft);color:var(--color-info-text)}.badge-location{color:#334155;background:#f1f5f9}.modal-backdrop{z-index:100;background:#0f172a80;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:16px}.modal-close{color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0;display:inline-flex}.modal-close:hover{color:var(--color-text);background:#f1f5f9}.modal-body{padding:20px}@media (width<=640px){.modal-backdrop{align-items:stretch;padding:0;overflow:hidden}.modal-panel{border-radius:0;max-width:none;height:100dvh;max-height:100dvh}.modal-body{-webkit-overflow-scrolling:touch;padding-bottom:calc(20px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}}.notif-bell-wrap{flex-shrink:0;position:relative}.notif-bell-btn{color:var(--color-sidebar-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.notif-bell-btn:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.notif-badge{background:var(--color-danger-text,#b91c1c);color:#fff;text-align:center;pointer-events:none;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--color-sidebar);border-radius:8px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:0;right:0}.notif-panel{color:#0f172a;z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;width:min(360px,100vw - 32px);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 18px 36px #0f172a2e}.notif-panel-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.notif-panel-title{color:#0f172a;font-size:13px;font-weight:600}.notif-panel-actions{align-items:center;gap:4px;display:inline-flex}.notif-panel-action{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.notif-panel-action:hover:not(:disabled){color:#0f172a;background:#fff;border-color:#cbd5e1}.notif-panel-action:disabled{opacity:.5;cursor:not-allowed}.notif-panel-action-icon{padding:4px 6px}.notif-panel-action-danger{color:var(--color-danger-text,#b91c1c)}.notif-panel-action-danger:hover:not(:disabled){background:var(--color-danger-soft,#fee2e2);border-color:var(--color-danger-text,#b91c1c);color:var(--color-danger-text,#b91c1c)}.notif-panel-body{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.notif-panel-empty{text-align:center;color:#64748b;margin:0;padding:24px 16px;font-size:13px}.notif-panel-empty-error{color:var(--color-danger-text,#b91c1c)}.notif-panel-list{margin:0;padding:0;list-style:none}.notif-row-li{border-bottom:1px solid #f1f5f9;align-items:stretch;display:flex}.notif-row-li:last-child{border-bottom:none}.notif-row-li:hover{background:#f8fafc}.notif-row-li:has(.notif-row-unread){background:#eff6ff}.notif-row-li:has(.notif-row-unread):hover{background:#dbeafe}.notif-row{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;display:flex}.notif-row-unread{background:0 0}.notif-row-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;padding:0;display:inline-flex}.notif-row-delete:hover{color:var(--color-danger-text,#b91c1c);background:var(--color-danger-soft,#fee2e2)}.notif-row-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.notif-tone-blue{background:var(--color-info-soft,#dbeafe);color:var(--color-primary-blue,#2563eb)}.notif-tone-red{background:var(--color-danger-soft,#fee2e2);color:var(--color-danger-text,#b91c1c)}.notif-tone-yellow{color:#b45309;background:#fef3c7}.notif-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-row-title{color:#0f172a;word-break:break-word;font-size:13px;font-weight:600}.notif-row-text{color:#475569;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.notif-row-meta{color:#94a3b8;font-size:11px}.notif-row-dot{background:var(--color-primary-blue,#2563eb);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:8px}.notif-settings-body{flex-direction:column;gap:16px;display:flex}.notif-settings-intro{color:#475569;margin:0;font-size:13px;line-height:1.45}.notif-settings-list{flex-direction:column;gap:8px;display:flex}.notif-pref-row{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.notif-pref-row:hover{background:#f8fafc;border-color:#cbd5e1}.notif-pref-row-disabled{opacity:.65;cursor:not-allowed;background:#f8fafc}.notif-pref-row-disabled:hover{background:#f8fafc}.notif-pref-row input[type=checkbox]{flex-shrink:0;margin-top:4px}.notif-pref-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notif-pref-label{color:#0f172a;font-size:14px;font-weight:600}.notif-pref-desc{color:#475569;font-size:12px;line-height:1.4}.notif-pref-disabled-note{color:var(--color-warn-text,#b45309);margin-top:4px;font-size:11px}.notif-settings-actions{justify-content:flex-end;gap:8px;display:flex}.notif-settings-section{flex-direction:column;gap:8px;padding-top:4px;display:flex}.notif-settings-section-title{text-transform:uppercase;letter-spacing:.04em;color:#475569;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.notif-settings-email-label{flex-direction:column;gap:4px;display:flex}.notif-settings-email-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;font-size:14px}.notif-settings-email-input:focus{outline:2px solid var(--color-primary-blue,#2563eb);outline-offset:1px;border-color:var(--color-primary-blue,#2563eb)}.notif-settings-test-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.notif-settings-test-ok{color:#15803d;font-size:12px}.notif-settings-test-err{color:#b91c1c;font-size:12px}.notif-push-section{border-top:1px solid #e2e8f0;padding-top:12px}.notif-push-row{border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.notif-push-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-push-buttons{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.notif-push-test-result{color:#475569;background:#f1f5f9;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}@media (width<=768px),(height<=500px) and (orientation:landscape){.topbar .notif-badge{box-shadow:0 0 0 2px var(--color-sidebar)}}.release-modal-body{flex-direction:column;gap:16px;display:flex}.release-modal-head{align-items:flex-start;gap:12px;display:flex}.release-modal-head-icon{color:#b45309;background:#fef3c7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.release-modal-title{color:#0f172a;font-size:16px;font-weight:600;line-height:1.3}.release-modal-date{color:#64748b;margin-top:2px;font-size:12px}.release-modal-list{flex-direction:column;gap:8px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.release-modal-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.release-modal-item-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.release-modal-item-feature .release-modal-item-icon{background:var(--color-info-soft,#dbeafe);color:var(--color-primary-blue,#2563eb)}.release-modal-item-fix .release-modal-item-icon{color:#047857;background:#ecfdf5}.release-modal-item-change .release-modal-item-icon{color:#b45309;background:#fef3c7}.release-modal-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.release-modal-item-kind{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:11px;font-weight:600}.release-modal-item-text{color:#0f172a;font-size:13px;line-height:1.4}.release-modal-actions{justify-content:flex-end;margin-top:4px;display:flex}.layout{background:var(--color-bg);width:100%;max-width:100vw;min-height:100dvh;padding-left:240px}.sidebar{background:var(--color-sidebar);width:240px;color:var(--color-sidebar-text);z-index:10;flex-direction:column;padding:20px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:12px;padding:4px 8px 20px;display:flex}.sidebar-collapse-btn{border:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;margin-left:auto;padding:4px;display:inline-flex}.sidebar-collapse-btn:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar-brand-tile{flex-shrink:0;width:40px;height:40px;display:block}.sidebar-brand-text{flex-direction:column;line-height:1.2;display:flex}.sidebar-brand-title{color:var(--color-sidebar-text-active);font-size:15px;font-weight:700}.sidebar-brand-subtitle{color:var(--color-sidebar-text-muted);font-size:12px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-label-short{display:none}.nav-link{border-radius:var(--radius-md);color:var(--color-sidebar-text);align-items:center;gap:12px;min-height:40px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.nav-link-active,.nav-link-active:hover{background:var(--color-sidebar-active);color:var(--color-sidebar-text-active);box-shadow:inset 0 0 0 1px #ffffff14}.nav-icon{flex-shrink:0}.sidebar-user{border-top:1px solid var(--color-sidebar-border);margin-top:12px;padding-top:12px}.sidebar-user-chip{border-radius:var(--radius-md);background:#ffffff0a;align-items:center;gap:6px;padding:8px 10px;display:flex}.sidebar-user-chip .sidebar-user-meta{margin-right:4px}.sidebar-user-avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.sidebar-user-meta{flex:1;min-width:0;line-height:1.2}.sidebar-user-name{color:var(--color-sidebar-text-active);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--color-sidebar-text-muted);font-size:11px}.sidebar-signout{color:var(--color-sidebar-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.sidebar-signout:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-active)}.sidebar-footer{color:var(--color-sidebar-text-muted);border-top:1px solid var(--color-sidebar-border);margin-top:12px;padding:14px 12px 4px;font-size:11px}.content{min-width:0;max-width:100%;padding:28px 32px;overflow-x:hidden}.layout-nav-collapsed{padding-left:64px}.layout-nav-collapsed .sidebar{width:64px;padding:16px 8px}.layout-nav-collapsed .sidebar-brand{flex-direction:column;gap:8px;padding:4px 0 16px}.layout-nav-collapsed .sidebar-brand-text{display:none}.layout-nav-collapsed .sidebar-collapse-btn{margin-left:0}.layout-nav-collapsed .nav-link{justify-content:center;padding:10px 0}.layout-nav-collapsed .nav-label{display:none}.layout-nav-collapsed .sidebar-user-chip{flex-direction:column;gap:6px;padding:8px 4px}.layout-nav-collapsed .sidebar-user-meta,.layout-nav-collapsed .sidebar-footer,.topbar{display:none}@media (width<=768px),(height<=500px) and (orientation:landscape){.layout,.layout-nav-collapsed{padding-left:0}.sidebar-collapse-btn{display:none}.sidebar{width:auto;height:auto;padding:0;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-sidebar-border);z-index:50;backface-visibility:hidden;flex-direction:row;position:fixed;inset:auto 0 0;overflow-y:visible;transform:translateZ(0)}.sidebar-brand,.sidebar-user,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;flex:1;justify-content:space-around;gap:0;padding:6px 4px}.nav-link{border-radius:6px;flex-direction:column;flex:1 1 0;gap:2px;min-width:0;min-height:56px;padding:6px 2px;font-size:11px}.nav-label{display:none}.nav-label-short{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;line-height:1.2;display:block;overflow:hidden}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--color-sidebar);color:var(--color-sidebar-text-active);border-bottom:1px solid var(--color-sidebar-border);z-index:40;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-user{align-items:center;gap:10px;min-width:0;display:flex}.topbar-avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}.topbar-meta{min-width:0;line-height:1.2}.topbar-name{color:var(--color-sidebar-text-active);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.topbar-role{color:var(--color-sidebar-text-muted);font-size:11px}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-signout{border:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text-active);cursor:pointer;border-radius:var(--radius-sm);background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex}.topbar-signout:hover,.topbar-signout:active{background:var(--color-sidebar-hover)}.content{padding:16px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}}.stat-card-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:1200px;margin-bottom:24px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:inherit;font:inherit;color:inherit;align-items:center;gap:14px;width:100%;padding:18px 20px;display:flex}.stat-card-clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.stat-card-clickable:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.stat-card-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stat-card-active{box-shadow:var(--shadow-md);border-width:2px}.stat-card-active-blue{border-color:#2563eb}.stat-card-active-green{border-color:#16a34a}.stat-card-active-yellow{border-color:#d97706}.stat-card-active-teal{border-color:#0d9488}.stat-card-active-red{border-color:#dc2626}.stat-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.stat-card-icon-blue{color:#2563eb;background:#eff6ff}.stat-card-icon-green{color:#16a34a;background:#f0fdf4}.stat-card-icon-yellow{color:#d97706;background:#fffbeb}.stat-card-icon-teal{color:#0d9488;background:#f0fdfa}.stat-card-icon-red{color:#dc2626;background:#fef2f2}.stat-card-body{flex-direction:column;line-height:1.2;display:flex}.stat-card-value{color:var(--color-text);letter-spacing:-.01em;font-size:24px;font-weight:700}.stat-card-label{color:var(--color-text-muted);margin-top:4px;font-size:13px}@media (width<=768px){.stat-card-row{gap:8px;margin-bottom:16px;display:flex}.stat-card{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:6px;min-width:0;padding:10px 12px}.stat-card-icon{width:28px;height:28px}.stat-card-icon svg{width:16px;height:16px}.stat-card-value{font-size:18px}.stat-card-label{margin-top:0;font-size:11px;line-height:1.2}}.asset-form{flex-direction:column;gap:14px;display:flex}.asset-form label{color:#334155;flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.asset-form input[type=text],.asset-form input[type=number],.asset-form select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:15px}.asset-form input:focus,.asset-form select:focus{outline-offset:-1px;border-color:#2563eb;outline:2px solid #2563eb}.asset-form-row{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=520px){.asset-form-row{grid-template-columns:1fr}}.asset-form-checkbox{color:#0f172a;flex-direction:row;align-items:center;gap:10px;font-weight:400}.asset-form-checkbox input[type=checkbox]{width:20px;height:20px;margin:0}.asset-form-warning{color:#854d0e;background:#fef3c7;border-radius:8px;padding:10px 12px;font-size:14px}.asset-form-error{color:#991b1b;background:#fee2e2;border-radius:8px;padding:10px 12px;font-size:14px}.asset-form-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.asset-form-submit{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:500}.asset-form-submit:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.asset-form-submit:disabled{opacity:.5;cursor:not-allowed}.boat-type-multiselect{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.boat-type-multiselect legend{color:#334155;padding:0;font-size:14px;font-weight:500}.boat-type-multiselect-options{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:6px 12px;padding:10px 12px;display:flex}.boat-type-multiselect-option{color:#334155;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.boat-type-multiselect-option input[type=checkbox]{width:18px;height:18px;margin:0}.boat-type-multiselect-hint{color:#64748b;font-size:12px}.task-form-field{flex-direction:column;gap:6px;display:flex}.task-form-label{color:#334155;font-size:14px;font-weight:500}.user-picker{flex-direction:column;gap:8px;display:flex;position:relative}.user-picker-chips{flex-wrap:wrap;gap:6px;display:flex}.user-picker-chip{color:#0f3a36;background:#ccfbf1;border:1px solid #5eead4;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:13px;font-weight:500;display:inline-flex}.user-picker-chip button{all:unset;cursor:pointer;color:#0f3a36;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;font-weight:600;line-height:1;transition:background .1s;display:inline-flex}.user-picker-chip button:hover{background:#0f3a361a}.user-picker-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:15px}.user-picker-input:focus{outline-offset:-1px;border-color:#2563eb;outline:2px solid #2563eb}.user-picker-dropdown{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-height:240px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.user-picker-dropdown li{margin:0}.user-picker-empty{color:#64748b;padding:10px 12px;font-size:14px}.user-picker-option{all:unset;cursor:pointer;box-sizing:border-box;border-radius:6px;flex-direction:column;gap:2px;width:100%;padding:8px 12px;display:flex}.user-picker-option:hover,.user-picker-option:focus-visible{background:#f1f5f9}.user-picker-option-name{color:#0f172a;font-size:14px;font-weight:500}.user-picker-option-meta{color:#64748b;font-size:12px}.user-picker-chip-inactive{opacity:.7}.user-picker-chip-flag{background:var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-left:5px;padding:0 5px;font-size:.65rem;font-style:normal;font-weight:600}.kanban{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}@media (width<=1100px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.kanban{grid-template-columns:1fr}}.kanban-col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;min-height:200px;max-height:70vh;display:flex}.kanban-col-head{background:inherit;z-index:1;border-bottom:1px solid #e2e8f0;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.kanban-col-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.kanban-col-label{color:#0f172a;flex:1;font-size:13px;font-weight:600}.kanban-col-count{color:#475569;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;min-width:24px;padding:2px 8px;font-size:11px;font-weight:700}.kanban-col-yellow .kanban-col-icon{color:#b45309;background:#fef3c7}.kanban-col-blue .kanban-col-icon{background:var(--color-info-soft,#dbeafe);color:var(--color-primary-blue,#2563eb)}.kanban-col-red .kanban-col-icon,.kanban-col-flag .kanban-col-icon{background:var(--color-danger-soft,#fee2e2);color:var(--color-danger-text,#b91c1c)}.kanban-col-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.kanban-col-empty{text-align:center;color:#94a3b8;margin:0;padding:16px 8px;font-size:12px;font-style:italic}.kanban-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;width:100%;padding:10px 12px;transition:border-color .1s,box-shadow .1s,transform .1s;display:flex}.kanban-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a0f}.kanban-card:focus-visible{outline:2px solid var(--color-primary-blue,#2563eb);outline-offset:2px}.kanban-card-title{color:#0f172a;word-break:break-word;font-size:13px;font-weight:600}.kanban-card-meta{color:#475569;flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.kanban-card-asset{font-weight:500}.kanban-card-loc{color:#64748b}.kanban-card-checklist{color:#64748b;font-size:11px;font-style:italic}.kanban-card-foot{color:#64748b;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.kanban-card-due{font-variant-numeric:tabular-nums}.tasks-dropdown-filters{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.tasks-dropdown-filter{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.tasks-dropdown-filter select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:36px;color:var(--color-text);min-width:160px;padding:6px 10px;font-size:13px}.tasks-dropdown-filter-clear{color:var(--color-primary-blue,#2563eb);cursor:pointer;background:0 0;border:none;align-self:flex-end;min-height:36px;margin-bottom:1px;padding:6px 8px;font-size:12px;font-weight:500}.tasks-dropdown-filter-clear:hover{text-decoration:underline}@media (width<=768px){.tasks-dropdown-filters{gap:8px}.tasks-dropdown-filter{flex:calc(50% - 4px);min-width:0}.tasks-dropdown-filter select{width:100%;min-width:0}}.tasks-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tasks-view-toggle{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;display:inline-flex;overflow:hidden}.tasks-view-toggle-btn{color:#475569;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex}.tasks-view-toggle-btn:hover:not(.active){color:#0f172a;background:#f1f5f9}.tasks-view-toggle-btn.active{background:var(--color-primary-blue,#2563eb);color:#fff;cursor:default}.tasks-view-toggle-btn:not(:last-child){border-right:1px solid #cbd5e1}@media (width<=640px){.tasks-view-toggle-btn span{display:none}}.tasks-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:fit-content;box-shadow:var(--shadow-card);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:4px;display:flex}.tasks-filter{color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;min-height:34px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.tasks-filter:hover{color:var(--color-text);background:#f1f5f9}.tasks-filter-active,.tasks-filter-active:hover{background:var(--color-primary-blue);color:#fff}.tasks-filter-overdue:not(.tasks-filter-active),.tasks-filter-flagged:not(.tasks-filter-active){color:var(--color-danger-text)}.tasks-row-flag{vertical-align:-2px;color:#dc2626;margin-right:6px;display:inline-block}.tasks-filter-count{background:#ffffff40;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500}.tasks-filter:not(.tasks-filter-active) .tasks-filter-count{color:#475569;background:#f1f5f9}.tasks-title-cell{color:var(--color-text);max-width:260px;font-weight:500}.tasks-row-overdue{background:#fef2f2}.tasks-row-overdue:hover{background:#fee2e2!important}.tasks-row-clickable{cursor:pointer}.tasks-row-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;width:100%;max-width:100%;box-shadow:var(--shadow-card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1000px;font-size:14px}.data-table thead th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:none;background:#f8fafc;padding:0;font-size:12px;font-weight:600}.data-table-sort-btn{font:inherit;color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:4px;width:100%;min-height:40px;padding:12px 16px;font-size:12px;font-weight:600;display:inline-flex}.data-table-sort-btn:hover{color:var(--color-text);background:#eef2f7}.data-table tbody td{color:var(--color-text);border-bottom:1px solid #f1f5f9;padding:14px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f8fafc}.data-table-actions{white-space:nowrap;justify-content:flex-end;gap:4px;display:flex}.icon-btn{color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;display:inline-flex}.icon-btn:hover{color:var(--color-text);background:#f1f5f9}.icon-btn-danger{color:#ef4444}.icon-btn-danger:hover{background:var(--color-danger-soft);color:var(--color-danger-text)}.task-detail-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.task-detail-header h1{margin:0 0 8px}.task-detail-meta{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.task-detail-dates{color:#64748b;margin:0;font-size:13px}.task-detail-assigned{color:#475569;margin:6px 0 0;font-size:13px}.task-detail-assigned strong{color:#0f172a;font-weight:600}.task-detail-flag{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:10px 0 0;padding:10px 14px}.task-detail-flag-resolved{color:#854d0e;background:#fefce8;border-color:#fde68a}.task-detail-flag-head{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.task-detail-flag-head strong{font-weight:600}.task-detail-flag-resolve{color:#854d0e;cursor:pointer;background:#fff;border:1px solid #fde68a;border-radius:6px;min-height:28px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:500}.task-detail-flag-resolve:hover{background:#fefce8;border-color:#f59e0b}.task-detail-flag-resolve:disabled{opacity:.6;cursor:not-allowed}.task-detail-flag-reason{color:inherit;white-space:pre-wrap;margin:6px 0 0;padding-left:24px;font-size:14px}.task-detail-flag-resolution{color:#854d0e;margin:8px 0 0;padding-left:24px;font-size:12px;font-style:italic}.task-flag-btn{color:#991b1b;background:#fff;border-color:#fecaca;align-items:center;gap:6px;display:inline-flex}.task-flag-btn:hover{background:#fef2f2;border-color:#ef4444}.task-flag-submit{color:#fff;background:#dc2626;border-color:#dc2626;font-weight:500}.task-flag-submit:hover{background:#b91c1c;border-color:#b91c1c}.task-flag-submit:disabled{opacity:.5;cursor:not-allowed}.task-detail-completed-by{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;margin:6px 0 0;padding:4px 10px;font-size:13px;display:inline-flex}.task-detail-completed-by strong{font-weight:600}.task-detail-description{color:#334155;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-width:900px;margin:8px 0;padding:10px 14px;font-size:14px}.task-items{flex-direction:column;gap:10px;max-width:900px;margin:0 0 24px;padding:0;list-style:none;display:flex}.task-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.task-item-label{color:#0f172a;font-size:15px;font-weight:500}.task-item-checkbox{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:inline-flex}.task-item-checkbox input[type=checkbox]{cursor:pointer;width:22px;height:22px;margin:0}.task-item-text{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-width:420px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:15px}.task-item-text:focus{outline-offset:-1px;border-color:#2563eb;outline:2px solid #2563eb}.task-item-photo{align-items:flex-start;gap:10px;display:flex}.task-item-photo-upload{cursor:pointer;color:#334155;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;display:inline-flex}.task-item-photo-upload span,.task-detail-header button{align-items:center;gap:6px;display:inline-flex}.task-detail-header-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.task-item-photo-upload:hover{background:#e2e8f0}.task-item-photo-upload input[type=file]{display:none}.task-item-photo-preview{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.task-item-photo-preview img{object-fit:cover;border:1px solid #e2e8f0;border-radius:8px;max-width:220px;max-height:180px}.task-item-photo-preview button{color:#b91c1c;border-color:#fecaca;min-height:36px;padding:6px 12px;font-size:13px}.task-photos-section{flex-direction:column;gap:8px;display:flex}.task-photos-label{color:var(--color-text);font-size:13px;font-weight:600}.task-photos-grid{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.task-photos-thumb{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.task-photos-thumb img{object-fit:cover;border:1px solid #e2e8f0;border-radius:8px;max-width:160px;max-height:140px}.task-photos-thumb button{color:#b91c1c;border-color:#fecaca;min-height:30px;padding:4px 10px;font-size:12px}.task-item-photo-none{color:#94a3b8;font-size:13px;font-style:italic}.task-notes-label{color:#334155;flex-direction:column;gap:6px;max-width:900px;margin-bottom:16px;font-size:14px;font-weight:500;display:flex}.task-notes{color:#0f172a;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:80px;padding:10px 12px;font-family:inherit;font-size:15px}.task-notes:focus{outline-offset:-1px;border-color:#2563eb;outline:2px solid #2563eb}.task-notes:disabled{color:#475569;background:#f8fafc}.task-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:900px;display:flex}.task-complete-btn{color:#fff;background:#16a34a;border-color:#16a34a;font-weight:500}.task-complete-btn:hover{background:#15803d;border-color:#15803d}.taskprint-shell{background:#f1f5f9;flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:24px 16px;display:flex}.taskprint-toolbar{justify-content:space-between;gap:12px;width:100%;max-width:8.5in;display:flex}.taskprint-toolbar-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.taskprint-toolbar-btn:hover{background:#f8fafc}.taskprint-toolbar-btn-primary{background:var(--color-primary-blue,#2563eb);border-color:var(--color-primary-blue,#2563eb);color:#fff}.taskprint-toolbar-btn-primary:hover{background:#1d4ed8}.taskprint-loading,.taskprint-notfound{text-align:center;color:#475569;padding:40px}.taskprint-notfound button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-top:12px;padding:8px 14px}.taskprint-sheet{color:#0f172a;box-sizing:border-box;background:#fff;border-radius:6px;width:100%;max-width:8.5in;min-height:11in;padding:.6in .7in;font-family:Helvetica Neue,Arial,sans-serif;font-size:11pt;line-height:1.45;box-shadow:0 4px 24px #0f172a1f}.taskprint-header{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:8px;display:flex}.taskprint-brand{letter-spacing:.04em;color:#0f172a;font-size:18pt;font-weight:700}.taskprint-doctype{text-transform:uppercase;letter-spacing:.06em;color:#475569;margin-top:2px;font-size:10pt}.taskprint-header-meta{text-align:right;color:#475569;font-size:9.5pt;line-height:1.5}.taskprint-meta-label{color:#0f172a;font-weight:600}.taskprint-title{margin:0 0 12px;font-size:16pt;font-weight:700;line-height:1.25}.taskprint-meta{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 18px;font-size:10.5pt;display:grid}.taskprint-meta dt{color:#475569;font-weight:600}.taskprint-meta dd{margin:0}.taskprint-section{page-break-inside:auto;margin-top:18px}.taskprint-section h2{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #cbd5e1;margin:0 0 10px;padding-bottom:4px;font-size:11.5pt;font-weight:700}.taskprint-paragraph{margin:0}.taskprint-prewrap{white-space:pre-wrap}.taskprint-muted{color:#94a3b8;font-style:italic}.taskprint-meta-line{color:#475569;margin:4px 0 0;font-size:9.5pt}.taskprint-flag{border-left:4px solid #0f172a;padding-left:10px}.taskprint-flag h2{border-bottom-color:#0f172a}.taskprint-checklist{counter-reset:cl;margin:0;padding:0;list-style:none}.taskprint-checklist-item{counter-increment:cl;page-break-inside:avoid;margin-bottom:10px}.taskprint-checklist-row{align-items:flex-start;gap:10px;display:flex}.taskprint-box{border:1.5px solid #0f172a;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:1px;font-size:12pt;font-weight:700;line-height:1;display:inline-flex}.taskprint-box-checked{color:#fff;background:#0f172a}.taskprint-box-text{border:none;position:relative}.taskprint-box-text:before{content:"▸";color:#0f172a;font-size:11pt;font-weight:700}.taskprint-checklist-body{flex:1;min-width:0}.taskprint-checklist-label{font-weight:500}.taskprint-checklist-label:before{content:counter(cl) ". ";color:#475569;font-weight:700}.taskprint-checklist-text-line{white-space:pre-wrap;border-bottom:1px solid #94a3b8;min-height:16px;margin-top:4px;padding:1px 4px}.taskprint-checklist-photo{border:1px solid #cbd5e1;max-width:3.2in;max-height:2.4in;margin-top:6px;display:block}.taskprint-photo-placeholder{color:#475569;margin-top:4px;font-size:9.5pt}.taskprint-blank-lines{flex-direction:column;gap:16px;margin-top:8px;display:flex}.taskprint-blank-lines>div{border-bottom:1px solid #94a3b8;height:4px}.taskprint-signoff{page-break-inside:avoid;margin-top:26px}.taskprint-signoff-completed{flex-direction:column;gap:4px;display:flex}.taskprint-signoff-blank{flex-direction:column;gap:16px;display:flex}.taskprint-signoff-line{color:#475569;align-items:flex-end;gap:12px;font-size:10pt;display:flex}.taskprint-line{border-bottom:1px solid #0f172a;flex:1;height:18px}.taskprint-line-short{flex:0 0 1.8in}.taskprint-footer{color:#94a3b8;text-align:center;border-top:1px solid #cbd5e1;margin-top:28px;padding-top:8px;font-size:8.5pt}@media print{@page{size:letter;margin:.5in}body,html,#root{background:#fff!important;overflow:visible!important}.taskprint-shell{background:#fff;min-height:auto;padding:0}.taskprint-toolbar{display:none!important}.taskprint-sheet{box-shadow:none;border-radius:0;width:100%;max-width:none;min-height:auto;padding:0}.taskprint-sheet,.taskprint-sheet *{color:#000!important}.taskprint-box{border-color:#000!important}.taskprint-box-checked{color:#fff!important;background:#000!important}.taskprint-line,.taskprint-blank-lines>div,.taskprint-checklist-text-line{border-bottom-color:#000!important}}.mapviewer-page{max-width:none}.mapviewer-actions{flex-wrap:wrap;gap:8px;display:flex}.mapviewer-clear-btn{color:var(--color-danger-text,#b91c1c);border-color:var(--color-danger-text,#b91c1c)}.mapviewer-clear-btn:hover{background:var(--color-danger-soft,#fee2e2)}.mapviewer-location-row{margin:0 0 12px}.mapviewer-location-row label{color:#475569;flex-direction:column;gap:4px;max-width:320px;font-size:12px;display:flex}.mapviewer-location-row select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:38px;padding:0 10px;font-size:14px}.mapviewer-canvas-wrap{overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;position:relative;overflow:hidden}.mapviewer-canvas{touch-action:none;-webkit-user-select:none;user-select:none;background:#f1f5f9;border-radius:6px;width:100%;height:auto;display:block}.mapviewer-zoom-controls{z-index:5;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:4px;display:flex;position:absolute;top:24px;right:24px;overflow:hidden;box-shadow:0 4px 12px #0f172a14}.mapviewer-zoom-controls button{color:#0f172a;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.mapviewer-zoom-controls button:hover{background:#f1f5f9}.mapviewer-zoom-controls button:not(:last-child){border-bottom:1px solid #e2e8f0}.mapviewer-picker{flex-direction:column;gap:12px;display:flex}.mapviewer-picker-search{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.mapviewer-picker-search input{border:none;outline:none;flex:1;height:38px;font-size:14px}.mapviewer-picker-list{border:1px solid #e2e8f0;border-radius:8px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.mapviewer-picker-list li{border-bottom:1px solid #f1f5f9}.mapviewer-picker-list li:last-child{border-bottom:none}.mapviewer-picker-row{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.mapviewer-picker-row:hover{background:#f8fafc}.mapviewer-picker-id{color:#0f172a;font-size:14px;font-weight:600}.mapviewer-picker-meta{color:#64748b;font-size:12px}.mapviewer-picker-elsewhere{color:var(--color-warn-text,#b45309);margin-top:2px;font-size:11px}.mapviewer-picker-empty{color:#64748b;margin:0;padding:12px;font-size:13px}.mapviewer-picker-actions{justify-content:flex-end;gap:8px;display:flex}.mapviewer-picker-clear{color:var(--color-danger-text,#b91c1c);align-items:center;gap:6px;margin-right:auto;display:inline-flex}.mapviewer-menu{flex-direction:column;gap:10px;display:flex}.mapviewer-menu-current{color:#475569;margin:0 0 4px;font-size:13px}.mapviewer-menu-note-label{color:#475569;flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.mapviewer-menu-note{box-sizing:border-box;resize:vertical;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;min-height:64px;padding:8px 10px;font-family:inherit;font-size:13px}.mapviewer-menu-note:focus{border-color:var(--color-primary-blue,#2563eb);box-shadow:0 0 0 3px #2563eb26}.mapviewer-menu-note-actions{justify-content:flex-end;gap:8px;display:flex}.mapviewer-menu-note-actions button{padding:0 14px;font-size:13px;height:32px!important}.mapviewer-menu-meta{color:#64748b;margin:4px 0 0;font-size:12px}.mapviewer-menu-divider{border:none;border-top:1px solid #e2e8f0;margin:4px 0}.mapviewer-menu button{justify-content:center;align-items:center;gap:6px;height:44px;display:inline-flex}.mapviewer-menu-report{color:var(--color-danger-text,#b91c1c);border-color:var(--color-danger-text,#b91c1c);align-items:center;gap:6px;display:inline-flex}.mapviewer-menu-report:hover{background:var(--color-danger-soft,#fee2e2)}.mapviewer-report-context{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:4px;padding:10px 12px;font-size:13px;display:flex}.mapviewer-report-context>div{gap:8px;display:flex}.mapviewer-report-context-label{color:#64748b;flex:0 0 80px;font-size:12px;font-weight:500}.mapviewer-snapshot-list{flex-direction:column;gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.mapviewer-snapshot-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .1s,border-color .1s;display:grid}.mapviewer-snapshot-row:hover{background:#f8fafc;border-color:#cbd5e1}.mapviewer-snapshot-row-when{color:#0f172a;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.mapviewer-snapshot-row-meta{color:#64748b;font-size:12px}.mapviewer-snapshot-row-stats{color:#475569;white-space:nowrap;font-size:11px}@media (width<=540px){.mapviewer-snapshot-row{grid-template-columns:1fr;gap:4px}}.mapviewer-snapshot-viewer{flex-direction:column;gap:12px;display:flex}.mapviewer-snapshot-back{color:var(--color-primary-blue,#2563eb);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.mapviewer-snapshot-back:hover{text-decoration:underline}.mapviewer-snapshot-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;padding:10px 12px;font-size:13px;display:grid}.mapviewer-snapshot-meta dt{color:#64748b;font-weight:500}.mapviewer-snapshot-meta dd{color:#0f172a;margin:0}.mapviewer-snapshot-canvas-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:60vh;padding:8px;overflow:auto}.mapviewer-snapshot-canvas{-webkit-user-select:none;user-select:none;background:#f1f5f9;border-radius:4px;width:100%;height:auto;display:block}.mapviewer-snapshot-note{color:#64748b;margin:0;font-size:12px;font-style:italic}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.toggle-switch input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.toggle-switch-track{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background .15s;position:relative}.toggle-switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f172a33}.toggle-switch input[type=checkbox]:checked+.toggle-switch-track{background:var(--color-primary-blue)}.toggle-switch input[type=checkbox]:checked+.toggle-switch-track:after{transform:translate(14px)}.toggle-switch input[type=checkbox]:focus-visible+.toggle-switch-track{outline:2px solid var(--color-primary-blue);outline-offset:2px}.assets-row{cursor:pointer}.assets-row:hover{background:#f8fafc}.assets-row:focus-visible{outline:2px solid var(--color-primary-blue);outline-offset:-2px}.asset-profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:12px;padding:20px}.asset-profile-section-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.asset-profile-section h3{color:#0f172a;margin:0;font-size:15px;font-weight:600}.asset-profile-section-icon{background:var(--color-info-soft,#dbeafe);width:32px;height:32px;color:var(--color-primary-blue,#2563eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.asset-profile-meta{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}.asset-profile-meta dt{color:#64748b;font-weight:500}.asset-profile-meta dd{color:#0f172a;margin:0}.asset-profile-qr{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.asset-profile-qr-preview{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;flex:0 0 240px;justify-content:center;align-items:center;min-height:240px;padding:10px;display:flex}.asset-profile-qr-svg svg{width:220px;height:220px;display:block}.asset-profile-qr-empty{text-align:center;color:#64748b;padding:0 8px;font-size:13px;line-height:1.4}.asset-profile-qr-actions{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.asset-profile-qr-actions button{justify-content:flex-start;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.asset-profile-qr-issued{color:#64748b;margin:0 0 4px;font-size:12px}.asset-profile-qr-remove{color:var(--color-danger-text,#b91c1c);border-color:var(--color-danger-text,#b91c1c)}.asset-profile-qr-remove:hover{background:var(--color-danger-soft,#fee2e2)}.asset-profile-warning{background:var(--color-warn-soft,#fef3c7);color:var(--color-warn-text,#b45309);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.asset-profile-tasks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.asset-profile-task{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;transition:background .1s,border-color .1s;display:grid}.asset-profile-task:hover{background:#f8fafc;border-color:#cbd5e1}.asset-profile-task-title{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.asset-profile-task-meta{color:#64748b;white-space:nowrap;font-size:12px}.asset-profile-empty{color:#64748b;margin:0;font-size:13px}.assetqr-sheet{flex-direction:column;display:flex}.assetqr-body{flex-direction:column;align-items:center;gap:16px;margin-top:32px;display:flex}.assetqr-qr{width:320px;height:320px}.assetqr-qr svg{width:100%;height:100%;display:block}.assetqr-info{text-align:center;flex-direction:column;gap:4px;display:flex}.assetqr-id{letter-spacing:.04em;color:#0f172a;font-size:32pt;font-weight:700}.assetqr-meta{color:#475569;font-size:13pt}.assetqr-meta-small{color:#64748b;margin-top:2px;font-size:10pt}.assetqr-instructions{text-align:center;color:#64748b;margin-top:24px;font-size:10pt;font-style:italic}@media print{.assetqr-qr svg{color:#000!important}}.checklists-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:1200px;display:grid}.checklist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px;display:flex}.checklist-card h2{margin:0 0 10px;font-size:16px}.checklist-card-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.checklist-card-count{color:var(--color-text-muted);margin:0;font-size:13px}.checklist-card-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.checklist-card-open{text-align:center;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;flex:1;justify-content:center;align-items:center;min-height:40px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.checklist-card-open:hover{background:var(--color-primary-hover)}.empdoc-error{border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger-text);margin-bottom:16px;padding:10px 14px;font-size:.875rem}.empdoc-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.empdoc-empty h2{margin:4px 0 0}.empdoc-empty p{max-width:44ch;margin:0 0 8px;font-size:.875rem}.empdoc-empty .btn-primary,.empdoc-new-btn{border-radius:var(--radius-md);align-items:center;gap:6px;padding:9px 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.empdoc-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.empdoc-tabs{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:3px;display:inline-flex}.empdoc-tab{border-radius:var(--radius-sm);min-height:34px;color:var(--color-text-muted);background:0 0;border:0;padding:5px 12px;font-size:.85rem}.empdoc-tab:hover{background:var(--color-bg)}.empdoc-tab-active,.empdoc-tab-active:hover{background:var(--color-primary);color:var(--color-primary-text)}.empdoc-filter-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.empdoc-filter-controls select,.empdoc-filter-controls button{min-height:38px;font-size:.85rem}.empdoc-search{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-subtle);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.empdoc-search input{background:0 0;border:0;outline:none;width:190px;min-height:36px;padding:0;font-size:.85rem}.empdoc-roster,.empdoc-doc-list,.empdoc-template-list{flex-direction:column;gap:8px;display:flex}.empdoc-roster-row,.empdoc-doc-row,.empdoc-template-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);color:inherit;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.empdoc-roster-row:hover,.empdoc-doc-row:hover,.empdoc-template-row:hover{border-color:var(--color-border-strong)}.empdoc-avatar{background:var(--color-accent-soft);color:#0f766e;border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.78rem;font-weight:650;display:inline-flex}.empdoc-roster-text,.empdoc-doc-text,.empdoc-template-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.empdoc-roster-name,.empdoc-doc-title,.empdoc-template-title{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.empdoc-roster-meta,.empdoc-doc-meta,.empdoc-template-meta{color:var(--color-text-muted);font-size:.78rem}.empdoc-unassigned{color:var(--color-warn-text)}.empdoc-roster-open{color:var(--color-primary-blue);white-space:nowrap;align-items:center;gap:2px;font-size:.82rem;font-weight:500;display:inline-flex}.empdoc-progress{flex-direction:column;flex:0 0 92px;gap:4px;width:92px;display:inline-flex}.empdoc-progress-count{color:var(--color-text);text-align:center;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:650}.empdoc-progress-bar{background:var(--color-border);border-radius:999px;height:5px;overflow:hidden}.empdoc-progress-fill{background:var(--color-warn);border-radius:999px;height:100%;display:block}.empdoc-progress-complete .empdoc-progress-fill{background:var(--color-success)}.empdoc-progress-new .empdoc-progress-fill{background:var(--color-danger)}.empdoc-progress-none{width:auto;color:var(--color-text-subtle);flex-basis:auto;font-size:.76rem}.empdoc-kind-icon{border-radius:var(--radius-md);background:var(--color-info-soft);width:34px;height:34px;color:var(--color-info-text);flex:0 0 34px;justify-content:center;align-items:center;display:inline-flex}.empdoc-kind-external{background:var(--color-warn-soft);color:var(--color-warn-text)}.empdoc-doc-main,.empdoc-template-main{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.empdoc-doc-chevron{color:var(--color-text-subtle);flex:none}.empdoc-doc-actions,.empdoc-template-actions{flex:none;gap:6px;display:flex}.empdoc-doc-actions button,.empdoc-template-actions button{min-height:34px;padding:6px 9px}.empdoc-doc-row-waived{opacity:.65}.empdoc-sig-chip{background:var(--color-accent-soft);color:#0f766e;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:.68rem;font-weight:600;display:inline-flex}.empdoc-head-actions{align-items:center;gap:8px;display:flex}.empdoc-print-link{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:40px;color:var(--color-text);align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.empdoc-print-link:hover{background:#f1f5f9}.empdoc-person-summary{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);align-items:center;gap:14px;margin-bottom:16px;padding:12px 14px;display:flex}.empdoc-person-summary-text{color:var(--color-text-muted);font-size:.85rem}.empdoc-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);margin-bottom:16px;padding:18px}.empdoc-card h2{margin-bottom:12px}.empdoc-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.empdoc-count{color:var(--color-text-muted);font-size:.78rem}.empdoc-field{margin-bottom:14px;display:block}.empdoc-field-row{flex-wrap:wrap;gap:14px;display:flex}.empdoc-field-row .empdoc-field{flex:220px}.empdoc-label{color:var(--color-text);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.empdoc-optional{color:var(--color-text-subtle);font-weight:400}.empdoc-field input,.empdoc-field select{width:100%}.empdoc-help{color:var(--color-text-muted);margin:0 0 10px;font-size:.78rem;line-height:1.5}.empdoc-warn{color:var(--color-warn-text)}.empdoc-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 0 14px;padding:12px 14px}.empdoc-fieldset legend{padding:0 6px;font-size:.8rem;font-weight:600}.empdoc-checks{flex-wrap:wrap;gap:8px 18px;display:flex}.empdoc-check{cursor:pointer;align-items:flex-start;gap:8px;font-size:.85rem;display:flex}.empdoc-check input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary-blue);flex:none;margin-top:1px}.empdoc-check-standalone{margin-bottom:12px}.empdoc-check-standalone .empdoc-help{margin:2px 0 0;display:block}.empdoc-required-star{color:var(--color-danger)}.empdoc-item-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.empdoc-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:10px}.empdoc-item-heading{background:var(--color-info-soft);border-color:#bfdbfe}.empdoc-item-head{align-items:center;gap:8px;display:flex}.empdoc-item-grip{color:var(--color-text-subtle);flex:none}.empdoc-item-label{flex:200px;min-width:0}.empdoc-item-type{flex:none;width:auto;font-size:.8rem}.empdoc-item-buttons{flex:none;gap:4px;display:flex}.empdoc-item-buttons button{min-height:34px;padding:6px 8px}.empdoc-item-opts{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;padding-left:23px;display:flex}.empdoc-help-toggle{min-height:28px;padding:3px 9px;font-size:.78rem}.empdoc-item-help{margin-top:10px;padding-left:23px}.empdoc-add-item-row{gap:8px;display:flex}.empdoc-add-item-row button{align-items:center;gap:5px;font-size:.85rem;display:inline-flex}.empdoc-editor-actions{justify-content:flex-end;gap:10px;padding-bottom:8px;display:flex}.empdoc-fill-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.empdoc-fill-item{border-bottom:1px solid var(--color-border);padding:10px 0}.empdoc-fill-item:last-child{border-bottom:0}.empdoc-fill-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-top:14px;padding:8px 0 4px;font-size:.8rem;font-weight:700}.empdoc-fill-heading:first-child{margin-top:0}.empdoc-fill-check{font-size:.9rem}.empdoc-fill-check input[type=checkbox]{width:19px;height:19px}.empdoc-fill-help{border-left:2px solid var(--color-border);color:var(--color-text-muted);margin:6px 0 0 27px;padding-left:10px;font-size:.8rem}.empdoc-fill-photo{margin:8px 0 0 27px}.empdoc-photo-btn{align-items:center;gap:5px;min-height:32px;padding:5px 10px;font-size:.78rem;display:inline-flex}.empdoc-thumbs{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.empdoc-thumb{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:110px;height:110px;position:relative;overflow:hidden}.empdoc-thumb img{object-fit:cover;width:100%;height:100%;display:block}.empdoc-thumb-remove{color:#fff;background:#0f172abf;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;min-height:22px;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.empdoc-thumb-remove:hover{background:#0f172ae6}.empdoc-notes{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);resize:vertical;width:100%;padding:10px 12px;font-family:inherit;font-size:.875rem;line-height:1.55}.empdoc-sig-name{max-width:320px;margin:14px 0 0}.empdoc-complete-banner{border-radius:var(--radius-lg);background:var(--color-success-soft);color:var(--color-success-text);border:1px solid #bbf7d0;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.empdoc-complete-banner div{flex-direction:column;flex:1;font-size:.82rem;display:flex}.empdoc-complete-banner button{align-items:center;gap:6px;min-height:34px;padding:6px 12px;font-size:.82rem;display:inline-flex}.empdoc-actions-bar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex;position:sticky;bottom:0}.empdoc-actions-status{flex-direction:column;gap:2px;font-size:.78rem;display:flex}.empdoc-unsaved{color:var(--color-warn-text);font-weight:600}.empdoc-saved{color:var(--color-success-text)}.empdoc-blockers{color:var(--color-text-muted)}.empdoc-actions-buttons{gap:8px;display:flex}.empdoc-actions-buttons button{align-items:center;gap:6px;display:inline-flex}.empdoc-assign-list{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.empdoc-assign-option{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.empdoc-assign-name{font-size:.875rem;font-weight:600}.empdoc-assign-meta{color:var(--color-text-muted);font-size:.76rem}.empdoc-modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@media (width<=720px){.empdoc-filters{flex-direction:column;align-items:stretch}.empdoc-tabs{overflow-x:auto}.empdoc-search input{width:100%}.empdoc-search{flex:100%}.empdoc-doc-row,.empdoc-template-row{flex-wrap:wrap}.empdoc-doc-actions,.empdoc-template-actions{justify-content:flex-end;width:100%}.empdoc-roster-open span{display:none}.empdoc-actions-bar{flex-direction:column;align-items:stretch}.empdoc-actions-buttons{width:100%}.empdoc-actions-buttons button{flex:1;justify-content:center}.empdoc-item-head{flex-wrap:wrap}.empdoc-item-label{flex:100%;order:-1}}.empdoc-fill-block{padding:4px 0 10px;list-style:none}.empdoc-item-blocklabel{min-width:0;color:var(--color-text-muted);flex:200px;font-size:.8rem;font-weight:600}.empdoc-item-richtext{background:var(--color-surface)}.empdoc-sig-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.empdoc-sig-block{min-width:0}.empdoc-sig-title{color:var(--color-text);font-size:.85rem;font-weight:650}.empdoc-sig-hint{color:var(--color-text-muted);margin-bottom:8px;font-size:.75rem}.empdoc-sig-block .empdoc-sig-name{max-width:none;margin-top:10px}.rte{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.rte-disabled{background:var(--color-bg);opacity:.7}.rte-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.rte-toolbar-group{align-items:center;gap:2px;display:flex}.rte-toolbar-group+.rte-toolbar-group{border-left:1px solid var(--color-border);margin-left:4px;padding-left:6px}.rte-btn{border-radius:var(--radius-sm);width:30px;height:30px;min-height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.rte-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.rte-btn:disabled{opacity:.4;cursor:not-allowed}.rte-surface{min-height:240px;max-height:60vh;color:var(--color-text);outline:none;padding:14px 16px;font-size:.9rem;line-height:1.6;overflow-y:auto}.rte-compact .rte-surface{min-height:96px}.rte-surface:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.rte-surface:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.rte-surface:has(>br:only-child):before{content:attr(data-placeholder);color:var(--color-text-subtle);pointer-events:none}.rte-content{color:var(--color-text);overflow-wrap:anywhere;font-size:.9rem;line-height:1.65}.rte-surface>:first-child,.rte-content>:first-child{margin-top:0}.rte-surface>:last-child,.rte-content>:last-child{margin-bottom:0}.rte-surface p,.rte-content p{margin:0 0 .7em}.rte-surface h1,.rte-content h1,.rte-surface h2,.rte-content h2,.rte-surface h3,.rte-content h3,.rte-surface h4,.rte-content h4{color:var(--color-text);margin:1.2em 0 .5em;font-weight:650;line-height:1.3}.rte-surface h1,.rte-content h1{font-size:1.25rem}.rte-surface h2,.rte-content h2{font-size:1.1rem}.rte-surface h3,.rte-content h3{font-size:1rem}.rte-surface h4,.rte-content h4{font-size:.925rem}.rte-surface ul,.rte-content ul,.rte-surface ol,.rte-content ol{margin:0 0 .7em;padding-left:1.4em}.rte-surface li,.rte-content li{margin-bottom:.25em}.rte-surface blockquote,.rte-content blockquote{border-left:3px solid var(--color-border-strong);color:var(--color-text-muted);margin:0 0 .7em;padding:.4em 0 .4em .9em}.rte-surface a,.rte-content a{color:var(--color-primary-blue);text-decoration:underline}.rte-surface table,.rte-content table{border-collapse:collapse;width:100%;margin:0 0 .7em;font-size:.85rem}.rte-surface th,.rte-content th,.rte-surface td,.rte-content td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:6px 8px}.rte-surface th,.rte-content th{background:var(--color-bg);font-weight:600}.rte-surface code,.rte-content code{border-radius:var(--radius-sm);background:var(--color-bg);padding:1px 4px;font-size:.85em}.rte-surface hr,.rte-content hr{border:0;border-top:1px solid var(--color-border);margin:1em 0}.sigpad{width:100%}.sigpad-canvas-wrap{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:#fff;position:relative;overflow:hidden}.sigpad-canvas{aspect-ratio:600/180;cursor:crosshair;touch-action:none;width:100%;display:block}.sigpad-hint{color:var(--color-text-subtle);pointer-events:none;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;inset:0}.sigpad-actions{align-items:center;gap:10px;margin-top:6px;display:flex}.sigpad-rule{flex:1}.sigpad-clear{align-items:center;gap:5px;min-height:32px;padding:5px 10px;font-size:.8rem;display:inline-flex}.sigpad-disabled .sigpad-canvas{cursor:not-allowed;opacity:.6}.sigpad-saved{border-bottom:1px solid var(--color-border-strong);background:#fff;width:100%;max-width:340px;display:block}.empprint-shell{background:#f1f5f9;flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:24px 16px;display:flex}.empprint-toolbar{justify-content:space-between;gap:12px;width:100%;max-width:8.5in;display:flex}.empprint-toolbar-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.empprint-toolbar-btn:hover{background:#f8fafc}.empprint-toolbar-btn-primary{background:var(--color-primary-blue,#2563eb);border-color:var(--color-primary-blue,#2563eb);color:#fff}.empprint-toolbar-btn-primary:hover{background:var(--color-primary-blue-hover,#1d4ed8)}.empprint-sheet{color:#0f172a;background:#fff;width:100%;max-width:8.5in;padding:.6in;font-size:11pt;line-height:1.5;box-shadow:0 10px 30px #0f172a1f}.empprint-loading,.empprint-notfound{text-align:center;color:#64748b;padding:48px}.empprint-head{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.empprint-head h1{margin:0 0 2px;font-size:17pt;line-height:1.2}.empprint-sub{color:#475569;margin:0;font-size:10.5pt}.empprint-head-right{text-align:right;white-space:nowrap}.empprint-score{font-size:20pt;font-weight:700;line-height:1}.empprint-status{font-size:12pt;font-weight:700}.empprint-score-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:8.5pt}.empprint-table{border-collapse:collapse;width:100%;font-size:10pt}.empprint-table th,.empprint-table td{text-align:left;vertical-align:top;border-bottom:1px solid #cbd5e1;padding:7px 8px}.empprint-table th{text-transform:uppercase;letter-spacing:.04em;color:#475569;border-bottom:1.5px solid #94a3b8;font-size:8.5pt}.empprint-row-waived td{color:#94a3b8}.empprint-tag{text-transform:uppercase;letter-spacing:.04em;border:1px solid #cbd5e1;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:7.5pt}.empprint-none{color:#94a3b8;text-align:center;padding:20px 8px}.empprint-section{break-inside:avoid;margin-bottom:18px}.empprint-section h2{text-transform:uppercase;letter-spacing:.05em;color:#475569;border-bottom:1px solid #cbd5e1;margin:0 0 8px;padding-bottom:4px;font-size:10pt}.empprint-items{margin:0;padding:0;list-style:none}.empprint-item{break-inside:avoid;align-items:flex-start;gap:9px;padding:5px 0;display:flex}.empprint-item-heading{text-transform:uppercase;letter-spacing:.04em;color:#475569;margin-top:12px;padding:6px 0 3px;font-size:9.5pt;font-weight:700}.empprint-box{border:1.5px solid #0f172a;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;margin-top:2px;font-size:12pt;font-weight:700;line-height:1;display:inline-flex}.empprint-box-blank{border-color:#0000}.empprint-item-body{flex:1;min-width:0}.empprint-item-label{display:block}.empprint-item-help{color:#64748b;margin-top:2px;font-size:9pt}.empprint-answer{margin-top:3px;font-size:10pt;display:block}.empprint-rule{border-bottom:1px solid #94a3b8;height:15px;margin-top:4px;display:block}.empprint-item-photo{border:1px solid #cbd5e1;max-width:2.6in;margin-top:6px;display:block}.empprint-photos{flex-wrap:wrap;gap:10px;display:flex}.empprint-photos img{border:1px solid #cbd5e1;max-width:3.2in;max-height:4in}.empprint-notes{white-space:pre-wrap;margin:0;font-size:10pt}.empprint-signoff-grid{gap:18px;display:flex}.empprint-signoff-grid>div{flex:1}.empprint-signoff-grid>.empprint-signoff-date{flex:0 0 1.4in}.empprint-sig-box{border-bottom:1px solid #0f172a;height:.62in}.empprint-sig-box img{max-width:100%;max-height:.6in}.empprint-sig-box-text{align-items:flex-end;padding-bottom:3px;font-size:10pt;display:flex}.empprint-sig-caption{color:#64748b;margin-top:4px;font-size:8.5pt}.empprint-sub-minor{color:#64748b;font-size:9.5pt}.empprint-hire{white-space:nowrap}.empprint-page-break{break-before:page;page-break-before:always;border-top:2px dashed #cbd5e1;margin-top:28px;padding-top:28px}.empprint-foot{color:#94a3b8;border-top:1px solid #e2e8f0;margin-top:20px;padding-top:8px;font-size:8.5pt}@media print{@page{size:letter;margin:.5in}body,html,#root{background:#fff!important;overflow:visible!important}.empprint-shell{background:#fff;min-height:auto;padding:0}.empprint-toolbar{display:none!important}.empprint-sheet{max-width:none;box-shadow:none;padding:0}.empprint-table thead{display:table-header-group}.empprint-table tr{break-inside:avoid}.empprint-page-break{border-top:0;margin-top:0;padding-top:0}}.empprint-item-block{break-inside:avoid;padding:4px 0 6px 23px}.empdocrep-filters{justify-content:flex-start}.empdocrep-waived{white-space:nowrap}.empdocrep-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow-x:auto}.empdocrep-table{border-collapse:collapse;width:100%;font-size:.85rem}.empdocrep-table th,.empdocrep-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:9px 12px}.empdocrep-table th{background:var(--color-bg);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.72rem;font-weight:650;position:sticky;top:0}.empdocrep-table tbody tr:last-child td{border-bottom:0}.empdocrep-table tbody tr:hover{background:var(--color-bg)}.empdocrep-table a{color:var(--color-primary-blue);text-decoration:none}.empdocrep-table a:hover{text-decoration:underline}@media print{@page{size:letter;margin:.4in}.sidebar,.topbar,.page-header-action,.empdoc-filters,.stat-card-row,.admin-back{display:none!important}.layout{padding-left:0!important}.empdocrep-table-wrap{box-shadow:none;border:0;overflow:visible}.empdocrep-table{table-layout:fixed;width:100%;font-size:7.5pt}.empdocrep-table th,.empdocrep-table td{white-space:normal;overflow-wrap:anywhere;padding:4px 5px}.empdocrep-printall{display:none!important}.empdocrep-employee-cell{white-space:normal;display:block}.empdocrep-table th{background:#fff;border-bottom:1.5px solid #94a3b8;position:static}.empdocrep-table thead{display:table-header-group}.empdocrep-table tr{break-inside:avoid}}.empdocrep-employee-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.empdocrep-printall{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;display:inline-flex;color:var(--color-text-muted)!important;text-decoration:none!important}.empdocrep-printall:hover{border-color:var(--color-border-strong);color:var(--color-text)!important}.detail-back{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;min-height:32px;margin-bottom:12px;padding:4px 0;font-size:13px;display:inline-flex}.detail-back:hover{color:var(--color-text);background:0 0}.detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.detail-header h1{margin:0 0 8px}.detail-header>button{align-items:center;gap:6px;display:inline-flex}.detail-meta{flex-wrap:wrap;gap:6px;display:flex}.detail-items-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.detail-items-header h2{margin:0}.detail-items{counter-reset:checklist;flex-direction:column;gap:8px;max-width:900px;margin:0;padding:0;list-style:none;display:flex}.detail-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);counter-increment:checklist;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.detail-item:before{content:counter(checklist) ".";color:var(--color-text-muted);min-width:24px;font-size:13px;font-weight:500}.detail-item-main{flex-direction:column;flex:1;gap:6px;display:flex}.detail-item-label{color:var(--color-text);font-size:14px;font-weight:500}.detail-item-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag-type{color:#4338ca;background:#eef2ff}.tag-photo{background:var(--color-warn-soft);color:var(--color-warn-text)}.detail-item-actions{flex-wrap:wrap;gap:2px;display:flex}.detail-item-actions .icon-btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=640px){.detail-item{flex-direction:column;align-items:stretch}.detail-item:before{align-self:flex-start}.detail-item-actions{justify-content:flex-start}}.report-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.report-filters-row{flex-wrap:wrap;gap:12px;display:flex}.report-filter-cell{flex-direction:column;flex:220px;gap:6px;min-width:0;display:flex}.report-filter-wide{flex:320px}.report-filter-full{flex:100%}.report-filter-label{color:#475569;font-size:13px;font-weight:500}.report-filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;height:40px;padding:0 12px;font-size:14px}.report-filter-select:focus{border-color:var(--color-primary-blue,#2563eb);box-shadow:0 0 0 3px #2563eb26}.report-picker{flex-direction:column;gap:6px;display:flex;position:relative}.report-picker-input-wrap{position:relative}.report-picker-input-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.report-picker-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px 0 36px;font-size:14px}.report-picker-input:focus{border-color:var(--color-primary-blue,#2563eb);box-shadow:0 0 0 3px #2563eb26}.report-picker-selected{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;height:40px;padding:0 8px 0 12px;display:flex}.report-picker-selected-id{color:#0f172a;font-weight:600}.report-picker-selected-meta{color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.report-picker-clear{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.report-picker-clear:hover{color:#0f172a;background:#f1f5f9}.report-picker-menu{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-height:360px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0f172a1f}.report-picker-more{color:#64748b;text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0;padding:8px 12px;font-size:12px}.report-header-actions{flex-wrap:wrap;gap:8px;display:flex}.report-run-row{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;padding-top:12px;display:flex}.report-run-btn{align-items:center;gap:8px;display:inline-flex}.report-run-btn:disabled{opacity:.5;cursor:not-allowed}.report-stale-hint{color:var(--color-warn-text,#b45309);background:var(--color-warn-soft,#fef3c7);border-radius:6px;padding:6px 10px;font-size:13px}.report-export-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.report-export-btn{align-items:center;gap:8px;display:inline-flex}.report-export-btn:disabled{opacity:.5;cursor:not-allowed}.report-picker-empty{color:#64748b;padding:12px;font-size:13px}.report-picker-option{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f1f5f9;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;display:flex}.report-picker-option:last-child{border-bottom:none}.report-picker-option:hover{background:#f8fafc}.report-picker-option-id{color:#0f172a;font-size:14px;font-weight:600}.report-picker-option-meta{color:#64748b;font-size:12px}.report-asset-header{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex}.report-asset-header-icon{background:var(--color-primary-blue,#2563eb);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.report-asset-header-body{min-width:0}.report-asset-header-title{color:#0f172a;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.report-asset-header-meta{color:#475569;margin-top:2px;font-size:13px}.report-date-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.report-date-presets{flex-wrap:wrap;gap:6px;display:flex}.report-date-preset{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 12px;font-size:13px}.report-date-preset:hover{background:#f1f5f9}.report-date-preset-active{background:var(--color-primary-blue,#2563eb);border-color:var(--color-primary-blue,#2563eb);color:#fff}.report-date-custom{gap:12px;display:flex}.report-date-custom label{color:#475569;flex-direction:column;gap:4px;font-size:12px;display:flex}.report-date-custom input{border:1px solid #cbd5e1;border-radius:6px;height:34px;padding:0 8px;font-size:13px}.report-table tbody tr.report-row{cursor:pointer}.report-table tbody tr.report-row:hover{background:#f8fafc}.report-row-toggle{width:36px}.report-row-actions{text-align:right;width:44px}.report-cell-muted{color:#94a3b8}.badge-flagged{background:var(--color-danger-soft,#fee2e2);color:var(--color-danger-text,#b91c1c);align-items:center;gap:4px;display:inline-flex}.badge-flag-resolved{color:#854d0e;background:#fefce8;align-items:center;gap:4px;display:inline-flex}.report-row-detail-resolution{opacity:.85;margin-top:6px;font-size:12px;font-style:italic}.report-row-detail-tr{background:#f8fafc}.report-row-detail-tr td{padding:0!important}.report-row-detail{border-top:1px solid #e2e8f0;padding:16px 20px 20px}.report-row-detail-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.report-detail-field-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.report-detail-field-value{color:#0f172a;margin-top:2px;font-size:13px}.report-row-detail-section{margin-top:14px}.report-row-detail-label{color:#475569;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.report-row-detail-text{color:#0f172a;white-space:pre-wrap;font-size:13px}.report-row-detail-flag{border-left:3px solid var(--color-danger-text,#b91c1c);background:var(--color-danger-soft,#fee2e2);border-radius:4px;padding:10px 12px}.report-row-detail-flag .report-row-detail-label{color:var(--color-danger-text,#b91c1c)}.report-checklist{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.report-checklist-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.report-checklist-item-head{align-items:center;gap:8px;display:flex}.report-checklist-item-label{color:#0f172a;font-size:13px;font-weight:500}.report-checkbox{color:#fff;background:0 0;border:1.5px solid #94a3b8;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.report-checkbox-on{background:var(--color-primary-blue,#2563eb);border-color:var(--color-primary-blue,#2563eb)}.report-checklist-text{color:#334155;white-space:pre-wrap;margin-top:6px;padding-left:26px;font-size:13px}.report-checklist-text em{color:#94a3b8;font-style:italic}.report-checklist-photo{border:1px solid #e2e8f0;border-radius:6px;max-width:240px;max-height:180px;margin-top:8px;margin-left:26px;display:block}.report-task-photos{flex-wrap:wrap;gap:10px;display:flex}.report-task-photos .report-checklist-photo{margin-top:0;margin-left:0}.reportprint-cover{page-break-after:always}.reportprint-task-page{page-break-before:always}.reportprint-task-page:last-child{page-break-after:auto}.reportprint-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.reportprint-summary-stat{text-align:center;border:1px solid #cbd5e1;border-radius:6px;padding:12px}.reportprint-summary-stat-value{font-size:22pt;font-weight:700;line-height:1.1}.reportprint-summary-stat-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:9.5pt}.reportprint-filters{margin:0}@media print{.reportprint-summary-stat{border-color:#000!important}.reportprint-cover{break-after:page}.reportprint-task-page{break-before:page}}@media (width<=540px){.reportprint-summary-grid{grid-template-columns:repeat(2,1fr)}}.report-filter-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px;font-size:14px}.report-filter-input:focus{border-color:var(--color-primary-blue,#2563eb);box-shadow:0 0 0 3px #2563eb26}.report-filter-checkbox{color:#475569;cursor:pointer;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.report-filter-checkbox input[type=checkbox]{flex-shrink:0;margin:0}.report-template-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.report-template-bar-label{color:#475569;flex:280px;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:500;display:inline-flex}.report-template-bar-label select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:1;min-width:0;height:36px;padding:0 10px;font-size:14px}.report-template-bar-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.report-template-bar-actions button{align-items:center;gap:6px;height:36px;display:inline-flex}.report-template-bar-menu{justify-content:center;width:36px;padding:0}.report-template-manage{flex-direction:column;gap:10px;display:flex}.report-template-manage p{margin:0}.report-template-manage-desc{color:#64748b;font-size:13px}.report-template-manage-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.report-template-manage-actions button{align-items:center;gap:6px;display:inline-flex}.report-template-delete{color:var(--color-danger-text,#b91c1c);border-color:var(--color-danger-text,#b91c1c)}.report-template-delete:hover{background:var(--color-danger-soft,#fee2e2)}.scheduler-th{color:var(--color-text-muted);padding:12px 16px;font-size:12px;font-weight:600}.scheduler-sub{color:var(--color-text-muted);margin-top:2px;font-size:12px;font-weight:400}.scheduler-cell{align-items:center;gap:6px;display:inline-flex}.scheduler-cell-icon{color:var(--color-text-subtle)}.scheduler-pill{border-radius:var(--radius-sm);background:var(--color-info-soft);color:var(--color-info-text);padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.scheduler-pill-muted{color:#475569;background:#f1f5f9}.scheduler-run-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:32px;color:var(--color-text);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.scheduler-run-btn:hover{background:#f1f5f9}.scheduler-run-btn:disabled{opacity:.5;cursor:not-allowed}.admin-tiles{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-width:1100px;margin-top:16px;display:grid}.admin-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.admin-tile:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-tile:hover .admin-tile-chevron{color:var(--color-text);transform:translate(2px)}.admin-tile-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.admin-tile-icon-blue{color:#1e40af;background:#dbeafe}.admin-tile-icon-teal{color:#0f766e;background:#ccfbf1}.admin-tile-icon-green{color:#166534;background:#dcfce7}.admin-tile-icon-yellow{color:#92400e;background:#fef3c7}.admin-tile-icon-red{color:#991b1b;background:#fee2e2}.admin-tile-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-tile-title-row{align-items:center;gap:10px;display:flex}.admin-tile-title{color:var(--color-text);font-size:15px;font-weight:600}.admin-tile-count{background:var(--color-info-soft);color:var(--color-info-text);border-radius:var(--radius-sm);text-align:center;min-width:20px;padding:2px 8px;font-size:11px;font-weight:600}.admin-tile-subtitle{color:var(--color-text-muted);font-size:13px;line-height:1.35}.admin-tile-chevron{color:var(--color-text-subtle);flex-shrink:0;transition:transform .12s,color .12s}.admin-back{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;min-height:32px;margin-bottom:12px;padding:4px 0;font-size:13px;display:inline-flex}.admin-back:hover{color:var(--color-text);background:0 0}.admin-settings-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;padding:20px}.admin-settings-section-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.admin-settings-section h3{color:#0f172a;margin:0;font-size:16px;font-weight:600}.admin-settings-hint{color:#64748b;margin:4px 0 0;font-size:13px}.admin-settings-icon{background:var(--color-info-soft,#dbeafe);width:36px;height:36px;color:var(--color-primary-blue,#2563eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-settings-fieldset{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.admin-settings-option{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .1s,background .1s;display:flex}.admin-settings-option:hover{background:#f8fafc;border-color:#cbd5e1}.admin-settings-option-active{border-color:var(--color-primary-blue,#2563eb);background:var(--color-info-soft,#dbeafe)}.admin-settings-option-active:hover{background:var(--color-info-soft,#dbeafe)}.admin-settings-option input[type=radio]{flex-shrink:0;margin-top:4px}.admin-settings-option-body{flex-direction:column;gap:2px;display:flex}.admin-settings-option-title{color:#0f172a;font-size:14px;font-weight:600}.admin-settings-option-desc{color:#475569;font-size:12px;line-height:1.4}.admin-settings-saved{color:var(--color-success-text,#15803d);margin-top:12px;font-size:13px}.admin-notif-toggles{flex-direction:column;gap:8px;display:flex}.admin-notif-maps{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:16px}.admin-notif-maps-title{color:#0f172a;margin:0 0 8px;font-size:14px;font-weight:600}.admin-notif-empty{color:#64748b;margin:0;font-size:13px}.admin-notif-map-group{margin-bottom:10px}.admin-notif-map-group:last-child{margin-bottom:0}.admin-notif-map-group-name{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:6px 0 4px;font-size:12px;font-weight:600}.admin-notif-map-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-notif-map-row{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:border-color .1s,background .1s;display:flex}.admin-notif-map-row:hover{background:#f8fafc;border-color:#cbd5e1}.admin-notif-map-row input[type=checkbox]{margin:0}.admin-notif-map-name{flex:1}.link-btn{color:var(--color-primary-blue,#2563eb);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-loc-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-loc-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-loc-row-name{color:#0f172a;flex:none;font-weight:600}.admin-loc-row-url{color:#475569;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.admin-loc-row-url-empty{color:#94a3b8;font-style:italic}.admin-loc-row-actions{flex-shrink:0;gap:6px;display:flex}.admin-loc-edit{border:1px solid var(--color-primary-blue,#2563eb);background:var(--color-info-soft,#dbeafe);border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.admin-loc-edit-row{flex-direction:column;gap:4px;display:flex}.admin-loc-edit-row label{color:#475569;font-size:12px;font-weight:500}.admin-loc-edit-row input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;height:36px;padding:0 10px;font-size:13px}.admin-loc-edit-actions{justify-content:flex-end;gap:8px;display:flex}.admin-loc-add{gap:8px;margin-bottom:16px;display:flex}.admin-loc-add input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:1;height:36px;padding:0 10px;font-size:13px}.user-manager{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px 22px}.user-manager-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.user-manager-title-row{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.user-manager-tile{border-radius:var(--radius-md);color:#1e40af;background:#dbeafe;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.user-manager-title{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.user-manager-subtitle{color:var(--color-text-muted);margin:0;font-size:13px}.user-manager-count{background:var(--color-info-soft);color:var(--color-info-text);border-radius:var(--radius-sm);margin-left:auto;padding:2px 10px;font-size:12px;font-weight:600}.user-manager-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.user-manager-filter{align-items:center;gap:8px;display:inline-flex}.user-manager-filter-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.user-manager-filter-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);min-width:180px;padding:6px 10px;font-size:13px}.user-manager-username{color:var(--color-text);background:#f1f5f9;border-radius:4px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.user-manager-you{color:var(--color-text-muted);font-size:12px;font-weight:400}.user-manager-sub{color:#b45309;margin-top:2px;font-size:12px;font-weight:400}.user-manager-role-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:5px 8px;font-family:inherit;font-size:13px}.user-manager-creds-block{flex-direction:column;gap:14px;display:flex}.user-manager-creds-block p{color:var(--color-text);margin:0;font-size:14px}.user-manager-cred{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.user-manager-cred>span{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:600}.user-manager-cred code{color:var(--color-text);border:1px solid var(--color-border);overflow-wrap:anywhere;background:#fff;border-radius:4px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600}.user-manager-loc-multi{display:inline-block;position:relative}.user-manager-loc-multi-trigger{cursor:pointer;color:var(--color-text);align-items:center;gap:6px;font-family:inherit;font-size:13px;font-weight:400;line-height:1.4;display:inline-flex}.user-manager-loc-multi-trigger:disabled{cursor:not-allowed;opacity:.6}.user-manager-loc-multi-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-manager-loc-multi-caret{color:var(--color-text-muted);flex-shrink:0;font-size:10px}.user-manager-loc-multi-pop{z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:200px;max-height:240px;box-shadow:var(--shadow-sm), 0 4px 12px #0f172a14;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.user-manager-loc-multi-opt{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.user-manager-loc-multi-opt:hover{background:#f1f5f9}.user-manager-loc-multi-opt input[type=checkbox]{cursor:pointer;margin:0}.user-manager-loc-empty{color:#94a3b8;font-size:12px;font-style:italic}.user-manager-date-input{width:140px;min-height:32px;padding:4px 8px;font-size:.8rem}.user-manager-docs-toggle{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.user-manager-docs-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary-blue)}.user-manager-inline-check{align-items:flex-start;gap:10px;flex-direction:row!important}.user-manager-inline-check input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary-blue);flex:none;margin-top:2px}.user-manager-inline-check small{color:var(--color-text-muted);margin-top:2px;font-size:.75rem;font-weight:400;line-height:1.45;display:block}.list-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:22px;display:flex}.list-editor-header{align-items:center;gap:12px;display:flex}.list-editor-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.list-editor-icon-blue{color:#2563eb;background:#eff6ff}.list-editor-icon-green{color:#16a34a;background:#f0fdf4}.list-editor-icon-yellow{color:#d97706;background:#fffbeb}.list-editor-icon-teal{color:#0d9488;background:#f0fdfa}.list-editor-icon-red{color:#dc2626;background:#fef2f2}.list-editor-heading{flex:1;min-width:0}.list-editor-heading h2{margin:0;font-size:16px}.list-editor-subtitle{color:var(--color-text-muted);margin:2px 0 0;font-size:13px}.list-editor-count{color:var(--color-primary-blue);letter-spacing:-.01em;font-size:22px;font-weight:700}.list-editor-form{gap:8px;display:flex}.list-editor-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:40px;color:var(--color-text);flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.list-editor-form input:focus{outline:2px solid var(--color-primary-blue);outline-offset:-1px;border-color:var(--color-primary-blue)}.list-editor-error{background:var(--color-danger-soft);color:var(--color-danger-text);border-radius:var(--radius-md);padding:10px 12px;font-size:13px}.list-editor-empty{color:var(--color-text-muted);margin:0;font-size:13px;font-style:italic}.list-editor-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.list-editor-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc;justify-content:space-between;align-items:center;min-height:44px;padding:10px 14px;font-size:14px;display:flex}.list-editor-remove{min-height:32px;padding:4px 10px;font-size:13px}.mapeditor-page{max-width:none}.mapeditor-shell{grid-template-columns:280px 1fr;align-items:flex-start;gap:16px;display:grid}@media (width<=900px){.mapeditor-shell{grid-template-columns:1fr}}.mapeditor-side{flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}.mapeditor-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.mapeditor-panel h3{color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:12px;font-weight:700}.mapeditor-tool-btn{justify-content:center;align-items:center;gap:6px;width:100%;display:inline-flex}.mapeditor-tool-btn+.mapeditor-tool-btn{margin-top:8px}.mapeditor-checkbox{color:#334155;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.mapeditor-field{color:#475569;flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.mapeditor-field input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-width:0;height:34px;padding:0 8px;font-size:13px}.mapeditor-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mapeditor-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mapeditor-field input[type=number]{appearance:textfield}.mapeditor-field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mapeditor-hint{color:#64748b;margin:0;font-size:12px;line-height:1.4}.mapeditor-selected-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mapeditor-duplicate-btn,.mapeditor-delete-btn{flex:auto;align-items:center;gap:6px;display:inline-flex}.mapeditor-delete-btn{color:var(--color-danger-text,#b91c1c);border-color:var(--color-danger-text,#b91c1c)}.mapeditor-delete-btn:hover{background:var(--color-danger-soft,#fee2e2)}.mapeditor-canvas-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;position:relative;overflow:auto}.mapeditor-canvas{touch-action:none;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:6px;max-width:100%;height:auto;display:block}.mapeditor-dirty-pill{background:var(--color-warn-soft,#fef3c7);color:var(--color-warn-text,#b45309);pointer-events:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;position:absolute;top:20px;right:20px}.mapeditor-field-meta{color:#0f172a;margin-left:6px;font-size:11px;font-weight:600}.mapeditor-rotation-presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.mapeditor-rotation-preset{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-width:36px;padding:4px 6px;font-size:11px;display:inline-flex}.mapeditor-rotation-preset:hover{background:#f1f5f9}.mapeditor-rotation-preset-active{background:var(--color-primary-blue,#2563eb);border-color:var(--color-primary-blue,#2563eb);color:#fff}.release-history{flex-direction:column;gap:16px;margin-top:8px;display:flex}.release-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.release-card-head{align-items:flex-start;gap:12px;display:flex}.release-card-head-icon{color:#b45309;background:#fef3c7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.release-card-head-text{flex:1;min-width:0}.release-card-version-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:inline-flex}.release-card-version{color:#0f172a;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:700}.release-card-latest-pill{color:#15803d;text-transform:uppercase;letter-spacing:.04em;background:#dcfce7;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.release-card-date{color:#64748b;font-size:12px}.release-card-title{color:#0f172a;font-size:16px;font-weight:600;line-height:1.3}.release-card-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.signin-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.signin-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:28px 28px 24px}.signin-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.signin-brand-tile{flex-shrink:0;width:44px;height:44px;display:block}.signin-brand-title{color:var(--color-text);font-size:16px;font-weight:700;line-height:1.15}.signin-brand-subtitle{color:var(--color-text-muted);font-size:13px}.signin-form h2{color:var(--color-text);margin:0 0 4px;font-size:20px;font-weight:600}.signin-hint{color:var(--color-text-muted);margin:0 0 16px;font-size:13px}.signin-hint-muted{text-align:center;margin-top:8px}.signin-form{flex-direction:column;gap:14px;display:flex}.signin-form label{color:var(--color-text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.signin-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-family:inherit;font-size:14px}.signin-form input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f172a1a}.signin-submit{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:4px;padding:11px 16px;font-size:14px;font-weight:600}.signin-submit:hover{background:var(--color-primary-hover)}.signin-submit:disabled{opacity:.6;cursor:not-allowed}.signin-error{background:var(--color-danger-soft);color:var(--color-danger-text);border-radius:var(--radius-md);padding:10px 12px;font-size:13px}.signin-notice{border-radius:var(--radius-md);margin-bottom:20px;padding:12px 14px;font-size:13px;line-height:1.45}.signin-notice-info{background:var(--color-info-soft);color:var(--color-info-text)}.signin-notice-warn{color:#92400e;background:#fef3c7}.signin-notice strong{margin-bottom:4px;font-size:13px;display:block}.signin-notice p{margin:0 0 10px}.signin-creds{border-radius:var(--radius-sm);background:#ffffff8c;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;display:flex}.signin-creds>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.signin-creds-label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:11px;font-weight:600}.signin-creds code{color:var(--color-text);background:#fff;border-radius:4px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600}.signin-dismiss{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:600}.signin-dismiss:hover{opacity:1}.signin-divider{color:var(--color-text-muted);align-items:center;gap:10px;margin:18px 0 14px;font-size:12px;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.signin-microsoft{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:500;display:inline-flex}.signin-microsoft:hover:not(:disabled){background:#f8fafc}.signin-microsoft:disabled{opacity:.55;cursor:not-allowed}
