@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans Thai,Tahoma,sans-serif;color:#182744;background:#f3f6fa;font-synthesis:none;--navy:#061b56;--red:#d71930;--gold:#ffd700;--border:#e5eaf1}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9aa00;outline-offset:3px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0}button:disabled{opacity:.5}button,input,select{transition:background .15s}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:600}small{font-size:11px}svg{flex-shrink:0}.app{display:flex;min-height:100vh}.sidebar{width:252px;background:var(--navy);position:fixed;inset:0 auto 0 0;color:#fff;padding:28px 17px;display:flex;flex-direction:column;z-index:30;border-right:1px solid #153371}.brand{display:flex;gap:12px;align-items:center;padding:0 9px 26px;border-bottom:1px solid #ffffff20}.logo{width:52px;height:58px;object-fit:contain;flex-shrink:0}.logo.small{width:30px;height:35px}.brand b{display:block;font-size:24px;letter-spacing:.5px}.brand span{font-size:10px;letter-spacing:2px;color:#e1c869}.sidebar-caption{font-size:10px;color:#97a8ce;padding:26px 15px 12px;letter-spacing:.5px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{background:transparent;color:#c6d1e9;padding:13px;border-radius:7px;justify-content:flex-start;text-align:left;font-size:13px;min-height:48px}.sidebar nav button span{flex:1}.sidebar nav button:hover{background:#ffffff0d}.sidebar nav button.active{background:#ffd70014;color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.sidebar-bottom{margin-top:auto;padding-top:50px}.sidebar-note{border:1px solid #ffffff20;border-radius:8px;padding:15px 12px;display:flex;gap:12px;align-items:center;color:#e1c869;font-size:11px}.sidebar-note b{font-weight:400;color:#a6b7d9;font-size:10px}.collapse-button{width:100%;background:transparent;color:#b4c1de;margin:18px 0 13px;font-size:11px;justify-content:flex-start;padding:8px 13px}.sidebar-bottom>small{display:block;text-align:center;font-size:9px;letter-spacing:1px;color:#8298c4}.main-shell{margin-left:252px;min-width:0;flex:1}.header{height:84px;background:#fff;border-bottom:1px solid var(--border);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:15px}.header-left{display:flex;align-items:center;gap:13px}.header-left strong{display:block;font-size:14px;font-weight:600}.header-left span{display:block;font-size:11px;color:#7c879b;margin-top:3px}.header-right{display:flex;align-items:center;gap:7px;color:#69758b;font-size:11px}.prototype-dot{width:6px;height:6px;background:#ae8200;border-radius:50%}.header-version{padding:5px 7px;margin-left:12px;background:#f4f6fa;border:1px solid var(--border);border-radius:4px;font-size:10px}main{padding:24px 36px 0;max-width:1900px;margin:auto}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:10px;color:#8a96ac;margin-bottom:25px}.breadcrumb span{color:#475873}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#8b98af;margin-bottom:6px}h1{font-size:29px;letter-spacing:-.6px;line-height:1.4;font-weight:700}.page-heading p{font-size:12px;color:#7a879d;margin-top:6px}.heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.primary,.secondary{padding:10px 15px;border-radius:6px;font-size:11px;white-space:nowrap;min-height:39px}.primary{background:var(--navy);color:#fff}.secondary{background:#fff;color:#3e4d68;border:1px solid #dce3ee}.primary:hover{background:#173573}.secondary:hover{background:#f0f3f9}.date-chip{display:flex;gap:7px;align-items:center;font-size:11px;color:#637189;padding:10px 12px;border:1px solid #dce3ee;border-radius:6px;background:#fff}.demo-banner{display:flex;align-items:center;gap:8px;border:1px solid #efe5bc;background:#fffbee;color:#8e7216;border-radius:6px;padding:10px 14px;font-size:11px;margin-bottom:18px}.demo-banner small{margin-left:auto;color:#9c853c;font-size:10px}.filters{background:#fff;border:1px solid var(--border);border-radius:9px;padding:15px 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.period-tabs{display:flex;border:1px solid #e4e9f1;border-radius:6px;padding:3px;background:#f6f8fb;align-self:center;flex-shrink:0}.period-tabs button{background:transparent;color:#738099;font-size:11px;padding:8px 12px;border-radius:4px}.period-tabs .selected{background:var(--navy);color:#fff}.filter-fields{display:flex;gap:11px;align-items:flex-end;flex-wrap:wrap}.filter-fields label{display:flex;flex-direction:column;gap:5px;min-width:120px}.filter-fields label span{font-size:10px;color:#7b889f}input,select{border:1px solid #dfe5ef;border-radius:5px;background:#fff;color:#3c4e6c;font-size:11px;padding:8px 10px;min-height:36px;max-width:100%}.icon-button{background:#fff;border:1px solid var(--border);border-radius:5px;color:#67768f;min-width:35px;min-height:36px}.period-summary{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:10px;color:#74819b;margin:15px 1px 20px}.period-summary>span{display:flex;gap:6px;align-items:center}.period-summary b{font-weight:500;color:#4a5d78}.current-dot,.previous-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red)}.previous-dot{background:#8b9bb8}.period-summary .status{margin-left:auto;color:#638273}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.kpi{background:#fff;border:1px solid var(--border);border-radius:9px;padding:19px 20px;box-shadow:0 3px 9px #0b1e4303;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--navy)}.kpi-cases:before{background:var(--red)}.kpi-patrol:before{background:#b89c13}.kpi-accidents:before{background:#7487a6}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:#6d7d97;font-size:12px}.kpi-icon{width:35px;height:35px;background:#f1f4fa;color:var(--navy);display:flex;align-items:center;justify-content:center;border-radius:8px}.kpi-cases .kpi-icon{background:#fff0f2;color:var(--red)}.kpi-patrol .kpi-icon{background:#fffbed;color:#ad9113}.kpi-number{font-size:38px;font-weight:700;color:var(--navy);letter-spacing:-1px;margin:10px 0 13px}.kpi-number small{font-weight:400;color:#8d99ad;margin-left:9px;letter-spacing:0;font-size:12px}.kpi-bottom{border-top:1px solid #eff2f6;padding-top:11px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:9px;color:#8995a8}.delta{display:flex;align-items:center;color:#21785d;font-size:10px;background:#eaf7f0;padding:3px 5px;border-radius:4px}.delta.down{color:#a94253;background:#fff0f2}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{font-size:16px}.section-title>span{font-size:10px;color:#8b96a9}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.card{background:#fff;border:1px solid var(--border);border-radius:9px;overflow:hidden;margin-bottom:20px;box-shadow:0 3px 8px #0b1e4302}.chart-grid .card{margin:0}.chart-grid .card:last-child:nth-child(odd){grid-column:1/-1}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 23px 10px}.card-heading h2{font-size:14px}.card-heading p,.report-controls p{font-size:10px;color:#8b96a9;margin-top:4px}.tag{font-size:9px;padding:5px 8px;border:1px solid #e6eaf2;background:#fafbfd;color:#8290a8;border-radius:4px;white-space:nowrap}.chart{height:270px;width:100%;padding:8px 17px}.chart-scroll{overflow-x:auto;max-width:100%}.chart-period{border-top:1px solid #edf0f6;padding:11px 21px;color:#7c88a0;font-size:9px;display:flex;flex-wrap:wrap;gap:5px 20px}.chart-tooltip{background:#fff;border:1px solid var(--border);padding:12px;border-radius:6px;box-shadow:0 5px 20px #10204720;font-size:11px}.chart-tooltip p{margin-top:5px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap;text-align:right}th{color:#8794aa;font-size:10px;font-weight:500;background:#fafbfd;padding:13px 22px}td{padding:13px 22px;border-top:1px solid #edf1f6;color:#526580}th:first-child,td:first-child{text-align:left}td b{color:#233b61}td small{color:#919eaf}tbody tr:hover{background:#fafbfd}.unit-card .chart{height:285px}.trend-note{padding:15px 22px;font-size:11px;color:#74829b}.report-controls{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.report-title{display:flex;justify-content:center;align-items:center;gap:20px;padding:30px 20px;text-align:center}.report-title .logo{width:68px;height:78px}.report-title h3{font-size:14px;font-weight:500;margin-top:5px}.report-title p{font-size:11px;color:#947717;margin-top:7px}.report-meta{padding:0 25px 20px;font-size:11px;color:#758099;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.report-foot{padding:20px;font-size:10px;color:#94a0b2;text-align:center}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;padding:22px 0;color:#93a0b5;font-size:9px;margin-top:26px}.footer-dot{padding:0 8px}.state{padding:60px 20px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:15px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px;color:#78879d}.state button{border-radius:5px;padding:10px 15px}.state h2{color:#435775}.error{color:#b8233e}.notice{display:flex;justify-content:space-between;align-items:center;background:#ecf3ff;border-radius:6px;padding:12px 16px;font-size:12px;margin-bottom:18px}.notice button{background:none;font-size:22px;color:#526580}.mobile-menu,.scrim{display:none}.collapsed .sidebar{width:82px;padding:28px 12px}.collapsed .brand{padding:0 0 25px}.collapsed .brand>div,.collapsed .sidebar-caption,.collapsed nav span,.collapsed nav button>svg:last-child:not(:first-child),.collapsed .sidebar-note,.collapsed .collapse-button span,.collapsed .sidebar-bottom small{display:none}.collapsed nav{margin-top:25px}.collapsed nav button{justify-content:center;padding:13px}.collapsed .main-shell{margin-left:82px}.executive .sidebar{display:none}.executive .main-shell{margin-left:0}.executive{background:#081a3e}.executive main{color:#fff}.executive .header{background:#061b56;color:#fff;border-color:#233758}.executive .header span{color:#b9c8e2}.executive .breadcrumb{display:none}.executive .page-heading{margin-top:10px}.executive .page-heading p,.executive .section-title>span,.executive .period-summary b{color:#becbe0}.executive .kpi-number{font-size:56px}.executive .chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.executive .chart-grid .card:last-child:nth-child(odd){grid-column:auto}.executive .card,.executive .kpi{color:#182744}.executive footer{border-color:#263753;color:#afbdd4}.executive .filters{padding:10px 16px}.executive .period-summary{color:#b5c5de}.executive .demo-banner{background:#102342;color:#e4c566;border-color:#3d4562}@media(min-width:1600px){.chart{height:310px}.kpi-number{font-size:44px}}@media(max-width:1200px){.sidebar{width:220px}.main-shell{margin-left:220px}main{padding:24px 24px 0}.header{padding:0 24px}.filters{flex-wrap:wrap;align-items:center}.filter-fields,.filter-fields label{flex:1}.kpi{padding:15px}.kpi-number{font-size:32px}.date-chip{display:none}.header-right{font-size:10px}.executive .chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.sidebar{width:200px;padding:25px 12px}.main-shell{margin-left:200px}.brand b{font-size:20px}.sidebar nav button{font-size:11px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.chart-grid .card:last-child:nth-child(odd){grid-column:auto}.header-right{display:none}.page-heading{align-items:flex-start}h1{font-size:26px}.card-heading{padding:18px}.executive .chart-grid{grid-template-columns:1fr}.report-controls{flex-direction:column;align-items:flex-start}}@media(max-width:767px){.sidebar,.collapsed .sidebar{transform:translate(-100%);width:252px;padding:25px 17px}.sidebar.open{transform:translate(0)}.sidebar.open .brand>div,.sidebar.open nav span,.sidebar.open .sidebar-caption,.sidebar.open .collapse-button span{display:block}.sidebar.open nav button{justify-content:flex-start}.main-shell,.collapsed .main-shell{margin-left:0}.header{height:75px;padding:0 16px}.header-left{gap:8px}.header-left strong{font-size:11px}.header-left span{font-size:9px}.header-left .logo{width:25px}.mobile-menu{display:inline-flex}.scrim{display:block;position:fixed;inset:0;background:#061b5660;z-index:25}.sidebar.open .brand{padding:0 9px 25px}.sidebar.open nav{margin-top:0}main{padding:18px 16px 0}.breadcrumb{margin-bottom:18px}.page-heading{flex-wrap:wrap;gap:12px}h1{font-size:25px}.page-heading p{font-size:10px}.heading-actions{gap:7px}.demo-banner{font-size:10px;align-items:flex-start}.demo-banner small{display:none}.filters{padding:13px;gap:13px}.period-tabs{width:100%;justify-content:space-between}.period-tabs button{flex:1;padding:9px 5px}.filter-fields{width:100%;gap:9px}.filter-fields label{min-width:100px;width:calc(50% - 8px)}input,select{width:100%;font-size:10px;padding:8px 5px}.period-summary{font-size:9px;gap:6px}.period-summary .status{margin-left:0;width:100%;margin-top:4px}.kpi-grid{gap:10px;margin-bottom:22px}.kpi{padding:13px 12px}.kpi-top{font-size:10px}.kpi-icon{width:29px;height:29px}.kpi-icon svg{width:17px}.kpi-number{font-size:29px}.kpi-number small{font-size:10px;margin-left:5px}.kpi-bottom{font-size:8px;gap:5px}.section-title{align-items:flex-start}.section-title h2{font-size:13px}.section-title>span{font-size:9px;max-width:100px;text-align:right}.card-heading h2{font-size:13px}.tag{font-size:8px}.chart{height:250px;padding:5px 9px}.chart-period{padding:10px 15px;font-size:8px}.chart-grid{gap:14px}.card-heading{padding:16px 15px 10px}.report-title{gap:12px;padding:25px 15px}.report-title h2{font-size:15px}.report-title h3{font-size:12px}.report-title p{font-size:9px}.report-title .logo{width:48px;height:58px}.report-controls{padding:18px 15px}.report-controls .heading-actions{width:100%}.report-controls button{font-size:10px;padding:9px 10px}.report-meta{font-size:10px}.executive .kpi-number{font-size:35px}footer{flex-direction:column;font-size:8px;gap:5px}.executive .header .mobile-menu{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:12mm}.sidebar,.header,.breadcrumb,.page-heading,.demo-banner,.filters,.period-summary,.notice,.kpi-grid,.report-controls,footer{display:none!important}.main-shell{margin:0!important}main{padding:0}.report-preview{border:0;box-shadow:none}.report-preview .table-scroll{overflow:visible}table{font-size:9px;white-space:normal}th,td{padding:7px}tr{break-inside:avoid}.report-title{padding-top:0}.report-foot{font-size:9px}body{background:#fff}}.trend-select{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#74819a;min-width:140px}.trend-table td:first-child,.trend-table td:nth-child(2){white-space:normal;min-width:150px}.report-sheet+.report-sheet{border-top:1px solid #e5eaf1;margin-top:20px}.report-title h3{max-width:470px}.report-preview th,.report-preview td{white-space:normal}.report-preview td:first-child{width:42%}.chart-tooltip{max-width:350px}.kpi-top>span:first-child{max-width:calc(100% - 40px)}.delta.neutral{background:#f1f3f7;color:#6d7e98}@media(max-width:767px){.card-heading:has(.trend-select){flex-wrap:wrap}.trend-select{width:100%}.report-preview table{min-width:560px}.header-version{font-size:9px}.kpi-top{align-items:flex-start}}@media print{@page{size:A4 portrait;margin:12mm}html,body,.app,.main-shell,main{display:block!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;color:#182744!important}.report-preview{display:block!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important;margin:0!important}.report-sheet{break-before:page;page-break-before:always;margin:0!important;border:0!important;overflow:visible!important}.report-sheet:first-child{break-before:auto;page-break-before:auto}.report-title{break-inside:avoid;page-break-inside:avoid;padding:0 0 6mm!important;gap:4mm!important}.report-title .logo{width:15mm!important;height:17mm!important;object-fit:contain}.report-title h2{font-size:14pt!important}.report-title h3{font-size:10pt!important}.report-title p{font-size:8pt!important}.report-meta{display:block!important;font-size:8pt!important;padding:0 0 4mm!important;break-inside:avoid}.report-meta p{margin:1mm 0}.report-preview .table-scroll{overflow:visible!important}.report-preview table{table-layout:fixed;min-width:0!important;width:100%!important;font-size:8pt!important;border-collapse:collapse}.report-preview thead{display:table-header-group}.report-preview tr{break-inside:avoid;page-break-inside:avoid}.report-preview th,.report-preview td{white-space:normal!important;overflow-wrap:anywhere;padding:2mm!important;font-size:8pt!important;line-height:1.4!important}.report-preview th:first-child,.report-preview td:first-child{width:42%}.report-preview th:not(:first-child){width:14.5%}.report-foot{padding:5mm 0 0!important;font-size:7pt!important;break-inside:avoid}.report-preview *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.demo-banner,.notice{display:none!important}}:root{--app-bg:#F3F6FA;--surface:#FFFFFF;--surface-alt:#F6F8FB;--surface-hover:#F0F3F9;--surface-header:#FFFFFF;--text:#182744;--text-strong:#061B56;--text-muted:#586C86;--ui-border:#E5EAF1;--nav-surface:#061B56;--chart-previous:#8B9BB8;--chart-current:#D71930;--brand-red:#D71930;--gold:#FFD700;--focus:#A17D00;color-scheme:light}:root[data-theme=dark]{--app-bg:#080F24;--surface:#142443;--surface-alt:#10203D;--surface-hover:#1C3157;--surface-header:#0D1932;--text:#F4F7FF;--text-strong:#F4F7FF;--text-muted:#A5B7D2;--ui-border:#2C4163;--nav-surface:#050B20;--chart-previous:#7E96C0;--chart-current:#FF6572;--focus:#FFD700;color-scheme:dark}body{background:var(--app-bg)}.header-tools{display:flex;align-items:center;gap:16px}.header-left,.header-left>div{min-width:0}.theme-toggle{display:flex;gap:3px;border:1px solid var(--ui-border);background:var(--surface-alt);border-radius:7px;padding:3px;flex-shrink:0}.theme-toggle button{width:30px;min-height:30px;border-radius:5px;color:var(--text-muted);background:transparent}.theme-toggle button[aria-pressed=true]{color:#061b56;background:gold}.theme-toggle button:hover{background:var(--surface-hover)}.theme-toggle button[aria-pressed=true]:hover{background:#ffe35e}.theme-toggle button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.recharts-legend-item-text{color:var(--text-muted)!important}.chart-period,.kpi-top,.card-heading p,.filter-fields label span,.section-title>span,.trend-select{color:var(--text-muted)}.header-left span,.header-right,.breadcrumb,.page-heading p,.eyebrow,.kpi-bottom,.report-controls p,footer{color:var(--text-muted)}th{color:var(--text-muted)}.recharts-legend-wrapper{max-width:100%}.theme-toggle{min-height:38px}.kpi,.card{box-shadow:0 4px 14px #061b5605;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease,background-color .2s ease}.sidebar nav button,.primary,.secondary,.icon-button,.period-tabs button,.theme-toggle button,input,select{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.sidebar{transition:width .2s ease,transform .2s ease}.sidebar nav button.active{font-weight:600}.sidebar nav button:focus-visible{outline:2px solid #FFD700;outline-offset:2px}.chart-tooltip{border-radius:8px;padding:14px 16px;box-shadow:0 8px 28px #061b5620;max-width:330px;line-height:1.65;border-top:3px solid var(--chart-current)}.chart-tooltip b{display:block;font-size:12px}.chart-tooltip p{font-size:11px}.chart-period,.recharts-legend-wrapper{line-height:1.7}.recharts-legend-item{margin-bottom:3px}.recharts-cartesian-axis-tick-value{font-variant-numeric:tabular-nums}.animated-number{font-variant-numeric:tabular-nums;display:inline-block}.print-number{display:none}.kpi-number{font-variant-numeric:tabular-nums}.delta.adverse{background:#fff0f2;color:#a92e46}.delta.favorable{background:#eaf7f0;color:#1c7055}.delta.neutral{background:#f1f3f7;color:#586c86}.kpi-bottom{line-height:1.6}.kpi-number small{font-variant-numeric:normal}.card-heading{min-height:66px}.state[role=status]{background:linear-gradient(100deg,var(--surface),var(--surface-alt));border-color:var(--ui-border)}.state[role=status]:before{content:"";width:22px;height:22px;border:2px solid var(--ui-border);border-top-color:var(--gold);border-radius:50%;animation:loading-turn .9s linear infinite}.state button{background:var(--surface-alt);color:var(--text-strong)}.state button.primary{background:#061b56;color:#fff}@keyframes loading-turn{to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px #061b5610;border-color:#c7d3e6}.chart-card:hover{box-shadow:0 7px 22px #061b560b;border-color:#c7d3e6}.sidebar nav button:not(.active):hover{background:#ffffff12}.primary:hover{box-shadow:0 3px 10px #061b561a}}:root[data-theme=dark] .app{background:var(--app-bg);color:var(--text)}:root[data-theme=dark] .sidebar{background:var(--nav-surface);border-color:var(--ui-border)}:root[data-theme=dark] .header{background:var(--surface-header);border-color:var(--ui-border);color:var(--text)}:root[data-theme=dark] .header-left span,:root[data-theme=dark] .header-right,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .breadcrumb span,:root[data-theme=dark] .page-heading p,:root[data-theme=dark] .eyebrow{color:var(--text-muted)}:root[data-theme=dark] .header-version,:root[data-theme=dark] .date-chip{background:var(--surface-alt);border-color:var(--ui-border);color:var(--text-muted)}:root[data-theme=dark] .kpi,:root[data-theme=dark] .card,:root[data-theme=dark] .filters,:root[data-theme=dark] .state{background:var(--surface);border-color:var(--ui-border);color:var(--text);box-shadow:0 4px 16px #02071720}:root[data-theme=dark] .kpi-number,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] td b{color:var(--text-strong)}:root[data-theme=dark] .kpi-top,:root[data-theme=dark] .kpi-number small,:root[data-theme=dark] .kpi-bottom,:root[data-theme=dark] .card-heading p,:root[data-theme=dark] .report-controls p,:root[data-theme=dark] .filter-fields label span,:root[data-theme=dark] .trend-select,:root[data-theme=dark] .tag,:root[data-theme=dark] .section-title>span,:root[data-theme=dark] .trend-note,:root[data-theme=dark] .report-meta,:root[data-theme=dark] .report-foot,:root[data-theme=dark] td small{color:var(--text-muted)}:root[data-theme=dark] .kpi-bottom,:root[data-theme=dark] .chart-period,:root[data-theme=dark] td,:root[data-theme=dark] .report-sheet+.report-sheet{border-color:var(--ui-border)}:root[data-theme=dark] .kpi-icon{background:#203657;color:#bdd0f5}:root[data-theme=dark] .kpi-cases .kpi-icon{background:#412940;color:#ff9ba6}:root[data-theme=dark] .kpi-patrol .kpi-icon{background:#363424;color:#ffe476}:root[data-theme=dark] .kpi:before{background:#8aa6d7}:root[data-theme=dark] .kpi-cases:before{background:var(--brand-red)}:root[data-theme=dark] .kpi-patrol:before{background:var(--gold)}:root[data-theme=dark] .demo-banner{background:#1c2940;border-color:#5d573c;color:#ffe58a}:root[data-theme=dark] .demo-banner small,:root[data-theme=dark] .report-title p{color:#ffe58a}:root[data-theme=dark] .period-tabs,:root[data-theme=dark] .tag{background:var(--surface-alt);border-color:var(--ui-border)}:root[data-theme=dark] .period-tabs button{color:var(--text-muted)}:root[data-theme=dark] .period-tabs .selected{background:var(--gold);color:#061b56}:root[data-theme=dark] input,:root[data-theme=dark] select{background:var(--surface-alt);border-color:var(--ui-border);color:var(--text)}:root[data-theme=dark] button:focus-visible,:root[data-theme=dark] input:focus-visible,:root[data-theme=dark] select:focus-visible{outline-color:var(--gold)}:root[data-theme=dark] .secondary,:root[data-theme=dark] .icon-button{background:var(--surface-alt);border-color:var(--ui-border);color:var(--text)}:root[data-theme=dark] .primary{background:#234376;color:#f4f7ff}:root[data-theme=dark] .primary:hover{background:#31568f}:root[data-theme=dark] .secondary:hover,:root[data-theme=dark] .icon-button:hover{background:var(--surface-hover)}:root[data-theme=dark] .period-summary,:root[data-theme=dark] .period-summary b,:root[data-theme=dark] .chart-period{color:var(--text-muted)}:root[data-theme=dark] .period-summary .status{color:#9edcbf}:root[data-theme=dark] .previous-dot{background:var(--chart-previous)}:root[data-theme=dark] .current-dot{background:var(--chart-current)}:root[data-theme=dark] .delta.adverse{background:#43273d;color:#ffb1ba}:root[data-theme=dark] .delta.favorable{background:#173c39;color:#a3e6c7}:root[data-theme=dark] .delta.neutral{background:#243756;color:#a5b7d2}:root[data-theme=dark] th{background:var(--surface-alt);color:#bacbe4}:root[data-theme=dark] td{color:var(--text-muted)}:root[data-theme=dark] tbody tr:hover{background:var(--surface-hover)}:root[data-theme=dark] .chart-tooltip{background:#172c4d;color:var(--text);border-color:#41618e;border-top-color:var(--chart-current);box-shadow:0 8px 28px #00091a60}:root[data-theme=dark] .chart-tooltip p{color:var(--text-muted)}:root[data-theme=dark] .recharts-legend-item-text{color:var(--text-muted)!important}:root[data-theme=dark] .notice{background:#203a61;color:#dce9ff}:root[data-theme=dark] .notice button{color:var(--text)}:root[data-theme=dark] .state.error{color:#ffacb7}:root[data-theme=dark] .state h2{color:var(--text)}:root[data-theme=dark] .scrim{background:#02091abf}:root[data-theme=dark] footer{border-color:var(--ui-border);color:var(--text-muted)}:root[data-theme=dark] .executive{background:var(--app-bg)}:root[data-theme=dark] .executive .header{background:var(--nav-surface)}:root[data-theme=dark] .executive .card,:root[data-theme=dark] .executive .kpi{background:var(--surface);color:var(--text)}@media(hover:hover)and (pointer:fine){:root[data-theme=dark] .kpi:hover,:root[data-theme=dark] .chart-card:hover{border-color:#5b7296;box-shadow:0 8px 24px #02091a60}}@media(max-width:767px){.header-tools{gap:0}.header-left{gap:7px}.header-left strong{font-size:10px;line-height:1.5}.header-left span{font-size:8px;line-height:1.5}.theme-toggle{margin-left:5px}.theme-toggle button{width:27px;min-height:30px}.chart-tooltip{max-width:min(280px,calc(100vw - 42px));padding:10px 12px}.chart-tooltip p{font-size:10px}.chart-card .chart{height:278px}.unit-card .chart{height:308px}.recharts-legend-item{font-size:9px}.kpi-number{font-size:clamp(26px,7.4vw,38px)}.sidebar{transition:transform .2s ease}.scrim{animation:backdrop-in .18s ease-out}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@media(max-width:767px){.recharts-tooltip-wrapper{position:fixed!important;transform:none!important;inset:auto 16px 16px!important;z-index:50;max-width:calc(100vw - 32px)}.recharts-tooltip-wrapper .chart-tooltip{max-width:100%;box-shadow:0 8px 30px #061b5630}}@media print{*,*:before,*:after{transition:none!important;animation:none!important}}.kpi,.card{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.sidebar nav button,.primary,.secondary,.icon-button,.period-tabs button,.theme-toggle button,input,select{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chart-legend{font-size:10px;gap:7px 18px;align-items:flex-start}.chart-legend>span{display:flex;align-items:center;gap:7px;white-space:normal;line-height:1.7}.chart-legend i{width:10px;height:10px;flex-shrink:0;border-radius:2px;display:inline-block}.chart-legend{overflow-wrap:anywhere}@media(max-width:767px){.chart-legend{font-size:9px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kpi:hover{transform:none!important}}@media print{.theme-toggle{display:none!important}:root[data-theme=dark]{color-scheme:light}:root[data-theme=dark] .report-preview,:root[data-theme=dark] .report-sheet,:root[data-theme=dark] .report-title,:root[data-theme=dark] .report-meta,:root[data-theme=dark] .table-scroll,:root[data-theme=dark] table{background:#fff!important;color:#182744!important}:root[data-theme=dark] .report-preview h2,:root[data-theme=dark] .report-preview h3,:root[data-theme=dark] .report-preview td b{color:#233b61!important}:root[data-theme=dark] .report-preview th{background:#fafbfd!important;color:#586c86!important}:root[data-theme=dark] .report-preview td,:root[data-theme=dark] .report-preview td small,:root[data-theme=dark] .report-preview .report-meta,:root[data-theme=dark] .report-preview .report-foot{color:#526580!important;border-color:#e5eaf1!important}:root[data-theme=dark] .report-preview .report-title p{color:#947717!important}.animated-number>span:first-child{display:none}.print-number{display:inline!important}}.dashboard-tabs{display:flex;gap:6px;padding:6px;margin:8px 0 22px;border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;max-width:100%;overflow-x:auto}.dashboard-tabs button{flex:1;min-width:0;padding:13px 10px;white-space:nowrap;background:transparent;color:var(--secondary,#586C86);border-radius:7px;font-weight:600;font-size:13px;border:1px solid transparent}.dashboard-tabs button[aria-selected=true]{background:#061b56;color:#fff;border-color:#061b56;box-shadow:0 3px 8px #061b5620}[data-theme=dark] .dashboard-tabs{background:#142443;border-color:#2c4163}[data-theme=dark] .dashboard-tabs button{color:#a5b7d2}[data-theme=dark] .dashboard-tabs button[aria-selected=true]{color:#080f24;background:gold;border-color:gold}.dashboard-tabs button:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid #FFD700;outline-offset:3px}.arrest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.arrest-grid .kpi,.operation-grid .kpi,.accident-summary .kpi,#panel-accident .kpi-grid .kpi{min-height:143px}.arrest-card{border-top:3px solid #D71930;min-width:0}.arrest-card.kpi-cases{border-top-color:gold}.arrest-card.kpi-sea{border-top-color:#061b56}[data-theme=dark] .arrest-card.kpi-sea{border-top-color:#7e96c0}.arrest-card .kpi-top{align-items:flex-start;min-height:40px}.arrest-card .kpi-top>span:first-child{white-space:normal;line-height:1.5;overflow-wrap:anywhere}.arrest-card .kpi-number{margin:8px 0 12px}.arrest-submetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.arrest-submetrics dt{font-size:10px;color:#586c86;line-height:1.5}.arrest-submetrics dd{margin:4px 0 0;font-size:17px;font-weight:600;color:#061b56}[data-theme=dark] .arrest-submetrics dt{color:#a5b7d2}[data-theme=dark] .arrest-submetrics dd{color:#f4f7ff}.card-note,.dashboard-note{font-size:11px;color:#586c86;line-height:1.6}.card-note{margin:10px 0 0}.dashboard-note{display:none}[data-theme=dark] .card-note,[data-theme=dark] .dashboard-note{color:#a5b7d2}.arrest-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px;align-items:start}.arrest-chart-grid>*,.arrest-chart-grid .card{min-width:0}.arrest-chart-grid .card-heading{align-items:flex-start;gap:8px;flex-wrap:wrap}.arrest-chart-grid .card-heading h2{font-size:16px;line-height:1.6}.arrest-chart-grid .unit-card{margin-bottom:0}.comparison-summary{margin-top:14px;padding:20px}.comparison-summary h3{font-size:13px;margin-bottom:14px}.comparison-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.comparison-summary dt{font-size:11px;color:#586c86}.comparison-summary dd{font-size:17px;font-weight:600;margin:4px 0 0;overflow-wrap:anywhere}[data-theme=dark] .comparison-summary dt{color:#a5b7d2}.arrest-detail-charts{margin:0 0 22px;padding:20px}.arrest-detail-charts summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.7}.arrest-detail-charts .chart-grid{margin-top:20px;margin-bottom:0}.operation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-grid .kpi-top>span:first-child{white-space:normal;line-height:1.5}.accident-summary{display:grid;gap:16px;margin-bottom:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.accident-summary .kpi-top>span:first-child{line-height:1.6;white-space:normal}[role=tabpanel]{min-width:0}@media(max-width:1100px){.arrest-chart-grid{grid-template-columns:1fr}.arrest-grid,.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accident-summary{grid-template-columns:1fr}}@media(max-width:767px){.dashboard-tabs button{font-size:11px;padding:12px 9px;flex:0 0 auto;min-width:110px}.dashboard-tabs{gap:4px}.arrest-grid{grid-template-columns:1fr}.arrest-card .kpi-top{min-height:0}.arrest-card .kpi-number{font-size:36px}.arrest-submetrics dd{font-size:18px}.operation-grid{grid-template-columns:1fr}.arrest-chart-grid{gap:16px}.comparison-summary,.arrest-detail-charts{padding:16px}.arrest-chart-grid .card-heading h2{font-size:14px}}@media print{.dashboard-tabs,.arrest-grid,.dashboard-note,.arrest-chart-grid,.arrest-detail-charts,.statistics-detail{display:none!important}}.header-region{position:sticky;top:0;z-index:20;background:var(--surface-header)}.header-region .header{position:relative;z-index:2;gap:16px}.header-left{flex:1;min-width:0}.header-left>div{min-width:0}.header-tools{flex-shrink:0;gap:8px}.filter-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:7px;background:var(--surface-alt);color:var(--text-muted);font-size:11px}.filter-toggle:hover{background:var(--surface-hover);color:var(--text-strong)}.filter-toggle[aria-expanded=true]{background:#061b56;color:#fff;border-color:#061b56}[data-theme=dark] .filter-toggle[aria-expanded=true]{background:gold;color:#080f24;border-color:gold}.filter-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.filter-drawer{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .28s ease,visibility .28s;pointer-events:none}.filter-drawer.is-open{grid-template-rows:1fr;visibility:visible;pointer-events:auto}.filter-drawer-clip{min-height:0;overflow:hidden}.filter-drawer-content{transform:translateY(-100%);transition:transform .28s ease;background:#dce4f2;padding:12px 32px;border-bottom:1px solid var(--ui-border);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}.filter-drawer.is-open .filter-drawer-content{transform:translateY(0)}.header-region .range-toolbar{display:grid;grid-template-columns:minmax(0,max-content) max-content;justify-content:end;gap:12px;align-items:end;padding:0;border:0;border-radius:0;background:transparent}.header-region .date-field,.header-region .unit-field{width:auto;min-width:0}.header-region .date-trigger,.header-region .unit-field select{height:52px;min-height:52px}.header-region .date-trigger b{font-size:13px}.arrest-card .kpi-number{margin:8px 0 16px}.date-panel{max-width:calc(100vw - 32px)}@media(max-width:1200px){.filter-drawer-content{padding:12px 24px}.header-right{display:none}}@media(max-width:767px){.header-region .header{padding:0 12px;gap:8px}.header-tools{gap:5px}.header-left{gap:8px}.filter-drawer-content{padding:12px 16px}.header-region .range-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.header-region .date-field{grid-column:1/-1}.header-region .unit-field select{height:44px;min-height:44px}.header-region .date-trigger{height:auto;min-height:52px;padding:10px 12px}.date-panel{max-width:calc(100vw - 20px)}}@media(max-width:520px){.filter-toggle{width:36px;padding:7px}.filter-toggle>span{display:none}.header-left strong{font-size:11px;line-height:1.4}.header-left span{font-size:8px;line-height:1.4}}@media(prefers-reduced-motion:reduce){.filter-drawer,.filter-drawer-content{transition:none}}@media print{.header-region{display:none!important}}[data-theme=dark] .filter-drawer-content{background:#111e3b;border-color:#344564}.header-region .date-field,.header-region .unit-field{gap:0}.header-region .date-trigger{padding:7px 12px}.header-region .date-trigger b{font-size:12px}.page-heading{margin-bottom:20px}.sidebar-note .sidebar-motto{font-size:13px;font-weight:600;line-height:1.5;color:inherit}.kpi{padding:12px 16px}.kpi-icon{width:30px;height:30px}.kpi-number{display:flex;align-items:baseline;justify-content:center;text-align:center;line-height:1.15;margin:8px 0 10px}.kpi-number small{margin-left:6px}.kpi-bottom{justify-content:center;padding-top:8px}.arrest-card .kpi-top{min-height:30px}.arrest-card .kpi-number{margin:8px 0 10px}.kpi .card-note{font-size:10px;line-height:1.5;margin-top:8px}@media(max-width:767px){.kpi{padding:12px}.arrest-card .kpi-top{min-height:0}}@media(max-width:767px){.kpi-grid,.accident-summary{gap:10px;margin-bottom:18px}.kpi{padding:10px 12px}.kpi-top{line-height:1.4}.kpi-number{font-size:clamp(23px,7.8vw,29px);margin:7px 0 8px}.arrest-card .kpi-number{font-size:32px;margin:7px 0 8px}.kpi-number small{font-size:10px;margin-left:5px}.kpi-bottom{padding-top:7px}}.header-region{background:transparent}.filter-drawer-clip{display:flex;justify-content:flex-end}.filter-drawer-content{width:max-content;max-width:calc(100% - 64px);margin-right:32px;padding:8px 10px;border:1px solid var(--ui-border);border-top:0;border-radius:0 0 8px 8px}.sidebar-note{width:fit-content;max-width:100%;margin:0 auto;padding:9px 12px;gap:8px;justify-content:center;line-height:1.4}.sidebar-note>span{text-align:center}@media(max-width:1200px){.filter-drawer-content{max-width:calc(100% - 48px);margin-right:24px}}@media(max-width:767px){.filter-drawer-content{width:calc(100% - 24px);max-width:calc(100% - 24px);margin-right:12px;padding:8px 10px}.header-region .range-toolbar{gap:10px}}.sidebar-note{border:0;background:transparent;padding:0;gap:8px;align-items:center}.sidebar-note>span{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.theme-toggle{padding:0;border:0;background:transparent;min-height:38px}.theme-toggle button{width:38px;height:38px;border:1px solid var(--ui-border);border-radius:7px;background:gold;color:#061b56}@media(max-width:767px){.header .header-tools{gap:6px;flex-shrink:0}.header .theme-toggle{margin-left:0}.header .mobile-menu{width:36px;height:38px;min-width:36px;padding:0;justify-content:center;flex-shrink:0}.report-board .report-download-actions button{min-height:44px;padding:8px;font-size:11px;line-height:1.4;justify-content:center;gap:5px}.report-board .report-download-actions button svg{width:16px;height:16px;flex-shrink:0}.report-board .report-view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow:visible}.report-board .report-view-tabs button{min-width:0;width:100%;min-height:44px;padding:8px 2px;font-size:clamp(9px,2.5vw,11px);white-space:nowrap;line-height:1.4}.report-board .report-open-image{min-height:40px;font-size:11px;padding:5px 0}.dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.dashboard-tabs button{min-width:0;min-height:44px;padding:7px 4px;white-space:normal;font-size:11px;line-height:1.4}.report-controls .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-controls .heading-actions button{min-height:44px;min-width:0;white-space:normal;padding:8px;font-size:11px;justify-content:center;gap:5px}.report-controls .heading-actions button:last-child{grid-column:1/-1}.date-panel .date-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.date-panel .date-presets button{min-height:40px;font-size:11px;padding:8px 4px}.date-panel .date-mode-tabs button,.date-panel .date-panel-footer button{min-height:40px}}@media(min-width:1101px){.arrest-chart-grid{align-items:stretch}.arrest-chart-grid>.card,.arrest-chart-grid>div>.card{margin-bottom:0}.arrest-chart-grid .chart{height:285px}}@media(min-width:1600px){.arrest-chart-grid .chart{height:310px}}@media(max-width:767px){.dashboard-motion .arrest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-motion .arrest-card{padding:9px 7px;min-width:0}.dashboard-motion .arrest-card .kpi-top{min-height:54px;font-size:9.5px;line-height:1.4}.dashboard-motion .arrest-card .kpi-top>span:first-child{line-height:1.4}.dashboard-motion .arrest-card .kpi-icon{display:none}.dashboard-motion .arrest-card .kpi-number{flex-direction:column;align-items:center;gap:2px;font-size:clamp(22px,6vw,30px);margin:6px 0 8px;line-height:1.15}.dashboard-motion .arrest-card .kpi-number small{font-size:9px;margin-left:0}.dashboard-motion .arrest-card .kpi-bottom{font-size:8px;line-height:1.4;min-height:28px;padding-top:7px;padding-right:7px;white-space:normal;text-align:center}.dashboard-motion .arrest-card .kpi-selected-mark{right:4px;bottom:6px}.dashboard-motion .arrest-card .kpi-selected-mark svg{width:12px;height:12px}.dashboard-motion .operation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-motion .operation-grid .kpi{padding:9px 7px;min-width:0}.dashboard-motion .operation-grid .kpi-top{min-height:54px;font-size:9px;line-height:1.4;align-items:flex-start}.dashboard-motion .operation-grid .kpi-top>span:first-child{line-height:1.4}.dashboard-motion .operation-grid .kpi-icon{display:none}.dashboard-motion .operation-grid .kpi-number{flex-direction:column;align-items:center;gap:2px;font-size:clamp(20px,5.8vw,29px);margin:6px 0 8px;line-height:1.15}.dashboard-motion .operation-grid .kpi-number small{font-size:9px;margin-left:0}.dashboard-motion .operation-grid .kpi-bottom{font-size:8px;line-height:1.4;min-height:28px;padding-top:7px;padding-right:7px;white-space:normal;text-align:center}.dashboard-motion .operation-grid .kpi-selected-mark{right:4px;bottom:6px}.dashboard-motion .operation-grid .kpi-selected-mark svg{width:12px;height:12px}.dashboard-motion .accident-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-motion .accident-summary .kpi{padding:9px 7px;min-width:0}.dashboard-motion .accident-summary .kpi-top{min-height:54px;font-size:8.5px;line-height:1.4;align-items:flex-start}.dashboard-motion .accident-summary .kpi-top>span:first-child{line-height:1.4}.dashboard-motion .accident-summary .kpi-icon{display:none}.dashboard-motion .accident-summary .kpi-number{flex-direction:column;align-items:center;gap:2px;font-size:clamp(20px,5.8vw,29px);margin:6px 0 8px;line-height:1.15}.dashboard-motion .accident-summary .kpi-number small{font-size:9px;margin-left:0}.dashboard-motion .accident-summary .kpi-bottom{font-size:8px;line-height:1.4;min-height:28px;padding-top:7px;padding-right:7px;white-space:normal;text-align:center}.dashboard-motion .accident-summary .kpi-selected-mark{right:4px;bottom:6px}.dashboard-motion .accident-summary .kpi-selected-mark svg{width:12px;height:12px}}.sidebar{overflow-y:auto}.sidebar .sidebar-bottom{flex-shrink:0}.sidebar .sidebar-demo-banner{display:flex;align-items:flex-start;gap:8px;padding:10px;margin:0 0 12px;border:1px solid #ffd70055;background:#ffd7000a;color:#ffe28a}.sidebar .sidebar-demo-copy{min-width:0}.sidebar .sidebar-demo-copy span{display:block;font-size:10px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.sidebar .sidebar-demo-copy small{display:block;margin:4px 0 0;color:#b4c1de;font-size:9px;line-height:1.6}.collapsed .sidebar-demo-banner{justify-content:center;padding:10px 6px}.collapsed .sidebar-demo-copy{display:none}.dashboard-motion .kpi,.dashboard-motion .chart-card,.dashboard-motion .unit-card{animation:dashboard-card-in .35s ease-out backwards}@keyframes dashboard-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.dashboard-motion .kpi:nth-child(2),.dashboard-motion .chart-card:nth-child(2),.dashboard-motion .unit-card:nth-child(2){animation-delay:50ms}.dashboard-motion .kpi:nth-child(3),.dashboard-motion .chart-card:nth-child(3),.dashboard-motion .unit-card:nth-child(3){animation-delay:.1s}.dashboard-motion .kpi:nth-child(4),.dashboard-motion .chart-card:nth-child(4),.dashboard-motion .unit-card:nth-child(4){animation-delay:.15s}.dashboard-motion .kpi:nth-child(5),.dashboard-motion .chart-card:nth-child(5),.dashboard-motion .unit-card:nth-child(5){animation-delay:.2s}.dashboard-motion .kpi:nth-child(6),.dashboard-motion .chart-card:nth-child(6),.dashboard-motion .unit-card:nth-child(6){animation-delay:.25s}}@media(prefers-reduced-motion:reduce){.dashboard-motion .kpi,.dashboard-motion .chart-card,.dashboard-motion .unit-card{animation:none}}@media print{.dashboard-motion .kpi,.dashboard-motion .chart-card,.dashboard-motion .unit-card{animation:none}}.touch-chart-details{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:calc(100vw - 32px);box-shadow:0 8px 30px #061b5640;border-radius:8px}.touch-chart-details .chart-tooltip{max-width:none;padding-right:44px}.touch-chart-close{position:absolute;top:5px;right:5px;min-width:44px;min-height:44px;background:transparent;color:var(--text-strong);font-size:24px}.animation-toggle{flex-shrink:0;width:38px;height:38px;min-height:38px;border:1px solid var(--ui-border);border-radius:7px;background:#b91c1c;color:#fff;padding:0;transition:background-color .18s ease}.animation-toggle[aria-checked=true]{background:#15803d}.animation-toggle-emoji{font-size:19px;line-height:1;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.animation-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}:root[data-animation-enabled=false] .dashboard-motion .kpi,:root[data-animation-enabled=false] .dashboard-motion .chart-card,:root[data-animation-enabled=false] .dashboard-motion .unit-card{animation:none!important}@media(prefers-reduced-motion:reduce){:root[data-animation-enabled=true] .dashboard-motion .kpi,:root[data-animation-enabled=true] .dashboard-motion .chart-card,:root[data-animation-enabled=true] .dashboard-motion .unit-card{animation:none!important}}@media print{.animation-toggle{display:none!important}}@media print{:root[data-animation-enabled] .dashboard-motion .kpi,:root[data-animation-enabled] .dashboard-motion .chart-card,:root[data-animation-enabled] .dashboard-motion .unit-card{animation:none!important}}.dashboard-motion .selectable-kpi{position:relative;display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}:root .dashboard-motion .selectable-kpi[aria-pressed=true]{border-color:var(--focus);background:color-mix(in srgb,var(--surface) 94%,var(--focus) 6%);box-shadow:inset 0 0 0 1px var(--focus)}.kpi-selected-mark{position:absolute;right:8px;bottom:7px;display:flex;color:var(--focus);pointer-events:none}.kpi-selected-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.selectable-kpi:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media(prefers-reduced-motion:no-preference){:root[data-animation-enabled=true] .dashboard-motion .selectable-kpi{transition:transform .3s ease-out,box-shadow .3s ease-out,border-color .3s ease-out}@media(hover:hover)and (pointer:fine){:root[data-animation-enabled=true] .dashboard-motion .selectable-kpi:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 28px #061b5620;border-color:color-mix(in srgb,var(--ui-border),var(--focus) 25%)}:root[data-theme=dark][data-animation-enabled=true] .dashboard-motion .selectable-kpi:hover{box-shadow:0 10px 28px #02091a60}}:root[data-animation-enabled=true] .dashboard-motion .selectable-kpi:active{transform:translateY(0) scale(.98)}}:root[data-animation-enabled=false] .dashboard-motion .selectable-kpi{transform:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){:root[data-animation-enabled] .dashboard-motion .selectable-kpi{animation:none!important;transform:none!important;transition:none!important}}@media print{:root[data-animation-enabled] .dashboard-motion .selectable-kpi{animation:none!important;transform:none!important;transition:none!important}}.dashboard-motion :is(.kpi-grid,.accident-summary){gap:clamp(24px,3vw,48px);padding:8px}.dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi{--kpi-edge-left:#D71930;--kpi-edge-top:#FF6572;--kpi-icon-color:#D71930;--kpi-icon-bg:#FFF0F2;--kpi-depth:inset 3px 0 var(--kpi-edge-left),inset 0 3px var(--kpi-edge-top);scale:1;translate:0;transform:none!important;box-shadow:var(--kpi-depth),0 5px 12px #061b5614}.dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-drugs,.kpi-fish,.kpi-trauma){--kpi-edge-left:#7C3AED;--kpi-edge-top:#C084FC;--kpi-icon-color:#7C3AED;--kpi-icon-bg:#F3E8FF}.dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-sea,.kpi-waterVessel,.kpi-drowning){--kpi-edge-left:#0F766E;--kpi-edge-top:#2DD4BF;--kpi-icon-color:#0F766E;--kpi-icon-bg:#CCFBF1}.dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-smuggling,.kpi-patrol,.kpi-risk,.kpi-collision){--kpi-edge-left:#B45309;--kpi-edge-top:#F59E0B;--kpi-icon-color:#B45309;--kpi-icon-bg:#FEF3C7}.dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-warrant,.kpi-port,.kpi-lost){--kpi-edge-left:#2563EB;--kpi-edge-top:#60A5FA;--kpi-icon-color:#2563EB;--kpi-icon-bg:#DBEAFE}.dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-other,.kpi-reports,.kpi-fatalities){--kpi-edge-left:#64748B;--kpi-edge-top:#94A3B8;--kpi-icon-color:#475569;--kpi-icon-bg:#E2E8F0}.dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi .kpi-icon{background:var(--kpi-icon-bg);color:var(--kpi-icon-color)}:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi{border-left-color:var(--kpi-edge-left);border-top-color:var(--kpi-edge-top)}.dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi:before{background:var(--kpi-edge-left)}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-cases,.kpi-accidents){--kpi-icon-bg:#45223C;--kpi-icon-color:#FDA4AF}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-drugs,.kpi-fish,.kpi-trauma){--kpi-icon-bg:#35245A;--kpi-icon-color:#D8B4FE}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-sea,.kpi-waterVessel,.kpi-drowning){--kpi-icon-bg:#123D43;--kpi-icon-color:#5EEAD4}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-smuggling,.kpi-patrol,.kpi-risk,.kpi-collision){--kpi-icon-bg:#4A2A16;--kpi-icon-color:#FBBF24}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-warrant,.kpi-port,.kpi-lost){--kpi-icon-bg:#1D3767;--kpi-icon-color:#93C5FD}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) :is(.kpi-other,.kpi-reports,.kpi-fatalities){--kpi-icon-bg:#2A3547;--kpi-icon-color:#CBD5E1}:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi{transition:scale .28s ease-out,translate .28s ease-out,box-shadow .2s ease-out,background-color .2s ease-out,border-color .2s ease-out!important}:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi:focus-visible{outline:2px solid var(--kpi-edge-left);outline-offset:4px}@media(hover:hover)and (pointer:fine){:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi:hover{scale:1.07;translate:0 -4px;z-index:2}:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi:hover{box-shadow:var(--kpi-depth),0 10px 24px color-mix(in srgb,var(--kpi-edge-left) 30%,transparent);border-color:color-mix(in srgb,var(--kpi-edge-top) 58%,var(--ui-border))}:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi:active{scale:.98;translate:0;transition-duration:70ms!important}}:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]{background:color-mix(in srgb,var(--surface) 92%,var(--kpi-edge-left) 8%);border-color:var(--kpi-edge-left);border-top-color:var(--kpi-edge-top);box-shadow:var(--kpi-depth),0 0 0 1px var(--kpi-edge-left),0 0 18px color-mix(in srgb,var(--kpi-edge-left) 38%,transparent)}:root[data-theme=light] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]{box-shadow:var(--kpi-depth),0 0 0 1px var(--kpi-edge-left),0 8px 20px #061b561c,0 0 16px color-mix(in srgb,var(--kpi-edge-left) 22%,transparent)}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]{background:color-mix(in srgb,var(--surface) 92%,#fff 8%)}:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi .kpi-selected-mark{color:var(--kpi-edge-left)}:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]{scale:1.07;translate:0;z-index:2}@media(hover:hover)and (pointer:fine){:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]{scale:1;translate:0}:root[data-animation-enabled=true] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi[aria-pressed=true]:hover{scale:1.07;translate:0 -4px}}@media(max-width:767px){.dashboard-motion :is(.kpi-grid,.accident-summary){gap:18px;padding:8px}.dashboard-motion .selectable-kpi .kpi-top{position:relative;padding-right:0;padding-top:22px}.dashboard-motion .selectable-kpi .kpi-icon{display:flex;position:absolute;right:0;top:0;width:20px;height:20px;border-radius:5px}.dashboard-motion .selectable-kpi .kpi-icon svg{width:13px;height:13px}}:root[data-animation-enabled=false] .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi{scale:1!important;translate:0!important;transition:none!important}@media print{:root .dashboard-motion :is(.kpi-grid,.accident-summary) .selectable-kpi{scale:1!important;translate:0!important;transition:none!important}}.dashboard-motion :is(.kpi-grid,.accident-summary) .kpi-survivors{--kpi-edge-left:#15803D;--kpi-edge-top:#4ADE80;--kpi-icon-color:#15803D;--kpi-icon-bg:#DCFCE7}:root[data-theme=dark] .dashboard-motion :is(.kpi-grid,.accident-summary) .kpi-survivors{--kpi-icon-color:#86EFAC;--kpi-icon-bg:#163E32}.selected-unit-chart .unit-heading-copy{min-width:0}.selected-unit-chart .unit-heading-slot{display:grid}.selected-unit-chart .unit-heading-slot>*{grid-area:1/1;min-width:0}.selected-unit-chart .unit-heading-reserve{visibility:hidden;pointer-events:none}.unit-peak-note{padding:10px 20px;font-size:10px;line-height:1.7;color:var(--text-muted);border-top:1px solid var(--ui-border)}.history-selection .historical-trend{margin-top:24px}.history-legend span{display:inline-flex;align-items:center;gap:8px}.history-legend svg{flex:0 0 28px}.historical-details{margin-top:20px}.historical-details .card-heading{flex-wrap:wrap;gap:12px}.historical-details [hidden]{display:none!important}.historical-details tbody tr:nth-child(odd)>td{background:#fff}.historical-details tbody tr:nth-child(2n)>td{background:#f0f4fa}[data-theme=dark] .historical-details tbody tr:nth-child(odd)>td{background:#142747}[data-theme=dark] .historical-details tbody tr:nth-child(2n)>td{background:#1c3152}.historical-details thead th{background:#dce6f5;color:#18365f;font-weight:700;border-bottom:2px solid #9bb1d0}.historical-details .historical-summary tbody tr:nth-child(odd)>td{background:#e5f3ee;color:#143f3a}.historical-details .historical-summary tbody tr:nth-child(2n)>td{background:#d7ebe4;color:#143f3a}[data-theme=dark] .historical-details thead th{background:#304b70;color:#f4f7ff;border-bottom-color:#7294bc}[data-theme=dark] .historical-details .historical-summary tbody tr:nth-child(odd)>td{background:#123b43;color:#d5f5eb}[data-theme=dark] .historical-details .historical-summary tbody tr:nth-child(2n)>td{background:#194952;color:#d5f5eb}.historical-details .historical-summary td b,.historical-details .historical-summary td small{color:inherit}.historical-trend{--history-label-outline: #ffffff}[data-theme=dark] .historical-trend{--history-label-outline: #142747}:root .dashboard-motion .history-selection .kpi-grid .kpi-cases{--kpi-edge-left:#D71930;--kpi-edge-top:#FF6572;--kpi-icon-color:#D71930;--kpi-icon-bg:#FFF0F2}:root .dashboard-motion .history-selection .kpi-grid .kpi-reports{--kpi-edge-left:#0F766E;--kpi-edge-top:#2DD4BF;--kpi-icon-color:#0F766E;--kpi-icon-bg:#CCFBF1}:root .dashboard-motion .history-selection .kpi-grid .kpi-patrol{--kpi-edge-left:#B45309;--kpi-edge-top:#F59E0B;--kpi-icon-color:#B45309;--kpi-icon-bg:#FEF3C7}:root .dashboard-motion .history-selection .kpi-grid .kpi-accidents{--kpi-edge-left:#7C3AED;--kpi-edge-top:#C084FC;--kpi-icon-color:#7C3AED;--kpi-icon-bg:#F3E8FF}:root[data-theme=dark] .dashboard-motion .history-selection .kpi-grid .kpi-cases{--kpi-icon-bg:#45223C;--kpi-icon-color:#FDA4AF}:root[data-theme=dark] .dashboard-motion .history-selection .kpi-grid .kpi-reports{--kpi-icon-bg:#123D43;--kpi-icon-color:#5EEAD4}:root[data-theme=dark] .dashboard-motion .history-selection .kpi-grid .kpi-patrol{--kpi-icon-bg:#4A2A16;--kpi-icon-color:#FBBF24}:root[data-theme=dark] .dashboard-motion .history-selection .kpi-grid .kpi-accidents{--kpi-icon-bg:#35245A;--kpi-icon-color:#D8B4FE}:root .dashboard-motion .history-selection .kpi-grid .selectable-kpi:not([aria-pressed=true]){background:color-mix(in srgb,var(--surface) 94%,var(--kpi-edge-left) 6%)}.range-toolbar{gap:16px;align-items:flex-end}.date-field{flex:1;min-width:0}.date-field-label,.unit-field>span{display:block;font-size:11px;color:var(--text-muted);margin-bottom:7px}.date-trigger{width:100%;min-height:58px;border:1px solid var(--ui-border);border-radius:8px;background:var(--surface);color:var(--text-strong);display:flex;align-items:center;gap:13px;padding:11px 16px;text-align:left}.date-trigger>span{flex:1;min-width:0}.date-trigger b{display:block;font-size:14px;line-height:1.5}.date-trigger small{display:block;font-size:10px;color:var(--text-muted);margin-top:3px}.date-trigger:hover{border-color:var(--chart-previous);background:var(--surface-alt)}.date-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.unit-field{width:210px;max-width:100%;flex-shrink:0}.unit-field select{width:100%;height:58px;color:var(--text-strong);background:var(--surface);border:1px solid var(--ui-border);border-radius:8px;padding:12px}.range-reset{height:58px;width:42px;flex-shrink:0}.date-panel{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid var(--ui-border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px #02081960;overflow:auto}.date-panel::backdrop{background:#020b2b66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.date-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--ui-border)}.date-panel h2{font-size:18px;color:var(--text-strong)}.date-panel-heading p{font-size:11px;color:var(--text-muted);margin-top:5px}.date-panel button{font-family:inherit}.date-panel .icon-button{background:transparent;color:var(--text-muted);width:34px;height:34px;border-radius:6px}.date-panel .icon-button:hover{background:var(--surface-hover)}.date-panel-body{display:grid;grid-template-columns:148px minmax(0,1fr)}.date-presets{padding:15px 10px;border-right:1px solid var(--ui-border);background:var(--surface-alt)}.date-presets button{width:100%;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;text-align:left;border-radius:6px;padding:12px 11px;font-size:12px}.date-presets button:hover{background:var(--surface-hover);color:var(--text-strong)}.date-presets button[aria-pressed=true]{background:#061b56;color:#fff}.date-panel-content{min-width:0;padding:18px}.dual-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.range-calendar{min-width:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:3px;border:1px solid var(--ui-border);border-radius:7px;padding:5px;margin-bottom:10px}.calendar-heading>div{display:flex;min-width:0}.calendar-heading select{padding:5px 3px;border:0;background:transparent;font-size:12px;color:var(--text-strong);min-width:0;width:auto;border-radius:5px}.calendar-heading>button{height:31px;width:28px;display:grid;place-items:center;background:transparent;color:var(--text-muted);border-radius:5px;flex-shrink:0}.calendar-heading>button:hover{background:var(--surface-hover)}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.calendar-week>span{font-size:10px;text-align:center;color:var(--text-muted);padding:8px 0}.calendar-week [role=gridcell]{margin:3px 0;min-width:0}.calendar-week button{height:35px;width:100%;background:transparent;border-radius:6px;color:var(--text);font-size:12px;padding:0;display:block;border:1px solid transparent}.calendar-week .outside-month{color:var(--text-muted)}.calendar-week .in-range{background:#e8edf8}.calendar-week .range-start{border-radius:7px 0 0 7px}.calendar-week .range-end{border-radius:0 7px 7px 0}.calendar-week .range-start.range-end{border-radius:7px}.calendar-week button.range-edge{background:#061b56;color:#fff;font-weight:600;opacity:1}.calendar-week button[aria-current=date]:not(.range-edge){color:#c51a31;font-weight:700;border-color:var(--chart-current)}.calendar-week button:hover{border-color:var(--chart-current);background:var(--surface-hover)}.date-panel button:focus-visible,.date-panel select:focus-visible,.date-panel input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.date-mode-tabs{display:flex;gap:4px;padding:4px;background:var(--surface-alt);border-radius:7px;margin-top:18px}.date-mode-tabs button{flex:1;min-width:0;font-size:11px;padding:9px 4px;border-radius:5px;background:transparent;color:var(--text-muted)}.date-mode-tabs button[aria-pressed=true]{background:var(--surface);color:var(--text-strong);box-shadow:0 1px 4px #061b5618}.range-inputs{display:flex;gap:12px;margin-top:12px}.range-inputs label{font-size:10px;color:var(--text-muted);flex:1;min-width:0}.range-inputs input{width:100%;display:block;background:var(--surface-alt);color:var(--text-strong);border:1px solid var(--ui-border);margin-top:5px;padding:9px 10px;border-radius:6px;font-size:12px}.range-comparison{font-size:10px;color:var(--text-muted);margin-top:12px;line-height:1.7}.range-error{font-size:11px;color:#c51a31;margin-top:12px}.date-panel-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;background:var(--surface);border-top:1px solid var(--ui-border)}.date-panel-footer>span{font-size:11px;color:var(--text-muted);line-height:1.6}.date-panel-footer>div{display:flex;gap:8px}.date-panel button:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .date-presets button[aria-pressed=true],[data-theme=dark] .calendar-week button.range-edge{background:gold;color:#080f24}[data-theme=dark] .calendar-week .in-range{background:#263b60}[data-theme=dark] .calendar-week button[aria-current=date]:not(.range-edge),[data-theme=dark] .range-error{color:#ff8993}@media(max-width:767px){.range-toolbar{gap:12px;align-items:flex-end}.date-field{width:100%;flex-basis:100%}.date-trigger b{font-size:12px}.unit-field{flex:1;width:auto}.unit-field select,.range-reset{height:43px}.date-panel{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.date-panel-heading{padding:15px}.date-panel-body{grid-template-columns:1fr}.date-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--ui-border);padding:8px;gap:3px}.date-presets button{justify-content:center;padding:10px 3px;font-size:10px}.date-presets svg{display:none}.date-panel-content{padding:12px}.dual-calendar{gap:15px;grid-template-columns:1fr}.range-calendar:last-child{border-top:1px solid var(--ui-border);padding-top:12px}.calendar-week button{height:34px}.date-panel-footer{padding:12px;align-items:flex-end}.date-panel-footer>div{flex-shrink:0}.date-panel-footer button{font-size:11px;padding:10px}.date-panel-footer>span{font-size:10px;max-width:110px}}@media print{.range-toolbar,.date-panel{display:none!important}}.report-board{border:1px solid var(--ui-border);border-radius:12px;background:var(--surface);padding:18px;margin-bottom:22px}.report-board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.report-board-toolbar h2{display:flex;align-items:center;gap:8px;color:var(--text-strong);font-size:16px}.report-board-toolbar p{font-size:11px;color:var(--text-muted);margin-top:5px}.report-download-actions{display:flex;gap:8px;flex-shrink:0}.report-download-actions button{min-height:42px;font-size:11px;white-space:nowrap}.report-view-tabs{display:flex;gap:5px;padding:5px;margin-bottom:16px;border-radius:8px;background:var(--surface-alt);overflow-x:auto}.report-view-tabs button{flex:1;min-width:max-content;min-height:42px;padding:9px 14px;border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px}.report-view-tabs button[aria-selected=true]{background:#061b56;color:#fff}[data-theme=dark] .report-view-tabs button[aria-selected=true]{background:gold;color:#061b56}.report-image-panel{min-width:0}.report-image-panel figure{margin:0}.report-image-viewport{position:relative;width:100%;aspect-ratio:16/9;contain:layout paint;overflow:hidden;border:1px solid var(--ui-border);border-radius:8px;background:var(--surface-alt)}.report-image{width:100%;height:100%;object-fit:contain;display:block}.report-image-viewport .report-image-state{position:absolute;inset:0;min-height:0}.report-image-panel figcaption{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;font-size:10px;color:var(--text-muted)}.report-image-panel .report-open-image{background:transparent;padding:4px 0;text-decoration:underline;min-height:36px;display:inline-flex;align-items:center;gap:5px;color:var(--text-strong);white-space:nowrap}.report-image-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:12px;color:var(--text-muted)}.report-download-message{font-size:11px;color:var(--text-strong);margin-top:10px}@media(max-width:1100px){.report-board-toolbar{align-items:flex-start;flex-direction:column}.report-download-actions{width:100%;flex-wrap:wrap}}@media(max-width:767px){.report-board{padding:12px;margin-bottom:18px}.report-download-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.report-download-actions button{min-width:0;min-height:46px;padding:8px 4px;gap:4px;font-size:10px;white-space:normal;line-height:1.4}.report-view-tabs button{flex:0 0 auto;padding:8px 11px;min-height:44px}.report-image-panel figcaption{line-height:1.5}.report-board-toolbar h2{font-size:14px}.report-image-state{min-height:170px}}.report-download-actions button svg{flex-shrink:0}.report-download-actions .report-download-morning{background:#6550a5;color:#fff;border:1px solid #54408F}.report-download-actions .report-download-single{background:#173b88;color:#fff;border:1px solid #173B88}.report-download-actions .report-download-all{background:#0b716a;color:#fff;border:1px solid #0B716A}[data-theme=dark] .report-download-actions .report-download-morning{background:#7056b4;color:#fff;border-color:#9e86d8}[data-theme=dark] .report-download-actions .report-download-single{background:#245a9c;border-color:#5289c8}[data-theme=dark] .report-download-actions .report-download-all{background:#0b716a;border-color:#3ba79d}.report-download-actions button:hover:not(:disabled){filter:brightness(1.08)}.report-download-actions button:focus-visible{outline:3px solid var(--text-strong);outline-offset:3px}@media(max-width:767px){.report-download-actions button svg{width:14px;height:14px}}@media print{.report-board{display:none!important}}.report-viewer{width:min(1200px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--surface);color:var(--text-strong);margin:auto;overflow:hidden}.report-viewer::backdrop{background:#000000bf}.report-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.report-viewer-toolbar h2{font-size:14px}.report-viewer-controls{display:flex;align-items:center;gap:5px}.report-viewer-controls button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-alt);color:var(--text-strong);border-radius:6px;font-size:12px}.report-viewer-controls button:disabled{opacity:.4}.report-viewer-controls span{font-size:12px;min-width:40px;text-align:center}.report-viewer-stage{max-height:calc(100dvh - 100px);overflow:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}.report-viewer-stage img{display:block;max-width:none;height:auto}@media(max-width:767px){.report-viewer{width:calc(100vw - 16px);padding:8px}.report-viewer-toolbar{flex-wrap:wrap}.report-viewer-toolbar h2{width:100%}.report-viewer-controls{width:100%;justify-content:flex-end}.report-viewer-stage{max-height:calc(100dvh - 130px)}}.report-save-dialog{width:min(900px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text-strong);border:1px solid var(--ui-border);border-radius:12px;padding:18px;margin:auto}.report-save-dialog::backdrop{background:#000000bf}.report-save-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.report-save-heading h2{font-size:17px}.report-save-heading button{min-width:44px;min-height:44px}.report-save-help{font-size:12px;line-height:1.7;color:var(--text-muted);margin:10px 0}.report-save-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.report-save-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.report-save-actions :is(a,button),.report-save-images button{min-height:44px;white-space:normal}.report-save-images figure{margin:18px 0 0;padding:12px;background:var(--surface-alt);border:1px solid var(--ui-border);border-radius:8px}.report-save-images figcaption{font-size:12px;line-height:1.6;margin-bottom:10px}.report-save-images img{display:block;width:100%;height:auto;object-fit:contain;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}.report-save-images button{margin-top:12px}.report-save-loading,.report-save-message{font-size:12px;line-height:1.7;margin:14px 0}@media(max-width:767px){.report-save-dialog{padding:12px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.report-save-actions{flex-direction:column}.report-save-images figure{padding:8px}}@media print{.report-save-dialog{display:none!important}}.report-save-link{display:block;width:100%;margin-top:8px}.text-report-trigger{height:38px;flex-shrink:0;padding:0 11px;border:1px solid var(--ui-border);border-radius:7px;background:var(--surface-alt);color:var(--text-strong);font-size:11px;gap:6px}.text-report-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.text-report-toast{position:fixed;right:16px;bottom:16px;z-index:100;border-radius:8px;background:var(--surface);color:var(--text-strong);box-shadow:0 5px 25px #0003;font-size:12px}.text-report-toast:not(:empty){padding:12px 16px;border:1px solid var(--ui-border)}.text-report-dialog{width:min(680px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid var(--ui-border);border-radius:14px;background:var(--surface);color:var(--text);overflow:hidden}.text-report-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.text-report-dialog::backdrop{background:#02091abf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.text-report-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--ui-border)}.text-report-heading h2{display:flex;align-items:center;gap:9px;font-size:18px;color:var(--text-strong)}.text-report-heading h2 svg{color:var(--chart-current)}.text-report-heading p{font-size:12px;color:var(--text-muted);margin-top:4px}.text-report-heading button{width:40px;height:40px;flex-shrink:0;border-radius:7px;background:transparent;color:var(--text-muted)}.text-report-heading button:hover{background:var(--surface-hover)}.text-report-body{padding:20px 22px;min-height:0;overflow:hidden}.text-report-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;border:1px solid var(--ui-border);background:var(--surface-alt);border-radius:10px;padding:18px}.text-report-scroll pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.8;color:var(--text-strong);-webkit-user-select:text;user-select:text}.text-report-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100%;text-align:center;font-size:12px;color:var(--text-muted)}.text-report-state a{color:var(--text-strong)}.text-report-dialog .text-report-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;margin:0;border-top:1px solid var(--ui-border)}.text-report-footer p{font-size:10px;color:var(--text-muted);line-height:1.6}.text-report-footer button{min-height:42px;flex-shrink:0;font-size:12px;gap:7px;padding:10px 14px}.text-report-footer [role=alert]{color:var(--chart-current)}@media(max-width:767px){.header .header-tools{gap:5px}.header .text-report-trigger{width:36px;padding:0}.text-report-trigger span{display:none}.text-report-dialog{width:calc(100vw - 20px);height:min(760px,calc(100dvh - 20px));max-height:calc(100dvh - 20px)}.text-report-heading{padding:13px 14px}.text-report-heading h2{font-size:16px}.text-report-heading p{font-size:11px}.text-report-body{padding:12px}.text-report-scroll{padding:13px}.text-report-scroll pre{font-size:12px;line-height:1.75}.text-report-dialog .text-report-footer{padding:12px;gap:8px}.text-report-footer button{font-size:11px;padding:9px 10px;min-height:44px}.text-report-footer>div{min-width:0}.text-report-footer p{font-size:9px}}@media(max-width:767px){.header{height:75px;min-height:75px;padding:0 12px;flex-wrap:nowrap;gap:8px;align-items:center}.header .header-left{flex:1;min-width:0;gap:8px;align-items:center}.header .header-left>div{min-width:0}.header .mobile-menu{width:38px;min-width:38px;height:38px}.header-left strong{font-size:clamp(9px,2.7vw,11px);line-height:1.3}.header-left span{font-size:8px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header .header-tools{margin-left:0;gap:5px;align-items:center}}@media print{.text-report-trigger,.text-report-dialog,.text-report-toast{display:none!important}}@media(max-width:1000px){.header .text-report-trigger,.header .filter-toggle{width:38px;height:38px;padding:0;flex-shrink:0}.header .text-report-trigger span,.header .filter-toggle span{display:none}}
