:root{--brand:#016085;--brand-600:#014b68;--ink:#0f172a;--muted:#64748b;--ok:#16a34a;--warn:#ef4444;--bg:#f3f4f6;--card:#fff;--surface-2:#f9fafb;--chip:#eaf4f8;--radius:8px;--shadow:0 1px 3px #0f172a14, 0 10px 24px #0f172a0a;--shadow-lg:0 18px 45px #0f172a21;--sidebar-w:320px;--sidebar-mini:64px;--nav-item-h:34px;--nav-icon-size:20px;--nav-label-size:var(--font-size-md);--nav-label-weight:500;--sidebar-brand-mark:36px;--divider:#e5e7eb;--primary-600:#016085;--focus:#93c5fd;--text-muted:#6b7280;--danger:#dc2626;--danger-bg:#dc26261f;--modal-margin:24px;--modal-max-h:calc(100vh - (var(--modal-margin) * 2));--bg-page:var(--bg);--bg-card:var(--card);--border-default:#e2e8f0;--border-light:#f1f5f9;--text-primary:var(--ink);--text-secondary:var(--muted);--brand-primary:var(--brand);--brand-primary-hover:var(--brand-600);--brand-primary-light:#0160851f;--shadow-card:var(--shadow);--shadow-elevated:var(--shadow-lg);--font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:28px}*{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}html,body,#root{min-height:100%}.material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;-webkit-font-feature-settings:"liga";font-feature-settings:"liga" 1;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;font-size:var(--nav-icon-size);letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;direction:ltr;justify-content:center;align-items:center;line-height:1;display:inline-flex}.login-shell{background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(420px,1fr);min-height:100vh;display:grid}.login-visual{background:#0b2238;border-top-right-radius:45px;border-bottom-right-radius:45px;min-height:100vh;position:relative;overflow:hidden}.login-visual img,.login-mobile-visual img{object-fit:cover;width:100%;height:100%;display:block}.login-visual:after{content:"";background:linear-gradient(#0f172a0a,#0f172aad);position:absolute;inset:0}.login-visual-caption{z-index:1;color:#fff;position:absolute;bottom:40px;left:40px;right:40px}.login-kicker{min-height:24px;color:var(--primary-600);letter-spacing:.06em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.login-visual-caption .login-kicker{color:#d9f4ff}.login-visual-caption h1{max-width:520px;margin:8px 0 0;font-size:40px;line-height:1.05}.login-form-panel{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-card{width:min(100%,420px);box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:16px;padding:0;display:flex}.login-mobile-visual{border-bottom-right-radius:20px;border-bottom-left-radius:20px;height:154px;margin:0 0 8px;display:none;overflow:hidden}.login-heading h2{color:#0b2238;margin:4px 0 0;font-size:30px;line-height:1.1}.login-heading p{color:var(--muted);margin:8px 0 0;line-height:1.45}.login-field{flex-direction:column;gap:6px;display:flex}.input-with-icon{position:relative}.input-with-icon .material-symbols-rounded{color:#94a3b8;pointer-events:none;font-size:20px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon .input{min-height:50px;padding-left:42px}.password-input-wrap .input{padding-right:46px}.password-visibility-toggle{border-radius:var(--radius);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background .16s,color .16s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-visibility-toggle:hover{background:var(--surface-2);color:var(--ink)}.password-visibility-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.password-visibility-toggle .material-symbols-rounded{color:currentColor;pointer-events:none;font-size:20px;position:static;transform:none}.login-error{border-radius:var(--radius);background:#fef2f2;border-left:4px solid #ef4444;padding:10px 12px}.login-submit{justify-content:center;width:100%;min-height:46px;margin-top:4px;font-weight:700}.app-loading{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.app-loading-card{border-radius:var(--radius);width:min(100%,360px);box-shadow:var(--shadow);background:#fff;border:1px solid #e5e7eb;align-items:center;gap:12px;padding:16px;display:flex}.app-loading-mark{width:38px;height:38px;color:var(--primary-600);background:#eaf4f8;border:1px solid #01608533;border-radius:50%;justify-content:center;align-items:center;font-weight:900;display:flex}.app-loading-card strong{color:#0b2238;display:block}.app-loading-card p{color:var(--muted);margin:2px 0 0;font-size:13px}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-form-panel{align-items:flex-start;min-height:100vh;padding:16px}.login-card{width:100%;max-width:480px;margin:0 auto;padding:0}.login-mobile-visual{margin:0 0 8px;display:block}.login-heading h2{font-size:26px}}.app{min-height:100vh;display:flex}@supports (min-height:100dvh){.login-shell,.login-visual,.login-form-panel,.app,.app-loading{min-height:100dvh}}.app.sidebar-mini .sidebar{width:var(--sidebar-mini);padding-left:8px;padding-right:8px}.app.sidebar-mini .nav-item{text-align:center;justify-content:center;width:34px;margin-left:auto;margin-right:auto;padding:0}.app.sidebar-mini .nav-ico{margin:0}.app.sidebar-mini .sidebar:hover .nav-item{text-align:left;justify-content:flex-start;width:100%;margin-left:0;margin-right:0;padding:0}.app.sidebar-mini .nav-label{opacity:0;width:0;padding-right:0;overflow:hidden}.app.sidebar-mini .sidebar:hover{width:var(--sidebar-w);padding-left:16px;padding-right:16px}.app.sidebar-mini .sidebar:hover .nav-label{opacity:1;width:auto;padding-right:13px}.app.sidebar-mini .sidebar:hover .sb-text{opacity:1;width:auto}.app.sidebar-mini .sb-text{opacity:0;width:0;overflow:hidden}.app.sidebar-mini .sb-brand{width:var(--sidebar-brand-mark);justify-content:center;align-items:center;gap:0;min-height:36px;margin-left:auto;margin-right:auto;padding:0}.app.sidebar-mini .sidebar:hover .sb-brand{justify-content:flex-start;gap:12px;width:100%;min-height:36px;margin-left:0;margin-right:0;padding:0}.app.sidebar-mini .nav-item .nav-ico{flex-basis:100%;width:100%;margin:0;padding:0}.app.sidebar-mini .sidebar:hover .nav-item .nav-ico{flex-basis:38px;width:38px;padding:0 7px}.overlay{opacity:0;pointer-events:none;z-index:69;background:#0f172a80;transition:opacity .18s;position:fixed;inset:0}.overlay.show{opacity:1;pointer-events:auto}.sidebar{width:var(--sidebar-w);color:var(--ink);border-right:1px solid var(--divider);z-index:70;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;gap:24px;padding:20px 16px;transition:width .3s,transform .3s,padding .3s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar h1{display:none}.sidebar-head{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.sb-brand{border-radius:var(--radius);box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;min-height:36px;padding:0;display:flex}.sidebar-mobile-close{border:1px solid var(--divider);border-radius:var(--radius);background:var(--surface-2);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s,border-color .16s;display:none}.sidebar-mobile-close:hover{color:var(--ink);background:#fff;border-color:#cbd5e1}.sidebar-mobile-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sb-mark{width:var(--sidebar-brand-mark);height:var(--sidebar-brand-mark);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.sb-mark img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.sb-text{min-width:0}.sb-title{color:#0b2238;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sb-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.nav{flex-direction:column;flex:1;gap:6px;min-height:0;padding:0;display:flex}.nav-section,.nav-bottom{flex-direction:column;gap:6px;display:flex}.nav-bottom{border-top:1px solid var(--divider);margin-top:auto;padding-top:16px}.nav-item{height:var(--nav-item-h);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;font-size:var(--nav-label-size);font-weight:var(--nav-label-weight);background:0 0;border:0;outline:none;align-items:center;gap:0;margin-bottom:0;padding:0;line-height:20px;transition:background .16s,color .16s,transform .16s;display:flex}.nav-item.active{background:var(--primary-600);color:#fff;box-shadow:0 1px 2px #0f172a14}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active:hover{background:var(--primary-600);color:#fff}.nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.nav-ico{color:currentColor;opacity:1;width:38px;height:34px;font-family:Material Symbols Rounded;font-size:var(--nav-icon-size);font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;-webkit-font-feature-settings:"liga";font-feature-settings:"liga" 1;flex:0 0 38px;padding:0 7px;font-style:normal;font-weight:400;line-height:1}.nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:13px;line-height:20px;transition:width .16s,opacity .16s,padding .16s;overflow:hidden}.nav-danger{color:var(--danger)}.nav-danger .nav-ico{color:currentColor}.nav-danger:hover{background:var(--danger-bg);color:var(--danger)}.nav-item.active .nav-ico,.app.sidebar-mini .nav-item.active .nav-ico{color:#fff;opacity:1}.main{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;transition:margin-left .2s;display:flex}.app.sidebar-mini .main{margin-left:var(--sidebar-mini)}.app.sidebar-mini .sidebar:hover~.main{margin-left:var(--sidebar-w)}.mobile-nav-toggle{border-radius:var(--radius);cursor:pointer;color:#0b2238;z-index:59;width:36px;height:36px;box-shadow:var(--shadow);background:#fff;border:1px solid #e2e8f0;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,transform .16s;display:inline-flex;position:fixed;top:12px;left:12px}.mobile-nav-toggle .material-symbols-rounded{font-size:20px}.mobile-nav-toggle:hover{background:#f8fafc;border-color:#cbd5e1}.mobile-nav-toggle:active{transform:scale(.98)}.mobile-nav-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (width>=901px){.mobile-nav-toggle{display:none}}.page{flex:1;min-height:0;padding:16px 24px 24px;overflow:auto}.page-stack{flex-direction:column;gap:24px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title-group{min-width:0}.page-title-group h2{font-size:var(--font-size-xl);margin:0;font-weight:700;line-height:1.25}.page-title-group p{color:var(--muted);max-width:720px;font-size:var(--font-size-base);margin:6px 0 0;line-height:1.45}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e5e7eb;padding:24px;transition:box-shadow .2s,transform .2s}.card h3{font-size:var(--font-size-lg);margin:0;font-weight:700;line-height:1.3}.card-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.range-select{width:160px}.report-date-range-control{align-items:flex-start;gap:10px;width:min(100%,620px);display:inline-flex}.report-date-range-control .range-updating-indicator{flex:none;margin-top:8px}.fup-date-range-picker{flex-direction:column;gap:8px;width:min(100%,620px);display:inline-flex;position:relative}.fup-date-range-trigger{border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);width:100%;min-height:46px;color:var(--text-primary);box-shadow:var(--shadow-card);cursor:pointer;font:inherit;font-size:var(--font-size-md);text-align:left;align-items:center;gap:12px;padding:0 16px;font-weight:700;transition:border-color .16s,box-shadow .16s,color .16s;display:flex}.fup-date-range-trigger:hover,.fup-date-range-trigger:focus-visible{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light), var(--shadow-card);outline:none}.fup-date-range-trigger:disabled{cursor:not-allowed;opacity:.6}.fup-date-range-trigger-icon,.fup-date-range-chevron{width:18px;height:18px;color:var(--brand-primary);flex:none}.fup-date-range-chevron{color:var(--text-secondary);margin-left:auto}.fup-date-range-weekdays{border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);min-height:40px;box-shadow:var(--shadow-card);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.fup-date-range-weekdays button{border:0;border-right:1px solid var(--border-default);min-width:0;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-md);background:0 0;font-weight:700;transition:background .16s,color .16s}.fup-date-range-weekdays button:last-child{border-right:0}.fup-date-range-weekdays button:hover,.fup-date-range-weekdays button:focus-visible{background:var(--surface-2);color:var(--brand-primary);outline:none}.fup-date-range-weekdays button.selected,.fup-date-range-weekdays button[aria-pressed=true],.fup-date-range-weekdays button.selected:hover,.fup-date-range-weekdays button.selected:focus-visible,.fup-date-range-weekdays button[aria-pressed=true]:hover,.fup-date-range-weekdays button[aria-pressed=true]:focus-visible{background:var(--brand-primary);color:#fff;box-shadow:inset 0 0 0 1px var(--brand-primary);outline:none}.fup-date-range-weekdays button:disabled{cursor:not-allowed;background:var(--surface-2);color:var(--text-muted)}.fup-date-range-popover{z-index:80;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);width:min(620px,100vw - 32px);box-shadow:var(--shadow-elevated);grid-template-columns:150px minmax(0,1fr);display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.fup-date-range-mobile-head{display:none}.fup-date-range-presets{border-right:1px solid var(--border-default);background:var(--bg-card);flex-direction:column;gap:4px;padding:16px;display:flex}.fup-date-range-presets button{border-radius:var(--radius);min-height:36px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-base);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;font-weight:500;transition:background .16s,color .16s;display:flex}.fup-date-range-presets button:hover,.fup-date-range-presets button:focus-visible,.fup-date-range-presets button.active{background:var(--surface-2);color:var(--brand-primary);outline:none}.fup-date-range-check{width:16px;height:16px}.fup-date-range-calendar-panel{min-width:0;padding:14px 16px}.fup-date-range-calendar,.fup-rdp-months,.fup-rdp-month,.fup-rdp-table{width:100%}.fup-rdp-caption{min-height:36px;color:var(--text-primary);font-size:var(--font-size-lg);justify-content:center;align-items:center;margin-bottom:10px;font-weight:800;display:flex}.fup-rdp-nav{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:14px;left:16px;right:16px}.fup-rdp-nav-button{border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);width:34px;height:34px;color:var(--text-primary);cursor:pointer;pointer-events:auto;transition:background .16s,color .16s,border-color .16s}.fup-rdp-nav-button:hover,.fup-rdp-nav-button:focus-visible{border-color:var(--brand-primary);color:var(--brand-primary);outline:none}.fup-rdp-head-row,.fup-rdp-row{grid-template-columns:28px repeat(7,minmax(0,1fr));display:grid}.fup-rdp-head-cell,.fup-rdp-week-number{min-height:32px;color:var(--text-muted);font-size:var(--font-size-sm);justify-content:center;align-items:center;font-weight:700;display:flex}.fup-rdp-cell{justify-content:center;align-items:center;min-width:0;display:flex}.fup-rdp-cell:has(.fup-rdp-day){min-height:34px}.fup-rdp-day{border-radius:var(--radius);width:34px;height:34px;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-base);background:0 0;border:0;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.fup-rdp-day:hover,.fup-rdp-day:focus-visible{background:var(--surface-2);outline:none}.fup-rdp-cell.range-start,.fup-rdp-cell.range-end,.fup-rdp-cell.range-middle,.fup-rdp-cell.selected{background:#d7eef8}.fup-rdp-cell.range-start.range-end,.fup-rdp-cell.selected:not(.range-start):not(.range-middle):not(.range-end){background:0 0}.fup-rdp-cell.range-start{border-radius:var(--radius) 0 0 var(--radius)}.fup-rdp-cell.range-end{border-radius:0 var(--radius) var(--radius) 0}.fup-rdp-cell.range-middle .fup-rdp-day{width:100%;color:var(--text-primary);background:#d7eef8;border-radius:0}.fup-rdp-cell.range-start .fup-rdp-day,.fup-rdp-cell.range-end .fup-rdp-day{background:var(--brand-primary);color:#fff;width:100%;box-shadow:0 8px 18px #0160852e}.fup-rdp-cell.range-start .fup-rdp-day{border-radius:var(--radius) 0 0 var(--radius)}.fup-rdp-cell.range-end .fup-rdp-day{border-radius:0 var(--radius) var(--radius) 0}.fup-rdp-cell.range-start.range-end .fup-rdp-day,.fup-rdp-cell.selected:not(.range-start):not(.range-middle):not(.range-end) .fup-rdp-day{border-radius:var(--radius);background:var(--brand-primary);color:#fff;width:34px;box-shadow:0 8px 18px #0160852e}.disabled .fup-rdp-day{cursor:not-allowed;color:var(--text-muted);opacity:.45}.hidden .fup-rdp-day{visibility:hidden}.fup-date-range-actions{justify-content:space-between;gap:12px;padding-top:16px;display:flex}.date-range-control{flex-direction:column;align-items:stretch;gap:12px;width:min(100%,720px);display:flex;position:relative}.date-range-trigger{border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);width:100%;min-height:46px;color:var(--text-primary);box-shadow:var(--shadow-card);cursor:pointer;font:inherit;font-size:var(--font-size-md);text-align:left;align-items:center;gap:12px;padding:0 16px;font-weight:700;transition:border-color .16s,box-shadow .16s,color .16s;display:flex}.date-range-trigger:hover,.date-range-trigger:focus-visible{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-light), var(--shadow-card);outline:none}.date-range-trigger .material-symbols-rounded{color:var(--brand-primary);flex:none;font-size:22px}.date-range-sync{margin-left:auto;color:var(--text-secondary)!important}.date-range-weekdays{border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);min-height:40px;box-shadow:var(--shadow-card);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.date-range-weekdays button{border-right:1px solid var(--border-default);min-width:0;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-md);background:0 0;border-top:0;border-bottom:0;border-left:0;justify-content:center;align-items:center;font-weight:700;transition:background .16s,color .16s;display:flex}.date-range-weekdays button:hover,.date-range-weekdays button:focus-visible{background:var(--surface-2);color:var(--brand-primary);outline:none}.date-range-weekdays button:last-child{border-right:0}.date-range-popover{z-index:80;border:1px solid var(--border-default);border-radius:var(--radius);background:var(--bg-card);width:min(100%,720px);box-shadow:var(--shadow-elevated);grid-template-columns:190px minmax(0,1fr);display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.date-range-presets{border-right:1px solid var(--border-default);background:var(--bg-card);flex-direction:column;gap:4px;padding:16px;display:flex}.date-range-presets button{border-radius:var(--radius);min-height:38px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-base);text-align:left;background:0 0;border:0;font-weight:500;transition:background .16s,color .16s}.date-range-presets button:hover,.date-range-presets button:focus-visible{background:var(--surface-2);color:var(--text-primary);outline:none}.date-range-calendar{padding:16px 20px}.date-range-calendar-head{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:12px;margin-bottom:20px;display:grid}.date-range-calendar-head strong{text-align:center;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:800}.btn.icon-only{justify-content:center;width:36px;height:36px;min-height:36px;padding:0}.date-range-calendar-weekdays,.date-range-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-range-calendar-weekdays{border-bottom:1px solid var(--border-default);color:#94a3b8;text-align:center;padding-bottom:10px;font-weight:700}.date-range-calendar-weekdays button{border-radius:var(--radius);color:#94a3b8;cursor:pointer;min-height:32px;font:inherit;font-size:var(--font-size-base);background:0 0;border:0;font-weight:700;transition:background .16s,color .16s}.date-range-calendar-weekdays button:hover,.date-range-calendar-weekdays button:focus-visible{background:var(--surface-2);color:var(--brand-primary);outline:none}.date-range-calendar-grid{gap:4px;padding-top:10px}.date-range-day{border-radius:var(--radius);min-width:0;min-height:34px;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--font-size-base);background:0 0;border:0;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.date-range-day:hover,.date-range-day:focus-visible{background:var(--surface-2);outline:none}.date-range-day.muted{color:#cbd5e1}.date-range-day.in-range{background:#01608529}.date-range-day.selected{background:var(--brand-primary);color:#fff;box-shadow:0 8px 18px #0160852e}.date-range-actions{justify-content:space-between;gap:12px;margin-top:20px;display:flex}.section{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.table-shell{margin-top:16px;overflow-x:auto}.table-wide{min-width:720px}.table th,.table td{border-bottom:1px solid var(--divider);text-align:left;vertical-align:middle;padding:12px 16px}.table th{color:#475569;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;font-weight:800}.table tbody tr{transition:background .16s}.table tbody tr:hover{background:#f8fafc}.table tbody tr.clickable-row{cursor:pointer}.table tbody tr.clickable-row:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.table-empty{color:var(--muted);text-align:center;padding:18px 8px}.skeleton{border-radius:var(--radius);background:#e8eef5;display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.35s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skeleton-text{height:12px}.skeleton-pill{border-radius:999px;height:24px}.skeleton-metric{width:min(150px,72%);height:34px}.skeleton-dot{border-radius:50%;width:24px;height:24px}.skeleton-w-xs{width:44px}.skeleton-w-sm{width:76px}.skeleton-w-md{width:120px}.skeleton-w-lg{width:min(220px,100%)}.badge{background:var(--chip);color:var(--primary-600);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;min-height:36px;font-family:var(--font-family);font-size:var(--font-size-base);-webkit-user-select:none;user-select:none;box-shadow:none;color:#0b2238;background:#fff;border:1px solid #e7ecf7;align-items:center;gap:8px;padding:8px 16px;font-weight:700;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex}.btn.primary{background:var(--brand);color:#fff;border-color:#0000;box-shadow:0 8px 18px #0160852e}.btn.ghost{color:#0b2238;background:#fff;border:1px solid #e2e8f0}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn.primary:hover:not(:disabled){background:var(--brand-600);color:#fff;border-color:#0000}.btn.danger:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#0000}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.input{border:1px solid var(--divider);border-radius:var(--radius);width:100%;min-height:42px;color:var(--ink);font:inherit;font-size:var(--font-size-base);background:#fff;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.input:focus{border-color:var(--primary-600);outline:none;box-shadow:0 0 0 3px #01608524}.input-error{background:#fff5f5;border-color:#ef4444}.input:disabled,.input-disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9}.searchbox{border:1px solid var(--divider);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;min-height:42px;margin-bottom:12px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.searchbox:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px #01608524}.searchbox .icon{color:var(--muted)}.searchbox input{width:100%;font:inherit;font-size:var(--font-size-base);border:0;outline:none}.alert-item{border:1px solid var(--divider);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px;display:flex}.alert-item strong{display:block}.alerts-panel{width:min(420px,100vw - 28px);height:min(560px,100vh - 100px);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:81;background:#fff;border:1px solid #e7ecf7;display:none;position:fixed;bottom:70px;right:14px;overflow:hidden}.alerts-panel.open{flex-direction:column;display:flex}.modal-overlay{z-index:100}.centered-modal{z-index:91;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.modal-overlay .centered-modal{z-index:101}.blacklist-modal{width:min(920px, calc(100vw - (var(--modal-margin) * 2)));height:auto;max-height:var(--modal-max-h)}.blocking-alert-modal{width:min(62vw, calc(100vw - (var(--modal-margin) * 2)));min-width:min(860px, calc(100vw - (var(--modal-margin) * 2)));height:min(62vh,760px);min-height:min(600px, calc(100vh - (var(--modal-margin) * 2)));max-height:var(--modal-max-h)}.history-detail-modal{width:min(max(50vw, 960px), calc(100vw - (var(--modal-margin) * 2)));height:min(74vh,760px);min-height:min(50vh, calc(100vh - (var(--modal-margin) * 2)));max-height:var(--modal-max-h)}.history-detail-modal .alerts-body{flex:auto}.history-detail-modal .alert-row{flex-direction:column;flex:auto;display:flex}.history-detail-modal .alert-detail-layout{flex:auto}.delete-confirm-modal{width:min(480px, calc(100vw - (var(--modal-margin) * 2)));height:auto;max-height:var(--modal-max-h)}.alerts-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.alerts-title-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.alerts-title-group .alerts-subtitle{flex-basis:100%}.alerts-pending-pill{background:var(--chip);min-height:32px;color:var(--primary-600);border:1px solid #0160852e;border-radius:999px;align-items:center;padding:6px 14px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.alerts-head{background:#fff;border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.alerts-body{flex-direction:column;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label,.login-field label{color:#334155;font-size:13px;font-weight:700}.form-field-full{grid-column:1/-1}.form-error{color:#ef4444;margin-top:8px}.form-error-compact{margin-top:4px}.modal-actions,.permission-actions{border-top:1px solid #eef2f7;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;display:flex}.modal-actions .btn.primary{order:2}.confirm-copy{color:#334155;margin-bottom:8px;line-height:1.45}.permission-page{justify-content:center;align-items:flex-start;display:flex}.permission-card{width:min(100%,520px);margin-top:40px}.permission-copy{color:#475569;line-height:1.5}.truncate-cell{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.image-upload-help{color:var(--muted);font-size:13px;line-height:1.4}.image-preview-shell{margin-top:8px}.form-image-preview,.alert-reference-image,.alert-capture-image{border-radius:var(--radius);object-fit:cover;background:#f8fafc;border:1px solid #dbe3ee;width:100%;display:block}.form-image-preview,.alert-reference-image{max-width:280px}.form-image-preview{aspect-ratio:4/3}.alert-capture-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(52vh,560px)}.image-placeholder{border-radius:var(--radius);max-width:280px;min-height:180px;color:var(--muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;justify-content:center;align-items:center;padding:16px;line-height:1.45;display:flex}.image-placeholder.alert-capture-image{max-width:100%}.image-upload-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.link-button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--focus);border-radius:6px}.settings-layout{flex-direction:column;gap:16px;display:flex}.settings-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.settings-catalog-card{flex-direction:column;gap:12px;min-height:148px;display:flex}.settings-catalog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settings-catalog-head h3,.settings-summary h3{margin:0}.settings-helper{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.4}.settings-manage-btn{flex:none}.settings-manage-btn .material-symbols-rounded{font-size:19px}.settings-chip-list{flex-wrap:wrap;align-content:flex-start;gap:6px;max-height:76px;display:flex;overflow:hidden}.settings-chip{color:#334155;background:#f8fafc;border:1px solid #dbe3ee;border-radius:999px;align-items:center;max-width:100%;min-height:26px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1.1;display:inline-flex}.settings-chip-muted{background:var(--chip);color:var(--primary-600);border-color:#0160852e}.settings-option-list{flex-direction:column;gap:8px;display:flex}.settings-option-row{border:1px solid var(--divider);border-radius:var(--radius);background:#fbfcff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.settings-option-value{color:#0b2238;word-break:break-word;font-weight:700}.settings-option-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-create-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.settings-note{border-radius:var(--radius);color:#475569;background:#f8fafc;border:1px solid #e2e8f0;padding:10px 12px;font-size:13px;line-height:1.45}.settings-summary{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:16px;display:grid}.settings-summary-grid{grid-template-columns:repeat(4,minmax(72px,1fr));gap:8px;min-width:min(100%,420px);display:grid}.settings-summary-label{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.settings-summary-grid>div{border-radius:var(--radius);background:#f8fafc;border:1px solid #e2e8f0;padding:10px 12px}.settings-summary-grid strong{color:#0b2238;font-size:18px}.settings-catalog-modal{width:min(760px, calc(100vw - (var(--modal-margin) * 2)));height:auto;max-height:var(--modal-max-h)}.danger-soft{color:#b91c1c}.danger-soft:hover:not(:disabled){color:#991b1b;background:#fef2f2;border-color:#fecaca}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.overview-summary-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.overview-summary-card{flex-direction:column;grid-column:span 2;justify-content:space-between;gap:8px;min-height:140px;display:flex}.overview-summary-card-wide{grid-column:span 4}.overview-summary-label{color:var(--muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.overview-summary-value{font-size:var(--font-size-2xl);color:#0b2238;font-weight:900;line-height:1.05}.overview-summary-helper,.overview-section-helper{color:var(--muted);font-size:var(--font-size-base);margin:0;line-height:1.45}.overview-layout-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.overview-widget-card{padding-bottom:56px;position:relative}.widget-download-btn{justify-content:center;width:36px;height:36px;min-height:36px;padding:0;position:absolute;bottom:16px;right:16px}.widget-download-btn .material-symbols-rounded{font-size:20px}.overview-span-12{grid-column:span 12}.overview-span-8{grid-column:span 8}.overview-span-6{grid-column:span 6}.overview-span-4{grid-column:span 4}.overview-mini-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.overview-mini-head h3,.overview-head-actions h3{margin:0}.overview-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chart-shell{width:100%;min-width:0;height:clamp(240px,30vh,320px)}.chart-shell-sm{height:clamp(220px,26vh,280px)}.chart-shell-md{height:clamp(260px,32vh,360px)}.chart-shell-lg{height:clamp(280px,36vh,420px)}.report-skeleton-chart{grid-template-columns:42px minmax(0,1fr);align-items:stretch;gap:16px;height:100%;min-height:220px;padding:10px 4px 2px 0;display:grid}.report-skeleton-chart-sm{min-height:180px}.report-skeleton-chart-lg{min-height:280px}.report-skeleton-y-axis{flex-direction:column;justify-content:space-between;padding:4px 0 24px;display:flex}.report-skeleton-y-axis .skeleton{width:30px;height:8px}.report-skeleton-bars{border-left:1px solid var(--border-light);border-bottom:1px solid var(--border-light);align-items:flex-end;gap:10px;min-width:0;padding:0 8px 0 14px;display:flex}.report-skeleton-bar{border-radius:6px 6px 0 0;flex:1 1 0;min-width:12px}.overview-heatmap-scroll{overflow-x:auto}.overview-heatmap-grid{grid-template-columns:72px repeat(24,minmax(34px,1fr));gap:6px;min-width:980px;display:grid}.overview-heatmap-corner,.overview-heatmap-hour,.overview-heatmap-label,.overview-heatmap-cell{text-align:center;border-radius:10px;justify-content:center;align-items:center;min-height:34px;font-size:12px;display:flex}.overview-heatmap-corner,.overview-heatmap-hour,.overview-heatmap-label{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;font-weight:700}.overview-heatmap-cell{font-variant-numeric:tabular-nums;border:1px solid #cbd5e1e6;font-weight:800}.overview-share-list{flex-direction:column;gap:12px;display:flex}.overview-share-row{flex-direction:column;gap:8px;display:flex}.overview-share-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-share-name{color:#0b2238;font-weight:700}.overview-share-value{color:#475569;font-variant-numeric:tabular-nums;font-size:13px}.overview-share-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.overview-share-fill{border-radius:999px;height:100%}.overview-list-card{flex-direction:column;gap:10px;display:flex}.overview-list-row{border-radius:var(--radius);background:#f8fafc;border:1px solid #e2e8f0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.overview-list-position{color:var(--primary-600);font-weight:900}.overview-list-copy{min-width:0}.overview-list-title{color:#0b2238;letter-spacing:.04em;font-weight:800}.overview-list-helper{color:var(--muted);margin-top:4px;font-size:12px}.overview-list-value{color:#0b2238;font-variant-numeric:tabular-nums;font-weight:900}.overview-list-copy .skeleton+.skeleton{margin-top:8px}.kpi-card{padding:12px}.kpi-ranking-card{grid-column:span 2;min-width:0}.kpi-ranking-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.kpi-ranking-columns{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:repeat(2,minmax(52px,auto));gap:12px;font-size:11px;font-weight:700;display:grid}.kpi-ranking-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.kpi-ranking-row{border-radius:var(--radius);background:#f8fafc;border:1px solid #e2e8f0;grid-template-columns:24px minmax(0,1fr) repeat(2,minmax(52px,auto));align-items:center;gap:12px;padding:8px 10px;display:grid}.kpi-ranking-position{color:var(--primary-600);font-weight:800}.kpi-ranking-label{color:#0b2238;min-width:0;font-weight:700}.kpi-ranking-metric{text-align:right;font-variant-numeric:tabular-nums;color:#334155}.chart-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.chart-card-head h3,.section-heading{margin:0}.range-updating-indicator{color:#94a3b8;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.chart-toggle{background:#eef2f7;border:1px solid #dbe3ee;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.chart-toggle-btn{color:#475569;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;min-height:32px;padding:8px 12px;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.chart-toggle-btn.active{color:var(--primary-600);background:#fff;box-shadow:0 2px 8px #0f172a14}.chart-toggle-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.section-footer{justify-content:flex-end;margin-top:12px;display:flex}@media (width<=900px){.app.sidebar-mini .sidebar,.sidebar{width:100%;max-width:400px;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto;transform:translate(-100%)}.app.sidebar-mini .sidebar:hover{width:100%;max-width:400px;padding-left:16px;padding-right:16px}.sidebar-mobile-close{display:inline-flex}.app.sidebar-open .sidebar{transform:translate(0)}.app.sidebar-mini .main,.main,.app.sidebar-mini .sidebar:hover~.main{margin-left:0}.app.sidebar-mini .sb-text{display:block}.app.sidebar-mini .nav-label{opacity:1;width:auto;padding-right:13px;overflow:visible}.app.sidebar-mini .nav-item,.app.sidebar-mini .sidebar:hover .nav-item{text-align:left;justify-content:flex-start;width:100%;margin-left:0;margin-right:0;padding:0}.app.sidebar-mini .sb-brand{flex:auto;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:36px;margin-left:0;margin-right:0;padding:0}.app.sidebar-mini .sb-text{opacity:1;width:auto;overflow:visible}.app.sidebar-mini .nav-item .nav-ico{flex-basis:38px;width:38px;padding:0 7px}.page{padding:60px 12px 14px}.mobile-nav-toggle{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left))}.page-stack{gap:16px}.page-title-group h2{font-size:var(--font-size-xl)}.page-title-group p{font-size:var(--font-size-base)}.card{padding:16px}.page-header,.card-toolbar,.card-toolbar-actions,.page-actions{flex-direction:column;align-items:flex-start}.card-toolbar-actions,.card-toolbar-actions .input,.card-toolbar-actions .btn,.range-select{width:100%}.card-toolbar-actions .btn{justify-content:center}.report-date-range-control,.fup-date-range-picker{width:100%}.report-date-range-control{align-items:stretch}.fup-date-range-trigger{min-height:46px;font-size:var(--font-size-base);gap:10px;padding:0 14px}.fup-date-range-weekdays{min-height:44px}.fup-date-range-weekdays button{font-size:var(--font-size-sm)}.fup-date-range-popover{grid-template-columns:1fr;width:auto;max-height:calc(100vh - 92px);display:grid;position:fixed;top:72px;left:12px;right:12px;overflow-y:auto}.fup-date-range-mobile-head{border-bottom:1px solid var(--border-default);background:var(--bg-card);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.fup-date-range-mobile-head strong,.fup-date-range-mobile-head span{display:block}.fup-date-range-mobile-head span{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:4px}.fup-date-range-presets{border-right:0;border-bottom:1px solid var(--border-default);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.fup-date-range-presets button{min-height:38px;font-size:var(--font-size-base)}.fup-date-range-calendar-panel{padding:14px}.fup-rdp-caption{font-size:var(--font-size-lg)}.fup-rdp-row,.fup-rdp-head-row{grid-template-columns:28px repeat(7,minmax(0,1fr))}.fup-rdp-day{width:32px;height:32px;font-size:var(--font-size-base)}.fup-date-range-actions{flex-direction:column-reverse}.fup-date-range-actions .btn{justify-content:center}.date-range-control{width:100%}.date-range-trigger{min-height:46px;font-size:var(--font-size-base);gap:10px;padding:0 14px}.date-range-trigger .material-symbols-rounded{font-size:20px}.date-range-weekdays{min-height:44px}.date-range-weekdays button{font-size:var(--font-size-sm)}.date-range-popover{grid-template-columns:1fr;width:auto;max-height:calc(100vh - 92px);position:fixed;top:72px;left:12px;right:12px;overflow-y:auto}.date-range-presets{border-right:0;border-bottom:1px solid var(--border-default);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.date-range-presets button{min-height:38px;font-size:14px}.date-range-calendar{padding:14px}.date-range-calendar-head strong{font-size:var(--font-size-lg)}.date-range-calendar-grid{gap:4px}.date-range-day{min-height:34px;font-size:var(--font-size-base)}.date-range-actions{flex-direction:column-reverse}.date-range-actions .btn{justify-content:center}.centered-modal{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));width:auto;transform:none}.alerts-panel,.blacklist-modal,.blocking-alert-modal,.history-detail-modal,.delete-confirm-modal,.settings-catalog-modal{height:auto;min-height:0;max-height:calc(100vh - 28px)}@supports (max-height:100dvh){.alerts-panel,.blacklist-modal,.blocking-alert-modal,.history-detail-modal,.delete-confirm-modal,.settings-catalog-modal{max-height:calc(100dvh - 28px)}}.alerts-panel:not(.centered-modal){right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:calc(100vw - 24px);height:min(520px,100vh - 84px)}.alerts-head{align-items:flex-start;gap:12px;padding:14px}.alerts-head .btn{flex:none}.alerts-body{padding:14px}.modal-actions .btn,.permission-actions .btn{flex:140px;justify-content:center}.form-grid,.settings-option-row,.settings-create-row,.settings-summary{grid-template-columns:1fr}.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.settings-catalog-head{flex-direction:column}.settings-option-actions{justify-content:flex-start}.kpi-ranking-card{grid-column:auto}.overview-summary-grid,.overview-layout-grid{grid-template-columns:1fr;gap:12px}.overview-summary-card,.overview-summary-card-wide,.overview-span-12,.overview-span-8,.overview-span-6,.overview-span-4{grid-column:auto}.overview-mini-head,.overview-head-actions{flex-direction:column;align-items:flex-start;width:100%}.overview-head-actions .btn,.overview-head-actions .chart-toggle,.chart-card-head .chart-toggle{width:100%}.chart-shell{height:230px}.chart-shell-sm{height:220px}.chart-shell-md,.chart-shell-lg{height:240px}.overview-heatmap-scroll{margin:0 -2px;padding-bottom:4px}.overview-heatmap-grid{grid-template-columns:56px repeat(24,minmax(30px,1fr));gap:4px;min-width:860px}.overview-heatmap-corner,.overview-heatmap-hour,.overview-heatmap-label,.overview-heatmap-cell{border-radius:8px;min-height:30px}.kpi-ranking-head{flex-direction:column;align-items:flex-start}.kpi-ranking-row{grid-template-columns:24px minmax(0,1fr) repeat(2,minmax(42px,auto));gap:8px}.kpi-ranking-metric{text-align:right}.chart-card-head{flex-direction:column;align-items:flex-start}.overview-share-head,.overview-list-row{grid-template-columns:24px minmax(0,1fr) auto}.overview-share-head{flex-direction:column;align-items:flex-start}.overview-list-value{grid-column:auto}.form-image-preview,.alert-reference-image,.image-placeholder{max-width:100%}.section-footer{justify-content:flex-start}.table-wide{min-width:640px}}.alert-row{border:1px solid var(--divider);border-radius:var(--radius);background:#fff;padding:16px}.alert-detail-layout{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:20px;min-height:0;display:grid}.alert-detail-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.alert-detail-patente{font-size:clamp(24px,3vw,36px);line-height:1.05;display:block}.alert-detail-meta{color:#334155;font-size:15px}.alert-detail-line{color:#0f172a;line-height:1.45}.alert-detail-capture{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}.alert-detail-capture-label{color:#334155;font-size:13px;font-weight:700;line-height:1.2}.alert-row.red{background:#ef444414;border-color:#ef444459}.alert-row.yellow{background:#f59e0b1a;border-color:#f59e0b59}.alert-row small{color:var(--muted)}.alert-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:0;display:flex}.alert-actions-spaced{border-top:1px solid #eef2f7;padding-top:16px}@media (width>=901px){.blocking-alert-modal .alert-detail-layout,.history-detail-modal .alert-detail-layout{grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr)}.blocking-alert-modal .alert-capture-image,.history-detail-modal .alert-capture-image{object-fit:contain;max-height:min(44vh,520px)}}.close-all-confirm-layer{z-index:140;background:#0f172aad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.close-all-confirm-modal{border-radius:var(--radius);width:min(480px,100vw - 48px);box-shadow:var(--shadow-lg);background:#fff;border:1px solid #e7ecf7;padding:20px}.close-all-confirm-modal strong{color:#0b2238;font-size:18px;line-height:1.25;display:block}.close-all-confirm-modal p{color:#475569;margin:10px 0 0;line-height:1.5}.close-all-confirm-actions{border-top:1px solid #eef2f7;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;display:flex}@media (width<=900px){.close-all-confirm-layer{padding:14px}.close-all-confirm-modal{width:100%}.close-all-confirm-actions .btn{flex:160px;justify-content:center}}
