@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-400:oklch(70.7% .022 261.325);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[64px\]{margin-left:64px}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-3{height:calc(var(--spacing) * 3)}.h-\[13px\]{height:13px}.h-\[14px\]{height:14px}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-\[13px\]{width:13px}.w-\[14px\]{width:14px}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-lg{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-blue-500{color:var(--color-blue-500)}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (hover:hover){.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:text-primary\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--primary) 80%,transparent)}}}}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar-background:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(14.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(14.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar-background:oklch(14.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(26.9% 0 0);--sidebar-ring:oklch(43.9% 0 0)}:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-sidebar:#111827;--bg-sidebar-hover:#1f2937;--bg-sidebar-active:#ffffff14;--bg-card:#fff;--bg-input:#f1f5f9;--bg-table-header:#f8fafc;--bg-table-row-hover:#f8fafc;--bg-badge-active:#ecfdf5;--bg-badge-down:#fef2f2;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-sidebar:#9ca3af;--text-sidebar-active:#fff;--text-on-primary:#fff;--border-color:#e5e7eb;--border-light:#f3f4f6;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-success:#059669;--accent-danger:#dc2626;--accent-warning:#d97706;--accent-info:#2563eb;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #00000014;--radius:8px;--sidebar-width:200px;--sidebar-collapsed-width:64px;--header-height:52px;--transition:.15s ease}[data-theme=dark]{--bg-primary:#0f1117;--bg-secondary:#18191f;--bg-sidebar:#0f1117;--bg-sidebar-hover:#1f2937;--bg-card:#18191f;--bg-input:#1f2937;--bg-table-header:#1a1b23;--bg-table-row-hover:#1f2937;--bg-badge-active:#064e3b;--bg-badge-down:#7f1d1d;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-tertiary:#6b7280;--text-sidebar:#6b7280;--border-color:#2d2f3a;--border-light:#23252f;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 2px 8px #0000004d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Noto Sans JP,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.8;overflow-x:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);z-index:100;height:100vh;transition:width var(--transition);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-brand{min-height:var(--header-height);cursor:pointer;border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:12px 16px;display:flex}.sidebar-brand-icon{background:var(--accent-primary);color:#fff;letter-spacing:-.02em;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.sidebar-brand-text{white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.sidebar-brand-title{color:#e5e7eb;letter-spacing:-.01em;font-size:13px;font-weight:600;line-height:1.3}.sidebar-brand-subtitle{color:var(--text-tertiary);letter-spacing:.04em;font-size:10px}.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:8px;display:flex;overflow-y:auto}.nav-section-label{color:#4b5563;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:20px 12px 6px;font-size:10px;font-weight:600;overflow:hidden}.sidebar.collapsed .nav-section-label{visibility:hidden;height:16px;padding:8px 0 0}.nav-item{color:var(--text-sidebar);cursor:pointer;transition:all var(--transition);white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.nav-item:hover{background:var(--bg-sidebar-hover);color:#d1d5db}.nav-item:hover svg{color:#d1d5db}.nav-item.active{background:var(--bg-sidebar-active)}.nav-item.active,.nav-item.active svg{color:var(--text-sidebar-active)}.nav-item svg{color:#6b7280;width:18px;height:18px;transition:color var(--transition);flex-shrink:0}.nav-item-label{text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .nav-item-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:8px}.nav-badge{background:var(--accent-danger);color:#fff;text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:600;line-height:18px}.sidebar.collapsed .nav-badge{display:none}.sidebar-footer{border-top:1px solid #ffffff0f;padding:8px}.sidebar-collapse-btn{color:#6b7280;cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;display:flex}.sidebar-collapse-btn:hover{background:var(--bg-sidebar-hover);color:#d1d5db}.sidebar-collapse-btn svg{width:18px;height:18px;transition:transform var(--transition);flex-shrink:0}.sidebar.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar.collapsed .sidebar-collapse-label{display:none}.sidebar-copyright{text-align:center;color:#9ca3af;white-space:nowrap;padding:6px 6px 2px;font-size:10px;overflow:hidden}.sidebar-copyright span{display:block}.header{top:0;left:var(--sidebar-width);height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:90;transition:left var(--transition);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;right:0}.sidebar.collapsed~.header,.sidebar.collapsed~.main .header{left:var(--sidebar-collapsed-width)}.header-left{align-items:center;gap:16px;display:flex}.header-page-title{color:var(--text-primary);font-size:16px;font-weight:600}.header-right{gap:12px}.header-btn,.header-right{align-items:center;display:flex}.header-btn{height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;gap:6px;padding:0 8px;position:relative;overflow:hidden}.header-btn.with-text{border:1px solid var(--border-color);width:auto;min-width:32px}.header-btn:hover{background:var(--bg-input);color:var(--text-primary)}.header-btn svg{width:14px;height:14px}.header-btn-text{font-size:13px;font-weight:500}#langLabel,#themeLabel,.header-btn span:not(.header-btn-text){display:none}.header-divider{background:var(--border-color);width:1px;height:20px;margin:0 8px}.header-user{gap:8px;margin-right:8px}.header-avatar,.header-user{align-items:center;display:flex}.header-avatar{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;width:28px;height:28px;font-size:11px;font-weight:600}.header-user-name{font-size:13px}.header-logout-btn,.header-user-name{color:var(--text-secondary);font-weight:500}.header-logout-btn{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .1s}.header-logout-btn:hover{background:var(--bg-input);color:var(--text-primary)}.header-logout{display:none}.main{margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));transition:margin-left var(--transition);padding:24px}.sidebar.collapsed~.main{margin-left:var(--sidebar-collapsed-width)}.page{animation:fadeIn .3s;display:none}.page.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.filter-bar{background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border-color);box-shadow:var(--shadow-xs);flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:12px 16px}.filter-bar,.filter-group{align-items:center;display:flex}.filter-group{gap:8px}.filter-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.filter-select{border:1px solid var(--border-color);background:var(--bg-input);height:32px;color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;min-width:120px;padding:0 12px;font-size:13px}.filter-select:focus{border-color:var(--accent-primary);background:var(--bg-secondary)}.filter-separator{background:var(--border-color);width:1px;height:24px}.time-range-btns{background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;padding:2px;display:flex}.time-range-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .1s}.time-range-btn:hover{color:var(--text-primary)}.time-range-btn.active{background:var(--text-primary);color:var(--bg-primary);font-weight:600;box-shadow:0 1px 2px #0000001a}[data-theme=dark] .time-range-btn.active{color:#111827;background:#fff}.filter-spacer{flex:1}.refresh-group{color:var(--text-tertiary);align-items:center;gap:8px;font-size:13px;display:flex}.refresh-select{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;padding:4px 8px;font-size:13px}.refresh-time{color:var(--text-secondary);font-family:monospace;font-size:12px}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:20px;display:flex}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.card-label{color:var(--text-primary);font-size:15px;font-weight:600}.card-icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.card-icon svg{width:20px;height:20px}.card-icon.blue{color:#3b82f6;background:#eff6ff}.card-icon.green{color:#10b981;background:#ecfdf5}.card-icon.amber{color:#f59e0b;background:#fffbeb}.card-icon.purple{color:#8b5cf6;background:#f3e8ff}.card-icon.red{color:#ef4444;background:#fef2f2}[data-theme=dark] .card-icon.blue{background:#3b82f61a}[data-theme=dark] .card-icon.green{background:#10b9811a}[data-theme=dark] .card-icon.amber{background:#f59e0b1a}[data-theme=dark] .card-icon.purple{background:#8b5cf61a}[data-theme=dark] .card-icon.red{background:#ef44441a}.card-value{color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:700;line-height:1.2}.card-meta{align-items:center;gap:6px;margin-bottom:16px;font-size:12px;display:flex}.card-trend{font-weight:600}.card-trend.up{color:var(--accent-success)}.card-trend.down{color:var(--accent-danger)}.card-trend-label{color:var(--text-tertiary)}.card-sub{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:0;padding-top:12px;display:flex}.card-sub-item{align-items:center;gap:6px;font-size:12px;display:flex}.card-sub-value{color:var(--text-primary);font-weight:600}.card-sub-label{color:var(--text-secondary)}.card-sub-dot{border-radius:50%;width:8px;height:8px}.card-sub-dot.green{background:var(--accent-success)}.card-sub-dot.red{background:var(--accent-danger)}.chart-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:20px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.chart-title{color:var(--text-primary);font-size:15px;font-weight:600}.chart-actions{gap:8px;display:flex}.chart-export-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .1s;display:flex}.chart-export-btn:hover{background:var(--bg-input);color:var(--text-primary)}.chart-export-btn svg{width:14px;height:14px}.chart-body{width:100%;height:300px}.table-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.table-title{color:var(--text-primary);font-size:15px;font-weight:600}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--bg-table-header);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600}td,th{padding:12px 20px}td{border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-table-row-hover)}.status-badge{border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:6px;height:6px;display:block}.status-badge.active{background:var(--bg-badge-active);color:var(--accent-success)}.status-badge.active:before{background:var(--accent-success)}.status-badge.down{background:var(--bg-badge-down);color:var(--accent-danger)}.status-badge.down:before{background:var(--accent-danger)}.status-badge.pending{color:var(--accent-warning);background:#fffbeb}.status-badge.pending:before{background:var(--accent-warning)}.detect-badge{border:1px solid #0000;border-radius:12px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.detect-badge.person{color:#3b82f6;background:#eff6ff;border-color:#dbeafe}.detect-badge.car{color:#ea580c;background:#fff7ed;border-color:#ffedd5}.detect-badge.bear{color:#dc2626;background:#fef2f2;border-color:#fee2e2}.table-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.table-info{color:var(--text-tertiary);font-size:12px}.table-pagination{gap:4px;display:flex}.page-btn{border:1px solid var(--border-light);background:var(--bg-secondary);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:12px;transition:all .1s;display:flex}.page-btn:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.page-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.live-grid{gap:12px;margin-bottom:16px;display:grid}.live-grid.g1x1{grid-template-columns:1fr}.live-grid.g2x2{grid-template-columns:repeat(2,1fr)}.live-grid.g3x3{grid-template-columns:repeat(3,1fr)}.live-cell{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.live-cell:hover{box-shadow:var(--shadow-sm)}.live-video{aspect-ratio:16/9;color:#6b7280;background:#111;justify-content:center;width:100%;font-size:14px}.live-cell-footer,.live-video{align-items:center;display:flex}.live-cell-footer{justify-content:space-between;padding:8px 12px}.live-cell-label{color:var(--text-primary);font-size:13px;font-weight:600}.live-cell-status{font-size:12px}.grid-btn{color:var(--text-tertiary);transition:all var(--transition);border-radius:6px;padding:5px 10px;font-size:13px}.grid-btn:hover{color:var(--text-primary)}.live-item{border-radius:var(--radius);border:1px solid var(--border-color);background:#000;position:relative;overflow:hidden}.live-item video{object-fit:cover;width:100%;height:100%}.live-label{color:#fff;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:500;display:flex;position:absolute;top:12px;left:12px}.live-status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #22c55e}.recording-video{aspect-ratio:16/9;border-radius:var(--radius);background:#111;justify-content:center;align-items:center;width:60%;margin-bottom:16px;display:flex;position:relative}.live-video-placeholder{color:#ffffffbf;flex-direction:column;align-items:center;gap:8px;display:flex}.live-video-placeholder svg{width:48px;height:48px}.timeline-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:24px;padding:16px}.timeline-track{background:var(--bg-input);cursor:pointer;border-radius:4px;height:48px;margin:16px 0;position:relative;overflow:hidden}.timeline-fill{border-right:2px solid var(--accent-primary);background:#2563eb1a;width:0;transition:none;left:0}.timeline-fill,.timeline-marker{position:absolute;top:0;bottom:0}.timeline-marker{background:var(--accent-danger);z-index:10;width:2px}.timeline-event{cursor:pointer;border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%)}.timeline-event.detection{background:var(--accent-warning)}.timeline-event.alert{background:var(--accent-danger)}.timeline-event.motion{background:var(--accent-info)}.timeline-event:hover{z-index:5;transform:translate(-50%)scale(1.5)}.timeline-labels{color:var(--text-tertiary);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.map-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);height:600px;margin-bottom:24px;padding:20px;position:relative;overflow:hidden}.map-canvas{background:var(--bg-input);width:100%;height:100%;position:relative}.map-bg{opacity:.1;background-image:radial-gradient(var(--text-tertiary) 1px,transparent 1px);background-size:20px 20px;position:absolute;inset:0}.filter-select:disabled{opacity:.6;background-color:var(--bg-input);color:var(--text-tertiary);cursor:not-allowed;border-color:var(--border-color)}.map-pin{cursor:pointer;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.map-pin svg{filter:drop-shadow(0 2px 4px #0003);width:32px;height:32px;transition:transform .2s}.map-pin:hover svg{transform:scale(1.1)translateY(-4px)}.map-pin.active{color:var(--accent-success)}.map-pin.down{color:var(--accent-danger)}.map-pin-label{background:var(--bg-card);box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:11px;font-weight:600}.map-pin-badge{background:var(--accent-primary);color:#fff;border:2px solid var(--bg-card);border-radius:10px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gauge-grid{grid-template-columns:repeat(auto-fill,240px);gap:16px;min-height:210px;margin-bottom:24px;display:grid}.meter-gauge{text-align:center;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-color);padding:16px}.meter-val{color:var(--text-primary);font-size:24px;font-weight:700}.meter-unit{color:var(--text-tertiary);font-size:12px}.settings-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-color);margin-bottom:24px;padding:24px}.settings-title{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:12px;font-size:16px;font-weight:600}.setting-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.setting-row:last-child{margin-bottom:0}.setting-info h4{margin-bottom:4px;font-size:14px;font-weight:600}.setting-info p{color:var(--text-secondary);font-size:12px}.setting-control input{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-size:13px}.setting-control input:focus{border-color:var(--accent-primary)}.toggle-switch{background:var(--border-color);cursor:pointer;border-radius:12px;width:44px;height:24px;transition:all .2s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle-switch.on{background:var(--accent-success)}.toggle-switch.on:after{transform:translate(20px)}.save-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-weight:600;transition:all .2s}.save-btn:hover{background:var(--accent-primary-hover)}.grid-selector{gap:4px;display:flex}.grid-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.grid-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.dashboard-tabs{border-bottom:2px solid var(--border-color);gap:0;margin-bottom:16px;display:flex}.dashboard-tab{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition),border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 24px;font-size:14px;font-weight:600}.dashboard-tab:hover{color:var(--text-secondary)}.dashboard-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.dashboard-tab-panel{display:none}.dashboard-tab-panel.active{display:block}.custom-range-group{align-items:center;gap:6px;display:none}.custom-range-group.visible{display:flex}.custom-range-group input[type=date]{border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:all var(--transition);border-radius:6px;outline:none;padding:5px 8px;font-size:13px;font-weight:500}.custom-range-group input[type=date]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #2563eb1a}.custom-range-separator{color:var(--text-tertiary);padding:0 2px;font-size:13px}.custom-range-apply{background:var(--accent-primary);color:#fff;cursor:pointer;transition:opacity var(--transition);white-space:nowrap;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600}.custom-range-apply:hover{opacity:.85}.card-sub.card-alert-list{gap:4px;max-height:105px;display:flex;overflow:hidden auto;flex-flow:column!important}.card-alert-row{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.card-alert-time{color:var(--text-primary);min-width:40px;font-weight:600}.card-alert-device{color:var(--text-secondary)}.card-alert-cam{color:var(--text-tertiary)}.chart-legend{justify-content:flex-end;align-items:center;gap:16px;padding:8px 20px 0;display:flex}.chart-legend.chart-legend-wrap{flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;padding:8px 20px}.chart-legend-item{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.chart-legend-item.active{color:var(--text-primary)}.chart-legend-item:not(.active){opacity:.4}.chart-legend-circle{width:12px;height:12px;transition:all var(--transition);border:2px solid;border-radius:50%;flex-shrink:0}.chart-legend-item.active .chart-legend-circle{border-color:#0000}.chart-legend-item:not(.active) .chart-legend-circle{border-color:var(--text-tertiary);background:0 0!important}.chart-legend-line{border-top:2px solid;flex-shrink:0;width:18px;height:0}.image-link{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition);align-items:center;text-decoration:none;display:inline-flex}.image-link:hover{color:var(--accent-primary)}.detect-badge.bicycle{color:#047857;background:#0596690f;border-color:#0000}.detect-badge.meter{color:#b45309;background:#d977060f;border-color:#0000}.detect-badge.alert{color:#dc2626;background:#dc26261f;border-color:#0000}[data-theme=dark] .detect-badge.bicycle{color:#6ee7b7;background:#10b98126}[data-theme=dark] .detect-badge.meter{color:#fcd34d;background:#f59e0b26}[data-theme=dark] .detect-badge.alert{color:#fca5a5;background:#ef44442e}.anomaly-banner{border-radius:var(--radius);color:#991b1b;background:#dc26260a;border:1px solid #dc26261f;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.anomaly-banner svg{flex-shrink:0;width:16px;height:16px}[data-theme=dark] .anomaly-banner{color:#fca5a5;background:#ef44441a;border-color:#ef444433}.gauge-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-xs);text-align:center;padding:20px}.gauge-card:hover{box-shadow:var(--shadow-sm)}.gauge-wrapper{width:160px;height:90px;margin:0 auto 12px;position:relative;overflow:hidden}.gauge-bg{border:10px solid var(--bg-input);border-bottom:none;border-radius:80px 80px 0 0}.gauge-bg,.gauge-zone{width:160px;height:80px;position:absolute;top:0;left:0}.gauge-zone{border:10px solid;border-bottom:none;border-radius:80px 80px 0 0}.gauge-zone.zone-green{clip-path:polygon(0 100%,0 0,var(--zone-green-end,33%) 0,var(--zone-green-end,33%) 100%);border-color:#22c55e}.gauge-zone.zone-yellow{clip-path:polygon(var(--zone-yellow-start,33%) 100%,var(--zone-yellow-start,33%) 0,var(--zone-yellow-end,66%) 0,var(--zone-yellow-end,66%) 100%);border-color:#eab308}.gauge-zone.zone-red{clip-path:polygon(var(--zone-red-start,66%) 100%,var(--zone-red-start,66%) 0,100% 0,100% 100%);border-color:#dc2626}.gauge-fill{width:160px;height:80px;clip-path:polygon(0 100%,0 0,var(--gauge-pct,50%) 0,var(--gauge-pct,50%) 100%);border:10px solid #22c55e;border-bottom:none;border-radius:80px 80px 0 0;position:absolute;top:0;left:0}.gauge-fill.warning{border-color:#eab308}.gauge-fill.danger{border-color:#dc2626}.gauge-needle{transform-origin:bottom;border-radius:2px;width:3px;height:60px;transition:transform .6s;bottom:0;left:79px}.gauge-center,.gauge-needle{background:var(--text-primary);position:absolute}.gauge-center{border-radius:50%;width:12px;height:12px;bottom:-6px;left:74px}.gauge-value{color:var(--text-primary);letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:1}.gauge-value.val-warning{color:#eab308}.gauge-value.val-danger{color:#dc2626}[data-theme=dark] .gauge-value.val-warning{color:#facc15}[data-theme=dark] .gauge-value.val-danger{color:#f87171}.gauge-unit{margin-top:4px;font-size:15px}.gauge-label,.gauge-unit{color:var(--text-secondary)}.gauge-label{word-break:break-all;margin-top:8px;font-size:12px;font-weight:600;line-height:1.3}.gauge-range{justify-content:space-between;margin-top:6px;display:flex}.gauge-range span{color:var(--text-tertiary);font-size:10px}.di-section-title{color:var(--text-primary);margin-bottom:12px;font-size:16px;font-weight:700}.di-detail-grid,.di-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.di-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition);flex-direction:column;min-height:200px;display:flex;overflow:hidden}.di-card:hover{box-shadow:var(--shadow-sm)}.di-card-title{border-bottom:1px solid var(--border-light);color:var(--text-primary);align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;display:flex}.di-card-title .card-icon{width:28px;height:28px}.di-card-body{flex:1;padding:16px 20px}.di-big-value{color:var(--text-primary);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.di-big-sub{color:var(--text-tertiary);font-size:16px;font-weight:500}.di-small-text{color:var(--text-tertiary);margin-top:2px;margin-bottom:8px;font-size:13px}.di-dot-row{margin-top:4px}.di-dot-row,.di-storage-row{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;display:flex}.di-storage-row{padding:4px 0}.di-cam-row{color:var(--text-secondary);align-items:center;gap:6px;padding:3px 0;font-size:14px;display:flex}.di-pie-wrapper{width:120px;height:120px;margin:0 auto}.di-pie-legend{color:var(--text-secondary);justify-content:center;gap:16px;margin-top:8px;font-size:13px;display:flex}.di-pie-legend-item{align-items:center;gap:5px;font-weight:500;display:flex}.di-pie-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.di-accordion-item{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-xs);margin-bottom:12px;overflow:hidden}.di-accordion-header{cursor:pointer;background:var(--bg-card);transition:background var(--transition);align-items:center;gap:10px;padding:14px 20px;display:flex}.di-accordion-header:hover{background:var(--bg-table-row-hover)}.di-accordion-chevron{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0;transition:transform .2s}.di-accordion-item.open .di-accordion-chevron{transform:rotate(180deg)}.di-accordion-name{color:var(--text-primary);margin-right:8px;font-size:15px;font-weight:700}.di-accordion-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.di-accordion-badge-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.di-cam-badge{border-radius:4px;align-items:center;gap:4px;margin-right:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.di-cam-badge.active{background:var(--bg-badge-active);color:#065f46}.di-cam-badge.down{background:var(--bg-badge-down);color:#991b1b}[data-theme=dark] .di-cam-badge.active{color:#6ee7b7}[data-theme=dark] .di-cam-badge.down{color:#fca5a5}.di-cam-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.di-cam-badge.active .di-cam-badge-dot{background:var(--accent-success)}.di-cam-badge.down .di-cam-badge-dot{background:var(--accent-danger)}.di-accordion-badge-sep{background:var(--border-color);flex-shrink:0;width:1px;height:18px;margin:0 8px}.di-accordion-body{border-top:1px solid var(--border-light);padding:4px 20px 20px;display:none}.di-accordion-item.open .di-accordion-body{display:block}.settings-password-input{border:1px solid var(--border-color);background:var(--bg-input);width:280px;color:var(--text-primary);transition:border-color var(--transition);border-radius:6px;outline:none;padding:7px 10px;font-size:14px}.settings-password-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #2563eb1a}.timeline-segment{z-index:0;background:#2563eb2e;border-radius:2px;height:100%;position:absolute;top:0}[data-theme=dark] .timeline-segment{background:#3b82f640}.timeline-label{color:var(--text-tertiary);font-size:12px}.rec-event-row{cursor:pointer}.rec-event-row.selected{background:#2563eb14}[data-theme=dark] .rec-event-row.selected{background:#3b82f626}.playback-controls{gap:8px}.play-btn,.playback-controls{align-items:center;display:flex}.play-btn{background:var(--text-primary);width:32px;height:32px;color:var(--bg-secondary);cursor:pointer;transition:opacity var(--transition);border:none;border-radius:50%;justify-content:center}.play-btn:hover:not(:disabled){opacity:.8}.play-btn:disabled,.speed-btn:disabled{opacity:.3;cursor:not-allowed}.play-btn svg{width:14px;height:14px}.speed-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition);border-radius:4px;padding:3px 8px;font-size:12px}.speed-btn.active{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary)}.oss-license-list{flex-direction:column;gap:8px;display:flex}.oss-license-item{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.oss-license-header{cursor:pointer;background:var(--bg-input);transition:background var(--transition);align-items:center;gap:10px;padding:10px 14px;display:flex}.oss-license-header:hover{background:var(--bg-table-row-hover)}.oss-license-name{color:var(--text-primary);font-size:14px;font-weight:600}.oss-license-type{color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.oss-license-chevron{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0;margin-left:auto;transition:transform .2s}.oss-license-item.open .oss-license-chevron{transform:rotate(180deg)}.oss-license-body{border-top:1px solid var(--border-light);padding:12px 14px;display:none}.oss-license-item.open .oss-license-body{display:block}.oss-license-body pre{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-family:SF Mono,Consolas,Monaco,monospace;font-size:11px;line-height:1.5}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}