@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.sidebar-wrapper{--sidebar-item-padding:9px 10px;--sidebar-item-gap:10px;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-bg);z-index:100;flex-direction:column;flex-shrink:0;height:100dvh;transition:width .3s;display:flex;position:relative;overflow:hidden}.mobile-nav-toggle,.mobile-nav-backdrop{display:none}.sidebar-wrapper.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{min-height:var(--header-height);flex-shrink:0;align-items:center;gap:14px;padding:24px 20px;display:flex;position:relative}.sidebar-brand-icon{color:#fff;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;display:flex;overflow:hidden}.sidebar-brand-logo{object-fit:contain;width:100%;height:100%}.collapsed .sidebar-brand{justify-content:center;gap:0;padding:24px 8px}.sidebar-brand-text{white-space:normal;opacity:1;flex-direction:column;min-width:0;line-height:1.2;transition:opacity .3s;display:flex;overflow:hidden}.collapsed .sidebar-brand-text{opacity:0;width:0}.sidebar-brand-text .brand-title{color:#fff;letter-spacing:-.02em;white-space:nowrap;font-size:1.1rem;font-weight:700}.sidebar-brand-text .brand-subtitle{color:#fff;letter-spacing:.02em;white-space:nowrap;font-size:.62rem;font-weight:600;line-height:1.25;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-section-label{color:#475569;text-transform:none;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;padding:16px 12px 8px;font-size:.7rem;font-weight:700;line-height:1.2;overflow:hidden}.collapsed .sidebar-section-label{opacity:0;height:0;margin:0;padding:0}.sidebar-link{border-radius:var(--radius-md);color:var(--sidebar-text);transition:var(--transition-fluid);white-space:nowrap;flex-shrink:0;align-items:center;gap:14px;padding:12px 16px;font-size:.8125rem;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{color:var(--sidebar-text-active);background:#ffffff0d}.sidebar-link.active{color:var(--sidebar-text-active);background:#ffffff1a;font-weight:600}.sidebar-link.active:before{content:"";background:var(--accent-blue);border-radius:0 4px 4px 0;width:4px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:1.1rem;display:flex}.sidebar-link-text{text-overflow:ellipsis;opacity:1;min-width:0;transition:opacity .3s;overflow:hidden}.collapsed .sidebar-link-text{opacity:0;width:0}.sidebar-audit-node{flex-shrink:0}.sidebar-audit-head{justify-content:space-between;align-items:center;gap:6px;padding:0;display:flex}.sidebar-audit-label{align-items:center;gap:var(--sidebar-item-gap);min-width:0;padding:var(--sidebar-item-padding);color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:1;display:flex}.sidebar-audit-caret{width:28px;height:28px;color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;display:flex}.sidebar-audit-caret:hover{color:var(--sidebar-text-active);background:#ffffff14}.sidebar-audit-caret-icon{font-size:.75rem;transition:transform .2s;display:inline-block}.sidebar-audit-caret-icon.open{transform:rotate(90deg)}.sidebar-audit-tree{flex-direction:column;gap:2px;margin:2px 0 4px;padding-left:18px;display:flex}.sidebar-audit-item{width:100%;color:var(--sidebar-text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:.78rem;display:block}.sidebar-audit-item:hover{color:var(--sidebar-text-active);background:#ffffff0d}.sidebar-audit-item.active{color:var(--sidebar-text-active);background:#ffffff1a;font-weight:600}.sidebar-audit-year-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.sidebar-audit-year-label{flex:1;font-weight:600}.sidebar-audit-year-row .sidebar-audit-caret{width:24px;height:24px;margin-right:0}.sidebar-audit-months{grid-template-columns:repeat(3,1fr);gap:2px;padding:2px 0 4px 12px;display:grid}.sidebar-audit-month{text-align:center;padding:6px 8px;font-size:.75rem}.sidebar-toggle{width:28px;height:28px;color:var(--sidebar-text);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:.9rem;display:flex}.sidebar-toggle:hover{color:#fff;background:#ffffff1a}.collapsed .sidebar-toggle{background:var(--sidebar-bg);z-index:2;width:24px;height:24px;margin:0 auto;position:absolute;top:6px;right:4px}.sidebar-user{flex-shrink:0;align-items:center;gap:12px;padding:20px;display:flex;position:relative}.sidebar-user-avatar{background:var(--accent-blue);color:#fff;text-transform:none;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:.9rem;font-weight:600;display:flex}.sidebar-user-avatar:hover,.sidebar-user-avatar:focus-visible{outline:2px solid color-mix(in srgb, var(--accent-blue) 65%, white);outline-offset:3px}.sidebar-profile-menu{z-index:50;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);width:max-content;min-width:180px;box-shadow:var(--shadow-card);padding:6px;position:absolute;bottom:calc(100% - 12px);left:20px}.sidebar-profile-menu button{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font:600 .82rem/1.2 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px}.sidebar-profile-menu button:hover,.sidebar-profile-menu button:focus-visible{background:var(--accent-bg);outline:none}.collapsed .sidebar-profile-menu{bottom:14px;left:calc(100% - 8px)}.change-password-form{gap:15px;padding:clamp(18px,3vw,26px);display:grid}.change-password-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.change-password-header h2,.change-password-form p{margin:0}.change-password-form p,.password-policy-hint{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.change-password-header button,.change-password-actions button{border:1px solid var(--card-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:0 0}.change-password-header button{width:34px;height:34px}.change-password-form label{color:var(--text-primary);gap:7px;font-size:.82rem;font-weight:700;display:grid}.change-password-form input{border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--text-primary);background:var(--input-bg,var(--bg-base));font:inherit;padding:9px 11px}.change-password-form input:focus{border-color:var(--accent-blue);outline:2px solid color-mix(in srgb, var(--accent-blue) 24%, transparent)}.change-password-error{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius-md);color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent);padding:10px 12px;font-size:.8rem}.change-password-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.change-password-actions button{min-height:40px;padding:9px 14px;font-weight:700}.change-password-actions button.primary{border-color:var(--accent-blue);color:#fff;background:var(--accent-blue)}.change-password-actions button:disabled{cursor:wait;opacity:.6}.change-password-success{text-align:center;justify-items:center;animation:.32s both motion-modal-enter}.change-password-success h2{color:var(--text-primary);margin:0}.change-password-success p{max-width:42ch}.change-password-success .change-password-actions{justify-content:center;width:100%}.change-password-success-icon{place-items:center;display:grid}.success-check-svg{width:72px;height:72px}.success-check-circle{stroke:var(--accent-blue);stroke-width:2.5px;stroke-dasharray:151;stroke-dashoffset:151px;animation:.5s ease-out forwards success-circle-draw}.success-check-mark{stroke:var(--accent-blue);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36px;animation:.32s ease-out .45s forwards success-mark-draw}@keyframes success-circle-draw{to{stroke-dashoffset:0}}@keyframes success-mark-draw{to{stroke-dashoffset:0}}.sidebar-user-info{opacity:1;flex:1;min-width:0;transition:opacity .3s;overflow:hidden}.collapsed .sidebar-user-info{opacity:0;width:0}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:#94a3b8;text-transform:none;letter-spacing:.05em;margin-top:2px;font-size:.7rem}.sidebar-logout-btn{width:32px;height:32px;color:var(--sidebar-text);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.sidebar-logout-btn:hover{color:var(--danger);background:#ef44441a}.theme-switch-btn-sidebar{width:32px;height:32px;color:var(--sidebar-text);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-switch-btn-sidebar:hover{color:#fff;background:#ffffff1a}.collapsed .theme-switch-btn-sidebar,.collapsed .sidebar-logout-btn{display:none}.collapsed .sidebar-link{justify-content:center;padding:12px}.collapsed .sidebar-link:before{left:0}@media (width<=1023px){.mobile-nav-toggle{top:max(10px, env(safe-area-inset-top));z-index:2200;border:1px solid var(--card-border);border-radius:var(--radius-md);min-width:112px;min-height:44px;color:var(--text-primary);background:color-mix(in srgb, var(--card-bg) 96%, transparent);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:700 .78rem/1 var(--font-body);cursor:pointer;align-items:center;gap:9px;padding:9px 12px;display:inline-flex;position:fixed;left:12px}.mobile-nav-toggle>span:first-child{width:20px;font-size:1.1rem}.mobile-nav-backdrop{z-index:2050;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#020712b3;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.sidebar-wrapper,.sidebar-wrapper.collapsed{z-index:2100;width:min(88vw,280px);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-right-color:var(--card-border);visibility:hidden;transition:transform .24s,visibility .24s step-end;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:20px 0 48px #0000006b}.sidebar-wrapper.mobile-open{visibility:visible;transition:transform .24s,visibility;transform:translate(0)}.sidebar-wrapper .sidebar-brand-text,.sidebar-wrapper .sidebar-link-text,.sidebar-wrapper .sidebar-user-info{opacity:1;width:auto}.sidebar-wrapper .sidebar-section-label{opacity:1;height:auto;padding:16px 12px 8px}.sidebar-wrapper .sidebar-link{justify-content:flex-start;min-height:48px;padding:12px 16px}.sidebar-wrapper .theme-switch-btn-sidebar,.sidebar-wrapper .sidebar-logout-btn{min-width:44px;min-height:44px;display:flex}.sidebar-toggle{display:none}}@media (prefers-reduced-motion:reduce){.sidebar-wrapper{transition-duration:.01ms}}.sidebar-wrapper{overflow:visible}.sidebar-brand{border-bottom:1px solid #94a3b81f;gap:10px;min-height:80px;padding:16px 12px}.sidebar-brand-icon{width:40px;height:40px}.sidebar-brand-text .brand-subtitle{letter-spacing:.01em;font-size:.66rem;line-height:1.3}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#94a3b84d transparent;gap:3px;padding:10px 8px 18px}.sidebar-section-label{color:#718096;padding:15px 10px 6px;font-size:.65rem}.sidebar-link{min-height:42px;padding:var(--sidebar-item-padding);gap:var(--sidebar-item-gap);border:1px solid #0000}.sidebar-link-icon{width:20px;height:20px;font-size:1.05rem;line-height:1}.sidebar-link.sidebar-audit-head{gap:0;padding:0}.sidebar-audit-label{align-self:stretch}.sidebar-audit-head>.sidebar-audit-caret{width:24px;margin-right:6px}.sidebar-audit-tree{padding-left:41px}.sidebar-link.active{border-color:#3b82f62e}.sidebar-link.active:before{width:3px;height:22px}.sidebar-link:focus-visible,.sidebar-toggle:focus-visible,.sidebar-audit-label:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.sidebar-user{border-top:1px solid #94a3b81f;gap:8px;min-height:68px;padding:12px 10px}.sidebar-user-avatar{width:36px;height:36px}.sidebar-user-name{font-size:.8rem}.sidebar-user-role{white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.sidebar-wrapper.collapsed .sidebar-brand{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:116px;padding:15px 0 8px;display:flex}.sidebar-wrapper.collapsed .sidebar-brand-icon{width:46px;height:46px}.sidebar-wrapper.collapsed .sidebar-toggle{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #94a3b824;width:40px;height:32px;margin:0;font-size:1.3rem;position:static}.sidebar-wrapper.collapsed .sidebar-nav{scrollbar-width:none;align-items:center;padding:12px 0 18px}.sidebar-wrapper.collapsed .sidebar-nav::-webkit-scrollbar{display:none}.sidebar-wrapper.collapsed .sidebar-section-label{opacity:1;color:#0000;background:#94a3b833;width:32px;height:1px;margin:11px 0 8px;padding:0}.sidebar-wrapper.collapsed .sidebar-link,.sidebar-wrapper.collapsed .sidebar-audit-node{width:100%;min-height:48px;margin-inline:0}.sidebar-wrapper.collapsed .sidebar-link{justify-content:center;gap:0;padding:0}.sidebar-wrapper.collapsed .sidebar-link-icon{width:26px;height:26px;margin-inline:auto}.sidebar-wrapper.collapsed .sidebar-audit-head{justify-content:center}.sidebar-wrapper.collapsed .sidebar-audit-label{flex:none;justify-content:center;width:100%;padding:0}.sidebar-wrapper.collapsed .sidebar-audit-caret{display:none}.sidebar-wrapper.collapsed .sidebar-user{justify-content:center;gap:0;width:100%;min-height:76px;padding:14px 0}.sidebar-wrapper.collapsed .sidebar-user-info{display:none}.sidebar-wrapper.collapsed .sidebar-profile-menu{left:calc(var(--sidebar-collapsed) + 8px);position:fixed;bottom:14px}@media (width<=1023px){.sidebar-wrapper .sidebar-brand{min-height:126px;padding:64px 16px 16px}.sidebar-wrapper .sidebar-nav{align-items:stretch;padding:12px 10px 20px}.sidebar-wrapper .sidebar-link{justify-content:flex-start;width:auto;min-height:48px;margin:0;padding:10px 13px}.sidebar-wrapper .sidebar-audit-head{padding:0}.sidebar-wrapper .sidebar-audit-label{padding:10px 13px}.sidebar-wrapper .sidebar-section-label{color:#718096;background:0 0;width:auto;height:auto;margin:0;padding:17px 12px 7px}.sidebar-wrapper .sidebar-user{justify-content:flex-start;gap:12px;padding:14px 12px}}[data-theme=light] .sidebar-wrapper{border-right-color:var(--card-border)}[data-theme=light] :is(.sidebar-brand,.sidebar-user){border-color:var(--card-border)}[data-theme=light] :is(.sidebar-brand-text .brand-title,.sidebar-brand-text .brand-subtitle,.sidebar-user-name){color:var(--text-primary)}[data-theme=light] :is(.sidebar-section-label,.sidebar-user-role){color:var(--text-muted)}[data-theme=light] :is(.sidebar-link,.sidebar-audit-item,.sidebar-audit-caret,.sidebar-toggle,.theme-switch-btn-sidebar):hover{background:var(--hover-bg);color:var(--sidebar-text-active)}[data-theme=light] :is(.sidebar-link,.sidebar-audit-item).active{background:var(--accent-bg);color:var(--sidebar-text-active)}[data-theme=light] .sidebar-link.active{border-color:#2563eb2e}[data-theme=light] .sidebar-wrapper.collapsed .sidebar-section-label{color:#0000}[data-theme=light] .sidebar-wrapper.collapsed .sidebar-toggle{border-color:var(--card-border);background:var(--card-bg)}@media (width>=1024px) and (height<=860px){.sidebar-wrapper:not(.collapsed) .sidebar-brand{min-height:64px;padding:10px 12px}.sidebar-nav{gap:2px;padding:6px 8px 10px}.sidebar-wrapper:not(.collapsed) .sidebar-section-label{padding:10px 10px 4px}.sidebar-link{min-height:36px;padding-top:7px;padding-bottom:7px}.sidebar-user{min-height:56px;padding:8px 10px}}@media (width>=1024px) and (height<=700px){.sidebar-link{min-height:32px;padding-top:5px;padding-bottom:5px}.sidebar-wrapper:not(.collapsed) .sidebar-section-label{padding:7px 10px 3px}}@media (width>=1024px) and (height<=620px){.sidebar-wrapper:not(.collapsed) .sidebar-brand{min-height:52px;padding:6px 12px}.sidebar-user{min-height:48px;padding:6px 10px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.sidebar-link{transition:scale .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s cubic-bezier(.25,.46,.45,.94),background-color .2s,color .2s,border-color .2s}.sidebar-link:hover{z-index:2;scale:1.04;box-shadow:0 0 0 1px #ffffff14,0 6px 10px -3px #0000008c}[data-theme=light] .sidebar-link:hover{box-shadow:0 6px 10px -3px #0f172a40,0 1px 3px #0f172a1a}}.sidebar-wrapper:not(.collapsed) .sidebar-brand{gap:8px;padding-inline:10px 6px}.sidebar-wrapper:not(.collapsed) .sidebar-brand-icon{width:36px;height:36px}.sidebar-wrapper:not(.collapsed) .sidebar-brand-text .brand-subtitle{letter-spacing:0;font-size:.64rem}.topbar{z-index:1100;position:absolute;top:24px;right:32px}.topbar-actions{align-items:center;gap:8px;display:flex}.notification-menu-wrapper{position:relative}.notification-btn{border:1px solid var(--card-border);background:var(--card-bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-btn:hover,.notification-btn[aria-expanded=true]{color:var(--accent-blue);border-color:var(--accent-blue)}.topbar-svg-icon{width:19px;height:19px;display:inline-flex}.topbar-svg-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.notification-badge{border-radius:var(--radius-full);border:2px solid var(--bg-canvas);background:var(--danger);color:#fff;min-width:17px;height:17px;padding:0 3px;font-size:.62rem;font-weight:700;line-height:13px;position:absolute;top:-5px;right:-5px}.notification-menu{z-index:1000;border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);width:min(390px,100vw - 32px);box-shadow:var(--shadow-modal);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notification-menu-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.notification-menu-header>div{align-items:baseline;gap:8px;display:flex}.notification-menu-header strong{color:var(--text-primary);font-size:.88rem}.notification-menu-header span,.conversation-meta time{color:var(--text-secondary);font-size:.72rem}.notification-mark-all,.message-back-button{color:var(--accent-blue);cursor:pointer;font:inherit;background:0 0;border:0;font-size:.74rem;font-weight:700}.notification-mark-all:disabled{cursor:default;opacity:.45}.notification-menu-list,.conversation-list{max-height:min(420px,100dvh - 160px);overflow-y:auto}.notification-menu-item{border:0;border-bottom:1px solid var(--card-border);width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.notification-menu-item:hover,.conversation-list-item:hover{background:var(--hover-bg)}.notification-menu-item.unread,.conversation-list-item.unread{box-shadow:inset 3px 0 0 var(--accent-blue);background:#3b82f612}.notification-menu-item-title{color:var(--text-primary);font-size:.82rem;font-weight:700}.notification-menu-item-message,.notification-menu-item-time,.notification-empty{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.notification-menu-item-message{overflow-wrap:break-word}.notification-menu-item-time{font-size:.68rem}.notification-request-link{color:var(--accent-blue);text-underline-offset:2px;cursor:pointer;font-weight:700;text-decoration:underline}.notification-request-link:hover{opacity:.85}.message-menu{width:min(720px,100vw - 48px)}.conversation-list-item{border:0;border-bottom:1px solid var(--card-border);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;display:grid}.conversation-avatar{background:var(--accent-bg);width:34px;height:34px;color:var(--accent-blue);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.conversation-summary,.conversation-meta{gap:3px;min-width:0;display:grid}.conversation-summary strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.conversation-summary small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.conversation-meta{justify-items:end}.conversation-meta b{border-radius:var(--radius-full);background:var(--accent-blue);color:#fff;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.64rem;display:inline-flex}.chat-thread{background:var(--bg-canvas);flex-direction:column;gap:9px;min-height:210px;max-height:min(400px,100dvh - 300px);padding:16px;display:flex;overflow-y:auto}.chat-bubble{border:1px solid var(--card-border);background:var(--card-bg);max-width:min(78%,480px);color:var(--text-primary);border-radius:13px;padding:9px 11px 7px}.chat-bubble.self{border-color:var(--accent-blue);background:var(--accent-bg);border-bottom-right-radius:3px;align-self:flex-end}.chat-bubble.other{border-bottom-left-radius:3px;align-self:flex-start}.chat-bubble p{overflow-wrap:break-word;margin:0;font-size:.8rem;line-height:1.45}.chat-bubble time{color:var(--text-secondary);text-align:right;margin-top:4px;font-size:.65rem;display:block}.message-reply-form{border-top:1px solid var(--card-border);gap:7px;padding:13px 14px;display:grid}.message-reply-form label{color:var(--text-secondary);letter-spacing:.04em;text-transform:none;font-size:.7rem;font-weight:700}.message-reply-form textarea{resize:vertical;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--bg-canvas);width:100%;min-height:70px;color:var(--text-primary);font:inherit;padding:8px 10px;font-size:.78rem}.message-reply-form .btn-primary{justify-self:end;padding:7px 11px;font-size:.78rem}.message-reply-error{color:var(--danger);margin:0;font-size:.74rem}.notification-empty{text-align:center;margin:0;padding:24px 14px}@media (width<=640px){.topbar{top:16px;right:16px}.message-menu{width:calc(100vw - 32px)}.chat-thread{min-height:180px}}.support-message-note{border-bottom:1px solid var(--card-border);color:var(--text-secondary);margin:0;padding:10px 14px;font-size:.72rem;line-height:1.4}.stepup-backdrop{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.stepup-dialog{border:1px solid var(--card-border);border-radius:var(--radius-lg);width:min(440px,100%);max-height:calc(100vh - 36px);color:var(--text-primary);background:var(--card-bg);box-shadow:var(--shadow-card);gap:14px;padding:clamp(20px,4vw,28px);display:grid;overflow:auto}.stepup-dialog h2{margin:0}.stepup-dialog form{gap:14px;display:grid}.stepup-dialog p{color:var(--text-secondary);margin:0;line-height:1.5}.stepup-dialog label{color:var(--text-primary);font-size:.82rem;font-weight:700}.stepup-dialog input{box-sizing:border-box;border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--input-bg,transparent);font:600 1.15rem/1.2 var(--font-mono,monospace);letter-spacing:.3em;text-align:center;padding:11px 12px}.stepup-dialog input:focus{border-color:var(--accent-blue);outline:2px solid color-mix(in srgb, var(--accent-blue) 24%, transparent)}.stepup-dialog input:disabled{opacity:.55}.stepup-error{border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--text-primary);background:color-mix(in srgb, var(--danger) 14%, transparent);padding:10px 12px;font-size:.85rem;line-height:1.4}.stepup-actions{justify-content:flex-end;gap:10px;display:flex}.stepup-button{border:1px solid var(--card-border);border-radius:var(--radius-md);min-height:42px;color:var(--text-primary);font:700 .82rem/1 var(--font-body);cursor:pointer;background:0 0;padding:10px 15px}.stepup-button.primary{border-color:var(--accent-blue);color:#fff;background:var(--accent-blue)}.stepup-button:hover:not(:disabled){filter:brightness(1.08)}.stepup-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=560px){.stepup-actions{flex-direction:column-reverse}.stepup-button{width:100%}}.free-map-shell{background:var(--bg-canvas);flex-direction:column;display:flex;position:fixed;inset:0}.free-map-shell .live-map-page.free-tier-map>.page-header,.free-map-shell .live-map-page.free-tier-map .map-history-row,.free-map-shell .live-map-page.free-tier-map .map-sidebar-column{display:none}.free-map-shell .live-map-page.free-tier-map{gap:0;height:100%;min-height:0}.free-map-shell .live-map-page.free-tier-map .map-layout-grid{grid-template-columns:minmax(0,1fr);gap:0;height:100%}.free-map-shell .live-map-page.free-tier-map .map-main-column{gap:0;height:100%}.free-map-shell .live-map-page.free-tier-map .map-container-wrapper{border:0;border-radius:0}.free-map-home{z-index:1400;border:1px solid var(--card-border);background:var(--card-bg);height:44px;color:var(--text-primary);box-shadow:var(--shadow-card);font:inherit;cursor:pointer;border-color:#ffffff38;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:.82rem;font-weight:600;transition:background-color .15s,box-shadow .15s;display:inline-flex;position:absolute;bottom:16px;right:16px;box-shadow:0 0 0 1px #ffffff29,0 0 16px #ffffff24}.free-map-home:hover{box-shadow:0 0 0 1px #ffffff4d,0 0 20px #ffffff38}.free-map-home:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}[data-theme=light] .free-map-home{-webkit-backdrop-filter:blur(18px)saturate(180%);backdrop-filter:blur(18px)saturate(180%);background:#ffffff57;border-color:#fff9;box-shadow:0 0 0 1px #0f172a1a,0 8px 24px #0f172a42,0 1px 3px #0f172a2e,inset 0 1px #ffffffd9}.locked-feature-page{flex-direction:column;gap:16px;display:flex}.locked-feature-banner{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);align-items:center;gap:14px;padding:14px 18px;display:flex}.locked-feature-banner-icon{font-size:1.2rem}.locked-feature-banner>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.locked-feature-banner strong{color:var(--text-primary);font-size:.86rem}.locked-feature-banner span{color:var(--text-secondary);font-size:.78rem}.locked-feature-preview{opacity:.72;filter:saturate(.6);cursor:not-allowed;-webkit-user-select:none;user-select:none;position:relative}.locked-feature-preview *{cursor:not-allowed!important}.locked-preview-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.locked-preview-card{flex-direction:column;gap:10px;min-height:150px;padding:18px 20px;display:flex}.locked-preview-card-title{color:var(--text-secondary);font-size:.78rem;font-weight:600}.locked-preview-value{color:var(--text-muted);font-size:1.6rem;font-weight:700}.locked-preview-bar{background:var(--card-border);border-radius:4px;width:80%;height:8px;display:block}.locked-preview-bar.short{width:45%}.locked-preview-table{padding:16px;overflow-x:auto}.locked-preview-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.locked-preview-toolbar input{flex:240px}.locked-preview-toolbar input,.locked-preview-toolbar select,.locked-preview-form input{border:1px solid var(--card-border);background:var(--input-bg,var(--card-bg));color:var(--text-primary);font:inherit;border-radius:8px;padding:9px 12px}.locked-preview-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;padding:20px;display:grid}.locked-preview-form label{color:var(--text-secondary);gap:6px;font-weight:600;display:grid}.locked-preview-form-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.paid-feature-dialog-body{text-align:center;justify-items:center;gap:10px;padding:8px 4px 4px;display:grid}.paid-feature-dialog-icon{font-size:1.8rem}.paid-feature-dialog-body h2{color:var(--text-primary);margin:0}.paid-feature-dialog-body p{color:var(--text-secondary);margin:0;line-height:1.5}.paid-feature-dialog-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.sidebar-link-lock{opacity:.7;margin-left:auto;font-size:.7rem}.collapsed .sidebar-link-lock{display:none}:root{--motion-duration-instant:0s;--motion-duration-fast:.12s;--motion-duration-normal:.22s;--motion-duration-slow:.3s;--motion-duration-decision:.42s;--motion-ease-standard:cubic-bezier(.2, 0, 0, 1);--motion-ease-enter:cubic-bezier(0, 0, 0, 1);--motion-ease-exit:cubic-bezier(.3, 0, 1, 1);--motion-ease-emphasized:cubic-bezier(.2, 0, 0, 1);--motion-distance-xs:4px;--motion-distance-sm:8px;--motion-distance-md:12px;--motion-scale-enter:.985;--motion-scale-press:.98;--motion-opacity-disabled:.56;--motion-surface-shadow-rest:var(--shadow-card);--motion-surface-shadow-active:0 10px 24px #00000038;--motion-edge-highlight:#3b82f647;--motion-backdrop:#02061794;--motion-confirm-highlight:#10b98129;--transition-fluid:color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-normal) var(--motion-ease-standard), opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard)}[data-theme=light]{--motion-distance-theme:6px;--motion-surface-shadow-active:0 10px 24px #0f172a21;--motion-edge-highlight:#2563eb38;--motion-backdrop:#0f172a6b}[data-theme=dark]{--motion-distance-theme:10px;--motion-surface-shadow-active:0 16px 34px #00000075;--motion-edge-highlight:#22d3ee2e;--motion-backdrop:#0000009e}.motion-page-transition{height:100%;min-height:0;animation:motion-page-enter var(--motion-duration-normal) var(--motion-ease-enter) both;flex-direction:column;display:flex}.motion-page-transition.is-settled{animation:none;transform:none}.motion-presence,.motion-record,.motion-list,.motion-tab{animation:motion-content-enter var(--motion-duration-normal) var(--motion-ease-enter) both}.motion-list{animation-name:motion-list-refresh}.motion-tab{animation-name:motion-tab-enter}.motion-modal-backdrop{z-index:10000;background:var(--motion-backdrop);-webkit-backdrop-filter:blur(5px);animation:motion-backdrop-enter var(--motion-duration-normal) var(--motion-ease-enter) both;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.motion-modal-backdrop.is-exiting{animation:motion-backdrop-exit var(--motion-duration-fast) var(--motion-ease-exit) both}.motion-modal-panel{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--motion-surface-shadow-active);animation:motion-modal-enter var(--motion-duration-slow) var(--motion-ease-enter) both;will-change:transform, opacity;outline:none}.motion-record{animation-duration:var(--motion-duration-slow);animation-name:motion-record-enter}:is(.modal-backdrop,.modal-overlay,.preview-modal-overlay,.registration-review-modal-backdrop,.rpsl-profile-backdrop,.rpsl-document-decision-backdrop,.attachment-viewer-backdrop){animation:motion-backdrop-enter var(--motion-duration-normal) var(--motion-ease-enter) both}:is(.modal-backdrop,.modal-overlay,.preview-modal-overlay,.registration-review-modal-backdrop,.rpsl-profile-backdrop,.rpsl-document-decision-backdrop,.attachment-viewer-backdrop)>:is(.modal-content,.vessel-modal-content,.preview-modal,.delete-modal,.registration-review-modal,.rpsl-profile-modal,.rpsl-document-decision-dialog,.attachment-viewer-modal){animation:motion-modal-enter var(--motion-duration-slow) var(--motion-ease-enter) both}:is(.modal-backdrop,.modal-overlay,.preview-modal-overlay,.registration-review-modal-backdrop,.rpsl-profile-backdrop,.rpsl-document-decision-backdrop).is-exiting{pointer-events:none;animation:motion-backdrop-exit var(--motion-duration-fast) var(--motion-ease-exit) both}:is(.modal-backdrop,.modal-overlay,.preview-modal-overlay,.registration-review-modal-backdrop,.rpsl-profile-backdrop,.rpsl-document-decision-backdrop).is-exiting>:is(.modal-content,.vessel-modal-content,.preview-modal,.delete-modal,.registration-review-modal,.rpsl-profile-modal,.rpsl-document-decision-dialog),.motion-modal-backdrop.is-exiting .motion-modal-panel{animation:motion-modal-exit var(--motion-duration-fast) var(--motion-ease-exit) both}.motion-loading-overlay{z-index:1500;pointer-events:none;background:color-mix(in srgb, var(--bg-canvas) 58%, transparent);animation:motion-backdrop-enter var(--motion-duration-fast) var(--motion-ease-enter) both;place-items:center;display:grid;position:absolute;inset:0}.motion-loading-overlay.is-blocking{pointer-events:auto}.motion-loading-surface{border:1px solid var(--motion-edge-highlight);border-radius:var(--radius-lg);min-width:min(320px,100% - 32px);color:var(--text-primary);background:color-mix(in srgb, var(--card-bg) 94%, transparent);box-shadow:var(--motion-surface-shadow-active);animation:motion-content-enter var(--motion-duration-normal) var(--motion-ease-enter) both;align-items:center;gap:12px;padding:14px 18px;display:flex}.motion-loading-copy{flex-direction:column;gap:3px;display:flex}.motion-loading-copy strong{font-size:.9rem}.motion-loading-copy small{color:var(--text-secondary);font-size:.76rem}.motion-progress-ring,.motion-button-spinner{border:2px solid color-mix(in srgb, var(--accent-blue) 25%, transparent);border-top-color:var(--accent-blue);border-radius:50%;flex:none;width:18px;height:18px;animation:.72s linear infinite motion-progress-spin}.motion-inline-loading{min-height:32px;color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.motion-submit-button{justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.motion-submit-button .motion-button-spinner{border-color:currentColor #ffffff5c #ffffff5c;width:14px;height:14px}.motion-submit-button:not(:disabled):active{transform:scale(var(--motion-scale-press))}.motion-submit-button[aria-busy=true]{cursor:progress}.motion-decision-result{border:1px solid var(--motion-edge-highlight);border-radius:var(--radius-lg);text-align:left;animation:motion-decision-enter var(--motion-duration-decision) var(--motion-ease-emphasized) both;justify-content:center;align-items:flex-start;gap:12px;padding:20px;display:flex}.modal-form>.motion-decision-result{margin-bottom:16px}.motion-decision-result+.btn-primary{margin-top:20px}.motion-decision-result p{color:var(--text-secondary);margin-top:6px}.motion-decision-icon{border:1px solid;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.motion-decision-success,.motion-decision-approval{color:var(--success);background:var(--motion-confirm-highlight)}.motion-decision-rejection,.motion-decision-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.motion-decision-warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent)}.motion-decision-information{color:var(--info);background:color-mix(in srgb, var(--info) 10%, transparent)}.notification-menu,.message-menu{transform-origin:100% 0;animation:motion-notification-enter var(--motion-duration-normal) var(--motion-ease-enter) both}.notification-menu-item,.conversation-list-item,.chat-bubble{transition:background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard)}.chat-bubble:last-child{animation:motion-message-enter var(--motion-duration-normal) var(--motion-ease-enter) both}.data-table tbody,.engagement-table tbody{animation:motion-list-refresh var(--motion-duration-normal) var(--motion-ease-enter) both}.pagination-controls,.engagement-pagination{transition:opacity var(--motion-duration-fast) var(--motion-ease-standard)}[role=tablist] [role=tab],.tabs button,.tab-btn{transition:color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard)}details>:not(summary){animation:motion-content-enter var(--motion-duration-normal) var(--motion-ease-enter) both}.skeleton,.motion-skeleton{position:relative;overflow:hidden}.skeleton:after,.motion-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text-secondary) 12%, transparent), transparent);animation:1.4s ease-in-out infinite motion-skeleton-scan;position:absolute;inset:0;transform:translate(-100%)}@keyframes motion-page-enter{0%{opacity:0}to{opacity:1}}@keyframes motion-content-enter{0%{opacity:0;transform:translateY(var(--motion-distance-theme,var(--motion-distance-sm)))}to{opacity:1;transform:none}}@keyframes motion-record-enter{0%{opacity:0;transform:translateX(var(--motion-distance-md)) scale(.995)}to{opacity:1;transform:none}}@keyframes motion-list-refresh{0%{opacity:.68;transform:translateY(var(--motion-distance-xs))}to{opacity:1;transform:none}}@keyframes motion-tab-enter{0%{opacity:0;transform:translateX(var(--motion-distance-xs))}to{opacity:1;transform:none}}@keyframes motion-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes motion-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes motion-modal-enter{0%{opacity:0;transform:translateY(var(--motion-distance-theme,var(--motion-distance-sm))) scale(var(--motion-scale-enter))}to{opacity:1;transform:none}}@keyframes motion-modal-exit{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(var(--motion-distance-xs)) scale(var(--motion-scale-enter))}}@keyframes motion-notification-enter{0%{opacity:0;transform:translateY(calc(var(--motion-distance-xs) * -1)) scale(.99)}to{opacity:1;transform:none}}@keyframes motion-message-enter{0%{opacity:0;transform:translateY(var(--motion-distance-xs))}to{opacity:1;transform:none}}@keyframes motion-decision-enter{0%{opacity:0;transform:translateY(var(--motion-distance-sm)) scale(var(--motion-scale-enter))}55%{opacity:1}to{transform:none}}@keyframes motion-progress-spin{to{transform:rotate(360deg)}}@keyframes motion-skeleton-scan{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:1ms;--motion-duration-normal:1ms;--motion-duration-slow:1ms;--motion-duration-decision:1ms;--motion-distance-xs:0px;--motion-distance-sm:0px;--motion-distance-md:0px;--motion-distance-theme:0px;--motion-scale-enter:1;--motion-scale-press:1}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.motion-progress-ring,.motion-button-spinner{border-color:color-mix(in srgb, var(--accent-blue) 35%, transparent);border-top-color:var(--accent-blue);animation:none!important}}[data-motion=reduced] .motion-page-transition,[data-motion=reduced] .motion-presence,[data-motion=reduced] .motion-modal-panel,[data-motion=reduced] .motion-loading-surface,[data-motion=reduced] .motion-decision-result{transform:none!important}.app-loading-screen{justify-content:center;align-items:center;min-height:100dvh;display:flex}.app-loading-spinner{border:3px solid var(--card-border,#cbd5e1);border-top-color:var(--accent-blue,#2563eb);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.responsive-page,.motion-page-transition,.motion-page-transition>*{min-width:0;max-width:100%}.responsive-page-header,.responsive-toolbar,.responsive-filter-bar,.responsive-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.responsive-page-header-copy,.responsive-toolbar>*,.responsive-filter-bar>*{min-width:0}.responsive-page-header-actions,.responsive-action-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.responsive-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.responsive-form-grid>*,.form-grid>*,.filters-card>*,.onboarding-filters-card>*{min-width:0}.responsive-data-view,.table-responsive,.engagement-table-wrapper,.onboard-table-wrapper,.staged-rows-table-wrapper,.dcr-table-container,.dcr-table-wrapper{overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow-x:auto}.responsive-data-view:focus-visible,.table-responsive:focus-visible,.engagement-table-wrapper:focus-visible,.onboard-table-wrapper:focus-visible,.staged-rows-table-wrapper:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.responsive-table,.data-table,.engagement-table,.onboard-table,.dcr-table,.dcr-items-table,.staged-rows-table,.amendment-table{max-width:none}.mobile-record-card{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);gap:10px;padding:16px;display:grid}.responsive-modal{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);width:min(92vw,720px);max-height:min(90dvh,900px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.responsive-modal--confirmation{width:min(92vw,460px)}.responsive-modal--smallForm{width:min(92vw,560px)}.responsive-modal--standardForm{width:min(92vw,720px)}.responsive-modal--wideForm,.responsive-modal--fullScreenMobile{width:min(96vw,1100px)}.responsive-modal :is(.modal-body,.modal-form,.responsive-modal-body){flex:auto;min-height:0;overflow-y:auto}.responsive-detail-panel{overflow-wrap:break-word;min-width:0}.responsive-pagination{justify-content:space-between;align-items:center;gap:12px;display:flex}.responsive-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%;display:flex;overflow-x:auto}.responsive-chart-container{width:100%;min-width:0;min-height:280px}.responsive-empty-state{min-height:160px;color:var(--text-secondary);text-align:center;place-items:center;gap:8px;padding:24px;display:grid}:is(.page-header-title,.page-header-subtitle,.card,td,th,dd,p,label,.filename,.file-name){overflow-wrap:break-word}:is(input,select,textarea,button){max-width:100%}@media (width<=1199px){.page-content-wrapper{padding-inline:24px}:is(.filters-card,.onboarding-filters-card,.engagement-filters,.communication-actions,.workflow-actions){flex-wrap:wrap}:is(.filters-card,.onboarding-filters-card,.engagement-filters)>*{flex:200px;min-width:0}}@media (width<=1023px){:root{--mobile-header-height:64px}.page-content-wrapper{padding:calc(var(--mobile-header-height) + 12px) 20px 20px}.page-header,.responsive-page-header{padding-right:92px}:is(.form-grid,.modal-form-grid,.profile-grid,.detail-grid):not(.fleet-detail-grid){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.table-responsive,.engagement-table-wrapper,.onboard-table-wrapper,.staged-rows-table-wrapper):after{content:"";width:16px;height:1px;box-shadow:10px 0 18px 8px var(--bg-canvas);pointer-events:none;margin-left:auto;display:block;position:sticky;right:0}.data-table :is(th,td){padding:13px 16px}:is(.registration-review-modal,.rpsl-profile-modal,.vessel-modal-content,.crew-profile-modal,.preview-modal){width:min(96vw,920px)!important;max-width:96vw!important;max-height:92vh!important}}@media (width>=769px) and (width<=1023px){.app-layout .page-content-wrapper{padding-top:calc(var(--mobile-header-height) + 4px)}}@media (width<=767px){:root{--mobile-header-height:64px}.main-content{width:100%;min-width:0}.page-content-wrapper{padding:calc(var(--mobile-header-height) + 28px) 14px max(18px, env(safe-area-inset-bottom))}.page-header,.responsive-page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px;padding-right:0}.live-map-page-header{align-items:stretch!important}.live-map-page-header>*,.live-map-page-header>button{width:100%}.topbar{top:max(10px, env(safe-area-inset-top));right:12px}.notification-btn{width:44px;min-width:44px;height:44px}.notification-menu,.message-menu{top:calc(var(--mobile-header-height) + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - var(--mobile-header-height) - 20px);position:fixed;left:10px;right:10px}:is(.app-layout:has(.modal-overlay) :is(.mobile-nav-toggle,.topbar),.app-layout:has(.modal-backdrop) :is(.mobile-nav-toggle,.topbar),.app-layout:has(.preview-modal-overlay) :is(.mobile-nav-toggle,.topbar),.app-layout:has(.registration-review-modal-backdrop) :is(.mobile-nav-toggle,.topbar)){visibility:hidden;pointer-events:none}.page-header-title{font-size:clamp(1.45rem,7vw,1.75rem);line-height:1.15}.page-header-subtitle{line-height:1.45}.responsive-page-header-actions,.responsive-toolbar,.responsive-filter-bar,.responsive-action-bar,:is(.filters-card,.onboarding-filters-card,.engagement-filters){flex-direction:column;align-items:stretch;width:100%}.responsive-page-header-actions>*,.responsive-toolbar>*,.responsive-filter-bar>*,.responsive-action-bar>*,:is(.filters-card,.onboarding-filters-card,.engagement-filters)>*{flex:0 auto;width:100%}.responsive-form-grid,:is(.form-grid,.modal-form-grid,.profile-grid,.detail-grid):not(.fleet-detail-grid),.licence-detail-grid,.communication-settings-grid{grid-template-columns:minmax(0,1fr)!important}.communication-section-header,.communication-policy-row,.communication-template-footer{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.communication-section-header>label,.communication-policy-row>:last-child,.communication-template-footer>button{align-self:flex-start}.communication-template-footer>button{width:100%}.communication-confirm-dialog{padding:max(20px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom))!important}:is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:44px;font-size:16px}textarea{min-height:96px}:is(button,a.btn-primary,a.btn-secondary,.btn-primary,.btn-secondary,.btn-pagination){min-height:44px}.card,.kpi-card{max-width:100%}.kpi-card{padding:16px}.data-table :is(th,td),.engagement-table :is(th,td),.dcr-table :is(th,td),.staged-rows-table :is(th,td){padding:11px 12px;font-size:.82rem}:is(.data-table,.engagement-table,.dcr-table,.staged-rows-table){min-width:max-content}:is(.pagination-controls,.engagement-pagination,.responsive-pagination){grid-template-columns:minmax(96px,1fr) auto minmax(96px,1fr);width:100%;align-items:center!important;gap:8px!important;padding:12px!important;display:grid!important}:is(.pagination-controls,.engagement-pagination,.responsive-pagination)>*{min-width:0;margin:0!important}:is(.pagination-controls,.engagement-pagination,.responsive-pagination) button{min-width:0;min-height:44px}.modal-backdrop,.modal-overlay,.preview-modal-overlay,.registration-review-modal-backdrop,.motion-modal-backdrop{justify-content:stretch!important;align-items:stretch!important;padding:0!important}:is(.responsive-modal,.modal-content,.vessel-modal-content,.crew-profile-modal,.rpsl-profile-modal,.registration-review-modal,.preview-modal,.dcr-modal,.amendment-modal){flex-direction:column;display:flex;border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;overflow:hidden!important}:is(.modal-header,.preview-modal-header,.registration-review-modal-header,.rpsl-profile-modal-header,.modal-header-profile){flex:none;padding:max(14px, env(safe-area-inset-top)) 16px 14px!important}:is(.modal-form,.preview-modal-body,.registration-review-modal-body,.rpsl-profile-modal-body,.crew-profile-modal>.profile-content,.vessel-modal-content>.profile-content){overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto!important}:is(.modal-actions,.dcr-modal-actions,.workflow-actions,.riskzone-form-actions){z-index:4;border-top:1px solid var(--card-border);background:var(--card-bg);flex-direction:column-reverse;align-items:stretch;gap:10px;display:flex;position:sticky;bottom:0;padding:12px 16px max(12px, env(safe-area-inset-bottom))!important}:is(.modal-actions,.dcr-modal-actions,.workflow-actions,.riskzone-form-actions)>*{width:100%}.modal-actions-top{top:max(12px, env(safe-area-inset-top));gap:6px;right:12px}.modal-icon-btn,.modal-close,.modal-close-inline,.preview-modal-close{width:44px;min-width:44px;height:44px}:is(.tabs-container,.dcr-tabs,.master-data-tabs,.rpsl-modal-tabs,.responsive-tabs){overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto;flex-wrap:nowrap!important}:is(.tabs-container,.dcr-tabs,.master-data-tabs,.rpsl-modal-tabs,.responsive-tabs)>*{white-space:nowrap;flex:none}.responsive-chart-container,.recharts-responsive-container{min-height:260px}.chart-card{padding:16px}.chart-card-header{margin-bottom:14px}:is(.company-card-actions,.doc-actions,.communication-actions,.detail-actions-section){flex-wrap:wrap}:is(.company-card-actions,.doc-actions,.communication-actions,.detail-actions-section)>button{flex:140px}}@media (width<=479px){.page-content-wrapper{padding-inline:10px}.page-header-title{font-size:1.4rem}:is(.pagination-controls,.engagement-pagination,.responsive-pagination){grid-template-columns:1fr 1fr}:is(.pagination-controls,.engagement-pagination,.responsive-pagination)>:not(button):not(.btn-pagination){text-align:center;grid-area:1/1/auto/-1}.modal-actions-top{padding:max(10px, env(safe-area-inset-top)) 10px 0;justify-content:flex-end;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}#root .app-layout .main-content :is(h1,.page-header-title,.responsive-page-title){font-size:var(--type-page-title)!important;line-height:1.2!important}#root .app-layout .main-content h2,:is(#root .app-layout,body) [role=dialog] h2{font-size:var(--type-section-title)!important;line-height:1.25!important}#root .app-layout .main-content h3,:is(#root .app-layout,body) [role=dialog] h3{font-size:var(--type-card-title)!important;line-height:1.3!important}#root .app-layout .main-content :is(h4,h5,h6),:is(#root .app-layout,body) [role=dialog] :is(h1,h4,h5,h6){font-size:var(--type-body)!important;line-height:1.35!important}#root .app-layout .main-content :is(p,li,dt,dd,label,legend),:is(#root .app-layout,body) [role=dialog] :is(p,li,dt,dd,label,legend){font-size:var(--type-body)!important;line-height:1.4!important}#root .app-layout .main-content :is(label,legend),:is(#root .app-layout,body) [role=dialog] :is(label,legend){font-size:var(--type-label)!important}#root .app-layout .main-content :is(small,.page-header-tag,.page-header-subtitle,.responsive-page-description,.field-hint,.form-hint,.help-text,.helper-text),:is(#root .app-layout,body) [role=dialog] :is(small,.field-hint,.form-hint,.help-text,.helper-text){font-size:var(--type-helper)!important;line-height:1.4!important}#root .app-layout .main-content :is(input,select,textarea,button),:is(#root .app-layout,body) [role=dialog] :is(input,select,textarea,button){font-size:var(--type-control)!important}#root .app-layout .main-content :is(table,.responsive-table,.data-table,.engagement-table,.onboard-table,.dcr-table,.dcr-items-table,.staged-rows-table,.amendment-table) :is(th,td),:is(#root .app-layout,body) [role=dialog] table :is(th,td){font-size:var(--type-table)!important;padding:8px 11px!important;line-height:1.35!important}#root .app-layout .main-content :is(table,.responsive-table,.data-table,.engagement-table,.onboard-table,.dcr-table,.dcr-items-table,.staged-rows-table,.amendment-table) thead th,:is(#root .app-layout,body) [role=dialog] table thead th{letter-spacing:.035em;font-size:var(--type-table-heading)!important}#root .app-layout .main-content :is(.page-header,.responsive-page-header){gap:10px;margin-bottom:16px}#root .app-layout .main-content :is(.form-grid,.modal-form-grid,.responsive-form-grid){gap:12px}#root .app-layout .main-content :is(.filters-card,.onboarding-filters-card){gap:12px;padding:12px 16px}:is(#root .app-layout,body) [role=dialog] :is(.modal-header,.responsive-modal-header) h1{font-size:var(--type-section-title)!important}:is(#root .app-layout,body) [role=dialog] :is(.modal-header,.modal-header-profile,.responsive-modal-header){padding:12px 16px!important}:is(#root .app-layout,body) [role=dialog] :is(.modal-body,.modal-form,.responsive-modal-body){row-gap:12px}#root .auth-container h1{font-size:var(--type-page-title)!important;line-height:1.2!important}#root .auth-container h2{font-size:var(--type-section-title)!important}#root .auth-container h3{font-size:var(--type-card-title)!important}#root .auth-container :is(p,label,small,input,select,textarea,button){font-size:var(--type-body)!important}#root .auth-container label{font-size:var(--type-label)!important}:root{--font-display:"Inter", sans-serif;--font-body:"Inter", sans-serif;--type-page-title:1.3rem;--type-section-title:.92rem;--type-card-title:.86rem;--type-body:.78rem;--type-control:.78rem;--type-label:.72rem;--type-helper:.68rem;--type-table:.72rem;--type-table-heading:.66rem;--bg-base:#000;--bg-canvas:#09090b;--card-bg:#09090b;--card-border:#27272a;--input-bg:#09090b;--sidebar-bg:#000;--sidebar-text:#a1a1aa;--sidebar-text-active:#fff;--topbar-bg:#09090b;--topbar-border:#27272a;--text-primary:#fff;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-blue:#3b82f6;--accent-cyan:#06b6d4;--accent-gradient:#3b82f6;--accent-glow:0 0 18px #3b82f659;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-flat:0 1px 3px #00000080;--shadow-card:0 4px 6px -1px #00000080;--sidebar-width:200px;--sidebar-collapsed:68px;--header-height:64px;--transition-fluid:all .2s ease-in-out;--bg-secondary:var(--card-bg);--glass-bg:var(--card-bg);--glass-border:var(--card-border);--border-color:var(--card-border);--accent-primary:var(--accent-blue);--accent-color:var(--accent-blue);--hover-bg:#ffffff0d;--accent-bg:#3b82f626;--badge-bg:#3b82f633;--transition-bounce:var(--transition-fluid);--shadow-modal:0 12px 32px #00000059;--success-glow:0 0 12px #10b9814d}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#e9edf2;--bg-canvas:#e9edf2;--card-bg:#fcfdfd;--bg-secondary:#f1f4f7;--surface-muted:var(--bg-secondary);--card-border:#cbd3dd;--input-bg:#f4f6f8;--sidebar-bg:#f2f4f7;--sidebar-text:#465468;--sidebar-text-active:#1d4ed8;--topbar-bg:var(--card-bg);--topbar-border:var(--card-border);--text-primary:#0f172a;--text-secondary:#465468;--text-muted:#5b697b;--accent-blue:#2563eb;--accent-cyan:#0e7490;--success:#047857;--warning:#a15c07;--danger:#c83333;--info:#2563eb;--shadow-flat:0 1px 3px #0f172a14;--shadow-card:0 2px 5px #0f172a0f, 0 8px 20px #0f172a0a;--hover-bg:#0f172a0f;--accent-bg:#2563eb17;--badge-bg:#2563eb1a;--shadow-modal:0 12px 32px #0f172a29;--accent-gradient:#2563eb;--accent-glow:0 0 0 3px #2563eb29}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100vw;height:100dvh;font-family:var(--font-body);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.app-layout{background-color:var(--bg-base);width:100vw;height:100dvh;display:flex;overflow:hidden}.main-content{background-color:var(--bg-canvas);flex-direction:column;flex:1;height:100dvh;display:flex;position:relative;overflow:hidden}.page-content-wrapper{flex-direction:column;flex:1;padding:24px 32px 56px;display:flex;position:relative;overflow-y:auto}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:var(--transition-fluid);position:relative;overflow:hidden}.kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;justify-content:space-between;padding:20px;display:flex}.btn-primary{background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fluid);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text-primary);border:1px solid var(--card-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fluid);background:0 0;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--text-muted)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fluid);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-success:hover:not(:disabled){background:#059669}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fluid);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.input,.select-input,.textarea-input{border:1px solid var(--card-border);border-radius:var(--radius-sm);background-color:var(--input-bg,var(--bg-canvas));width:100%;color:var(--text-primary);transition:var(--transition-fluid);outline:none;padding:10px 16px;font-family:inherit;font-size:.85rem}.input:focus,.select-input:focus,.textarea-input:focus{border-color:var(--accent-blue)}.textarea-input{resize:vertical;min-height:80px}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.78rem;font-weight:600}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:56px 24px;display:flex}.empty-state>span:first-child,.empty-state>.empty-icon{border:1px solid var(--card-border);background:var(--accent-bg);width:72px;height:72px;color:var(--accent-blue);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;line-height:1;display:flex}.empty-state h3{color:var(--text-primary);letter-spacing:.01em;margin:0;font-size:1.05rem;font-weight:700}.empty-state p{color:var(--text-muted);max-width:360px;margin:0;font-size:.85rem;line-height:1.5}.page-header{margin-bottom:24px;padding-right:100px}.page-header-tag{color:var(--accent-blue);letter-spacing:.1em;text-transform:none;margin-bottom:8px;font-size:.7rem;font-weight:700;display:block}.page-header-title{color:var(--text-primary);margin-bottom:4px;font-size:2rem;font-weight:700}.page-header-subtitle{color:var(--text-secondary);font-size:.9rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#334155}.grid{gap:20px;width:100%;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-content-wrapper{padding:calc(var(--mobile-header-height,64px) + 28px) 14px max(18px, env(safe-area-inset-bottom))}.page-header{padding-right:0}.page-header-title{font-size:1.6rem}}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.data-table th{z-index:50;color:var(--text-secondary);border-bottom:1px solid var(--card-border);box-shadow:0 1px 0 var(--card-border);padding:16px 24px;font-size:.85rem;font-weight:500;position:sticky;top:0;background-color:var(--card-bg)!important}.data-table td{border-bottom:1px solid var(--card-border);color:var(--text-primary);padding:16px 24px;font-size:.9rem}.data-table tr:hover td{background:#00000003}.modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-actions-top{z-index:10;align-items:center;gap:12px;display:flex;position:absolute;top:24px;right:24px}.modal-icon-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;width:32px;height:32px;transition:var(--transition-fluid);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.modal-icon-btn:hover:not(:disabled){background:var(--text-secondary);color:#fff}.modal-icon-btn:disabled{opacity:.3;cursor:not-allowed}select{background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--card-border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light] select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}select option,select optgroup{background-color:var(--card-bg);color:var(--text-primary)}select option:checked,select option:hover{background-color:var(--accent-blue);color:#fff}select:disabled{opacity:.6;cursor:not-allowed}[data-theme=light] .data-table th{background-color:var(--bg-secondary)!important}[data-theme=light] .data-table tbody tr:hover td{background:var(--hover-bg)}[data-theme=light] :is(input,textarea)::placeholder{color:var(--text-muted);opacity:1}[data-theme=light] :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}[data-theme=light] :is(.config-alert,.uac-alert,.admin-ai-alert,.apidocs-alert,.master-data-alert,.billing-alert,.security-alert,.alert-row,.alert-success,.alert-error,.login-error-alert,.crew-toast),[data-theme=light] :is(.config-alert,.uac-alert,.admin-ai-alert,.apidocs-alert,.master-data-alert,.billing-alert,.security-alert,.alert-row,.alert-success,.alert-error,.login-error-alert,.crew-toast) :is(strong,span,p,div,b){color:#000!important}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .main-content .auth-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}:root{--card-pop-shadow:0 0 0 1px #ffffff1a, 0 16px 40px #0000008c, 0 0 32px #ffffff0f;--card-pop-shadow-wide:0 0 0 1px #ffffff1a, 0 10px 28px #00000080, 0 0 24px #ffffff0d;--card-pop-border:#ffffff29;--row-pop-filter:drop-shadow(0 0 1px #ffffff40) drop-shadow(0 6px 14px #00000080)}[data-theme=light]{--card-pop-shadow:0 18px 40px #0f172a2e, 0 4px 12px #0f172a1a;--card-pop-shadow-wide:0 12px 30px #0f172a29, 0 3px 10px #0f172a14;--card-pop-border:var(--card-border);--row-pop-filter:drop-shadow(0 6px 14px #0f172a29)}body :is(.intg-card,.weather-provider-card,.ai-card),body .fleet-list-item>*{transition:scale .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),background-color .2s,border-color .2s}body :is(.kpi-card,.metric-group,.chart-card,.alerts-card,.review-queue,.vessel-grid-card,.company-grid-card,.company-card,.billing-card,.plan-choice-card,.upload-box,.crew-api-card,.ais-panel,.voyage-card,.fleet-crew-item,.fleet-exposure-strip,.map-history-card,.ia-panel,.ia-kpi):not(:has(input:not([type=file],[type=hidden],[type=checkbox],[type=radio],[type=range]),textarea)){transition:scale .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),background-color .2s,border-color .2s}body .data-table tbody tr:not(:has(td[colspan])){transition:scale .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),background-color .2s,border-color .2s}@media (hover:hover) and (prefers-reduced-motion:no-preference){body :is(.kpi-card,.metric-group,.chart-card,.alerts-card,.review-queue,.vessel-grid-card,.company-grid-card,.company-card,.billing-card,.plan-choice-card,.upload-box,.crew-api-card,.ais-panel,.voyage-card,.fleet-crew-item,.ia-panel,.ia-kpi):not(:has(input:not([type=file],[type=hidden],[type=checkbox],[type=radio],[type=range]),textarea)):hover{z-index:5;border-color:var(--card-pop-border);box-shadow:var(--card-pop-shadow);position:relative;scale:1.02}body :is(.intg-card,.weather-provider-card,.ai-card):not(:focus-within):hover{z-index:5;border-color:var(--card-pop-border);box-shadow:var(--card-pop-shadow-wide);position:relative;scale:1.012}body :is(.fleet-exposure-strip,.map-history-card):hover{z-index:5;border-color:var(--card-pop-border);box-shadow:var(--card-pop-shadow-wide);position:relative;scale:1.008}body .data-table tbody tr:not(:has(td[colspan])):hover{z-index:2;background-color:var(--card-bg);filter:var(--row-pop-filter);position:relative;scale:1.01}body .fleet-list-item:hover{z-index:2;background:var(--card-bg)}body .fleet-list-item:hover>*{scale:1.025}}
