*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Roboto,ui-sans-serif,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root,html[data-theme=light]{--blue:#3a86ff;--blue-light:#ebf2ff;--green:#10b981;--green-light:#e8fbf0;--orange:#f97316;--orange-light:#fff5e0;--red:#ff6b6b;--red-light:#ffeceb;--purple:#8b5cf6;--purple-light:#f5f3ff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--surface:#fff;--sidebar-bg:#f8fafc;--sidebar-hover:#f1f5f9;--sidebar-active:#ebf2ff;--sidebar-active-text:#3a86ff;--sidebar-border:#e2e8f0;--header-bg:#fff;--header-border:#e2e8f0;--content-bg:#f1f5f9;--card-bg:#fff;--card-border:#e2e8f0;--card-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--input-bg:#fff;--input-border:#e2e8f0;--logo-text:#0f172a;--logo-accent:#3a86ff;--icon-stroke:#3b82f6;--avatar-bg:#ebf2ff;--avatar-text:#3a86ff;--badge-bg:#ebf2ff;--badge-text:#3a86ff;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--toggle-bg:#e2e8f0;--toggle-knob:#fff;--toggle-icon:#64748b;--surface-raised:#f8fafc;--tooltip-bg:#0f172a;--tooltip-text:#f1f5f9;--tooltip-shadow:0 8px 24px rgba(0,0,0,.25),0 2px 6px rgba(0,0,0,.15)}html[data-theme=dark]{--blue:#5b9fff;--blue-light:#1a2744;--green:#34d399;--green-light:#0d2818;--orange:#fb923c;--orange-light:#2a1f0a;--red:#ff8585;--red-light:#2a0f0e;--purple:#a78bfa;--purple-light:#1a1333;--slate-50:#0c1220;--slate-100:#111827;--slate-200:#1e293b;--slate-300:#334155;--slate-400:#64748b;--slate-500:#94a3b8;--slate-600:#cbd5e1;--slate-700:#e2e8f0;--slate-800:#e2e8f0;--slate-900:#f1f5f9;--surface:#111827;--sidebar-bg:#0c1220;--sidebar-hover:#151d2e;--sidebar-active:#1a2744;--sidebar-active-text:#5b9fff;--sidebar-border:#1e293b;--header-bg:#111827;--header-border:#1e293b;--content-bg:#0c1220;--card-bg:#1a2233;--card-border:#293548;--card-shadow:0 1px 3px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);--input-bg:#111827;--input-border:#3d4f66;--logo-text:#f1f5f9;--logo-accent:#5b9fff;--icon-stroke:#5b9fff;--avatar-bg:#1a2744;--avatar-text:#5b9fff;--badge-bg:#1a2744;--badge-text:#5b9fff;--scrollbar-track:#111827;--scrollbar-thumb:#334155;--toggle-bg:#1e293b;--toggle-knob:#334155;--toggle-icon:#94a3b8;--surface-raised:#151d2e;--tooltip-bg:#1e293b;--tooltip-text:#e2e8f0;--tooltip-shadow:0 8px 24px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Roboto,system-ui,sans-serif;color:var(--slate-800);background:var(--content-bg);overflow:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.shell{display:grid;grid-template-columns:260px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar header" "sidebar content";height:100vh;transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1)}.shell.collapsed{grid-template-columns:72px 1fr}.sidebar{grid-area:sidebar;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;z-index:20;position:relative}.sidebar,.sidebar-logo{display:flex;overflow:hidden}.sidebar-logo{height:56px;align-items:center;padding:0 16px;gap:10px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo .logo-text{white-space:nowrap;font-size:1.4rem;font-weight:500;color:var(--logo-text);letter-spacing:-.01em;opacity:1;transition:opacity .2s,width .25s}.sidebar-logo .logo-text .accent{color:var(--logo-accent)}.collapsed .sidebar-logo .logo-text{opacity:0;width:0}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;overflow-x:hidden}.nav-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-400);padding:16px 12px 6px;white-space:nowrap;overflow:hidden;border-top:1px solid var(--sidebar-border);margin-top:4px;padding-top:16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s}.nav-group:hover{color:var(--slate-600)}.nav-group:first-child{border-top:none;margin-top:0}.collapsed .nav-group{font-size:0;height:1px;padding:8px 12px 0;margin-bottom:4px;overflow:hidden;pointer-events:none}.nav-group-chevron{width:12px;height:12px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;opacity:.5}.nav-group.open .nav-group-chevron{transform:rotate(90deg);opacity:.8}.collapsed .nav-group-chevron{display:none}.nav-group-static{cursor:default}.nav-group-static:hover{color:var(--slate-400)}.nav-group-items{overflow:hidden;max-height:0;transition:max-height .3s ease}.nav-group-items.open{max-height:600px}.collapsed .nav-group-items{max-height:600px!important}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:var(--slate-500);font-size:13.5px;font-weight:450;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;margin-bottom:1px;text-decoration:none}.nav-item:hover{background:var(--sidebar-hover);color:var(--slate-800)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-active-text);font-weight:500}.nav-icon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-label{opacity:1;transition:opacity .2s}.collapsed .nav-label{opacity:0}.nav-parent{cursor:pointer}.nav-parent .chevron{width:16px;height:16px;margin-left:auto;margin-right:0;transition:transform .2s;flex-shrink:0;opacity:.5;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-parent.open .chevron{transform:rotate(90deg);opacity:.8}.nav-sub{overflow:hidden;max-height:0;transition:max-height .25s ease}.nav-parent.open+.nav-sub,.nav-sub.force{max-height:200px}.nav-sub .nav-item{padding-left:42px;font-size:13px;position:relative}.nav-sub .nav-item:before{content:"";position:absolute;left:24px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--slate-400);transform:translateY(-50%)}.nav-sub .nav-item.active:before{background:var(--sidebar-active-text)}.collapsed .nav-sub{max-height:0!important}.collapsed .chevron{display:none}.nav-badge{margin-left:auto;background:var(--badge-bg);color:var(--badge-text);font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;transition:opacity .2s}.nav-badge--warn{background:rgba(249,115,22,.12);color:var(--orange)}.collapsed .nav-badge{opacity:0}.collapse-btn{position:absolute;right:-12px;top:72px;width:24px;height:24px;background:var(--surface);border:1px solid var(--sidebar-border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:25;opacity:0;transition:opacity .15s;box-shadow:0 1px 4px rgba(0,0,0,.1)}.sidebar:hover .collapse-btn{opacity:1}.collapse-btn svg{width:14px;height:14px;stroke:var(--slate-500);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}.collapsed .collapse-btn svg{transform:rotate(180deg)}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:12px 8px;flex-shrink:0}.header{grid-area:header;background:var(--header-bg);border-bottom:1px solid var(--header-border);justify-content:space-between;padding:0 24px;z-index:15}.header,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-right{gap:8px}.breadcrumb,.header-right{display:flex;align-items:center}.breadcrumb{gap:6px;font-size:13.5px;color:var(--slate-400)}.breadcrumb .bc-root{color:var(--slate-400);text-decoration:none;transition:color .15s}.breadcrumb .bc-root:hover{color:var(--blue)}.breadcrumb .bc-page{color:var(--slate-800);font-weight:500}.breadcrumb .bc-sep{font-size:10px;color:var(--slate-300)}.search-box{display:flex;align-items:center;gap:8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:7px 12px;width:260px;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.search-box svg{width:16px;height:16px;stroke:var(--slate-400);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.search-box input{border:none;outline:none;background:transparent;font-size:13px;font-family:inherit;color:var(--slate-800);width:100%}.search-box input::-moz-placeholder{color:var(--slate-400)}.search-box input::placeholder{color:var(--slate-400)}.search-box kbd{font-size:11px;color:var(--slate-400);background:var(--sidebar-bg);padding:2px 6px;border-radius:4px;border:1px solid var(--input-border);flex-shrink:0;font-family:system-ui}.theme-toggle{width:44px;height:26px;background:var(--toggle-bg);border-radius:13px;cursor:pointer;position:relative;border:1px solid var(--input-border);transition:background .3s;flex-shrink:0}.theme-toggle .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--toggle-knob);border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center}html[data-theme=dark] .theme-toggle .knob{transform:translateX(18px)}.theme-toggle .knob svg{width:12px;height:12px;stroke:var(--toggle-icon);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-moon,html[data-theme=dark] .theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-moon{display:block}.icon-btn{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:none;position:relative;transition:background .15s;color:inherit}.icon-btn:hover{background:var(--sidebar-hover)}.icon-btn svg{width:20px;height:20px;stroke:var(--slate-500);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn .dot{position:absolute;top:7px;right:7px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid var(--header-bg)}.h-divider{width:1px;height:24px;background:var(--input-border);margin:0 4px}.lang-switch{display:inline-flex;border-radius:9999px;border:1px solid var(--input-border);background:var(--surface);padding:3px}.lang-btn{padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:500;background:transparent;border:none;color:var(--slate-400);cursor:pointer;transition:background .2s,color .2s;font-family:inherit}.lang-btn:hover{color:var(--slate-600)}.lang-btn--active{background:var(--sidebar-hover);color:var(--slate-800)}.logout-item:hover{color:var(--red)!important}.logout-item:hover .nav-icon{stroke:var(--red)}.content{grid-area:content;overflow-y:auto;padding:28px}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--card-shadow)}.form-input{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:13px;font-family:inherit;color:var(--slate-800);background:var(--input-bg);transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.form-input::-moz-placeholder{color:var(--slate-400)}.form-input::placeholder{color:var(--slate-400)}.form-label{display:block;font-size:12px;font-weight:500;color:var(--slate-500);margin-bottom:4px}.form-value{font-size:13.5px;color:var(--slate-800);padding:8px 0 4px;line-height:1.5}.btn-primary{background:var(--blue);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-add{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 18px;border-radius:8px;border:none;background:var(--blue);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.btn-add:hover{background:#2970e6;box-shadow:0 2px 8px rgba(58,134,255,.25)}.btn-add svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}.btn-outline{background:none;border:1px solid var(--input-border);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;color:var(--slate-600);cursor:pointer;transition:all .15s}.btn-outline:hover{background:var(--sidebar-hover)}.btn-danger{background:none;border:1px solid var(--red);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;color:var(--red);cursor:pointer;transition:all .15s}.btn-danger:hover{background:var(--red-light)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h1{font-size:22px;font-weight:700;color:var(--slate-900);margin:0;line-height:1.3}.page-header .subtitle{font-size:13px;color:var(--slate-500);margin-top:2px}.header-actions{display:flex;align-items:center;gap:10px}.record-count{font-size:13px;color:var(--slate-500);background:var(--surface-raised);border:1px solid var(--input-border);padding:2px 10px;border-radius:20px;font-weight:600;white-space:nowrap;vertical-align:middle;margin-left:8px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.search-input{flex:1;width:100%;padding:8px 12px 8px 36px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.search-input::-moz-placeholder{color:var(--slate-400)}.search-input::placeholder{color:var(--slate-400)}.search-wrap{position:relative;flex:1;min-width:160px;max-width:280px;display:flex;align-items:center}.search-wrap .search-icon{left:11px;width:16px;height:16px;stroke:var(--slate-400);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.search-btn,.search-wrap .search-icon{position:absolute;top:50%;transform:translateY(-50%)}.search-btn{right:3px;width:28px;height:28px;border:none;border-radius:6px;background:var(--blue);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.search-btn:hover{background:#2563eb}.search-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.search-wrap:has(.search-btn) .search-input{padding-right:36px}.filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 32px 8px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-select:focus,.filter-select:hover{border-color:var(--blue)}.filter-select:focus{box-shadow:0 0 0 3px rgba(58,134,255,.1)}.cat-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 32px 8px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.cat-select:focus,.cat-select:hover{border-color:var(--blue)}.cat-select:focus{box-shadow:0 0 0 3px rgba(58,134,255,.1)}.btn-clear-filters{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-500);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-clear-filters:hover{border-color:var(--red,#ef4444);color:var(--red,#ef4444);background:rgba(239,68,68,.05)}.btn-clear-filters svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.table-wrap{border:1px solid var(--input-border);border-radius:10px;overflow:hidden;background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead{background:var(--surface-raised)}.data-table th{padding:10px 16px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-500);border-bottom:1px solid var(--input-border);white-space:nowrap;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--slate-800)}.data-table th .sort-icon{display:inline-block;margin-left:4px;opacity:.3;font-size:10px}.data-table th.sorted .sort-icon{opacity:1;color:var(--blue)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--input-border);color:var(--slate-800);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--sidebar-hover)}.data-table tbody tr{transition:background .1s;cursor:pointer}.cell-primary{font-size:13px;font-weight:600;color:var(--slate-900)}.cell-secondary{font-size:11px;color:var(--slate-400);font-family:SF Mono,Fira Code,monospace;margin-top:2px}.cell-muted{font-size:13px;color:var(--slate-500);max-width:220px;line-height:1.4}.cat-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.cat-badge.financial_assets,.cat-badge.financial_balance,.cat-badge.financial_balance_sheet,.cat-badge.financial_revenue,.cat-badge.financial_services{background:rgba(58,134,255,.1);color:#3a86ff}.cat-badge.banking_assets,.cat-badge.insurance_premiums,.cat-badge.investment_aum{background:rgba(37,99,235,.1);color:#2563eb}.cat-badge.payment_volume,.cat-badge.platform_financial,.cat-badge.revenue{background:rgba(58,134,255,.1);color:#3a86ff}.cat-badge.ict,.cat-badge.media,.cat-badge.platform,.cat-badge.platform_users,.cat-badge.register,.cat-badge.universal{background:rgba(139,92,246,.1);color:#8b5cf6}.cat-badge.competition,.cat-badge.competition_dominance,.cat-badge.competition_merger,.cat-badge.corporate,.cat-badge.procurement,.cat-badge.procurement_threshold{background:rgba(249,115,22,.1);color:#f97316}.cat-badge.agriculture,.cat-badge.agriculture_land,.cat-badge.agriculture_livestock,.cat-badge.sustainability{background:rgba(5,150,105,.1);color:#059669}.cat-badge.data_processing,.cat-badge.data_protection{background:rgba(20,184,166,.1);color:#14b8a6}.cat-badge.energy,.cat-badge.energy_consumption,.cat-badge.energy_customers{background:rgba(16,185,129,.1);color:#10b981}.cat-badge.emissions_capacity,.cat-badge.emissions_carbon,.cat-badge.emissions_greenhouse,.cat-badge.environment,.cat-badge.environmental{background:rgba(4,120,87,.1);color:#047857}.cat-badge.chemical_volume,.cat-badge.chemicals,.cat-badge.food,.cat-badge.healthcare,.cat-badge.waste_hazardous{background:rgba(244,63,94,.1);color:#f43f5e}.cat-badge.trade,.cat-badge.transport,.cat-badge.transport_maritime,.cat-badge.transport_passengers,.cat-badge.transport_vehicles{background:rgba(245,158,11,.1);color:#d97706}.cat-badge.jurisdiction,.cat-badge.legal,.cat-badge.license,.cat-badge.regulatory{background:rgba(99,102,241,.1);color:#6366f1}.cat-badge.professional_services,.cat-badge.research,.cat-badge.services{background:rgba(6,182,212,.1);color:#06b6d4}.cat-badge.consumer,.cat-badge.employment,.cat-badge.production{background:rgba(236,72,153,.1);color:#ec4899}.cat-badge.taxation{background:rgba(168,85,247,.1);color:#a855f7}.cat-badge.activity,.cat-badge.geographic{background:rgba(14,165,233,.1);color:#0ea5e9}.cat-badge.composite,.cat-badge.industry,.cat-badge.waste_capacity{background:hsla(25,5%,45%,.1);color:#78716c}.cat-badge.general,.cat-badge.uncategorized,.cat-badge.unknown{background:hsla(220,9%,46%,.1);color:#6b7280}.cat-badge.business{background:rgba(99,102,241,.1);color:#6366f1;cursor:pointer;transition:background .15s}.cat-badge.business:hover{background:rgba(99,102,241,.2)}.cat-badge.prohibition{background:rgba(239,68,68,.1);color:#dc2626}.cat-badge.permission{background:rgba(34,197,94,.1);color:#16a34a}.cat-badge.definition{background:rgba(168,85,247,.1);color:#a855f7}.cat-badge.scope{background:rgba(14,165,233,.1);color:#0ea5e9}.cat-badge.delegation{background:rgba(245,158,11,.1);color:#d97706}.cat-badge.provision{background:hsla(220,9%,46%,.1);color:#6b7280}.conf-bar{display:flex;align-items:center;gap:8px}.conf-track{width:48px;height:6px;background:var(--input-border);border-radius:3px;overflow:hidden}.conf-fill{height:100%;border-radius:3px;background:var(--green)}.conf-val{font-size:12px;font-weight:600;color:var(--slate-600);min-width:32px}.prio-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:12px;font-weight:700}.prio-1{background:rgba(239,68,68,.1);color:#ef4444}.prio-2{background:rgba(249,115,22,.1);color:var(--orange)}.prio-3{background:rgba(58,134,255,.1);color:var(--blue)}.prio-4,.prio-5{background:rgba(139,92,246,.1);color:var(--purple)}.law-count{font-size:13px;font-weight:600;color:var(--slate-700)}.source-list{font-size:12px;color:var(--slate-500);max-width:220px;line-height:1.4}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.enabled{background:rgba(16,185,129,.1);color:var(--green)}.status-badge.disabled{background:var(--surface-raised);color:var(--slate-400)}.status-badge.active{background:rgba(16,185,129,.1);color:#059669}.status-badge.upcoming_change{background:rgba(245,158,11,.1);color:#d97706}.status-badge.future{background:rgba(99,102,241,.1);color:#6366f1}.status-badge.inactive{background:hsla(220,9%,46%,.1);color:#6b7280}.status-toggle{display:flex;align-items:center;gap:10px}.toggle-label{font-size:13px;font-weight:600;color:var(--slate-600)}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;border-radius:22px;cursor:pointer;background:var(--slate-300);transition:background .2s}.toggle-slider:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.15)}.toggle-switch input:checked+.toggle-slider{background:var(--green)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--blue);font-size:13px;font-weight:500;cursor:pointer;padding:0;margin-bottom:20px;font-family:inherit}.back-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.back-btn:hover{text-decoration:underline}.detail-header{margin-bottom:24px}.detail-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-title{font-size:24px;font-weight:700;color:var(--slate-900);margin:0}.detail-id{font-size:12px;color:var(--slate-400);font-family:SF Mono,Fira Code,monospace;margin-top:4px}.detail-badges{display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:28px}.detail-card{background:var(--surface);border:1px solid var(--input-border);border-radius:10px;padding:16px 20px}.detail-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-500);margin-bottom:10px}.detail-card-body{display:flex;flex-direction:column;gap:8px}.detail-conf{display:flex;align-items:center;gap:12px}.detail-conf-val{font-size:28px;font-weight:700;color:var(--green)}.detail-conf-track{flex:1;height:8px;background:var(--input-border);border-radius:4px;overflow:hidden}.detail-conf-fill{height:100%;background:var(--green);border-radius:4px}.source-tag{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate-700)}.source-tag svg{width:15px;height:15px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}.detail-form-card{background:var(--surface);border:1px solid var(--input-border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.form-full{grid-column:1/-1}.form-select{padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.form-textarea{padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;resize:vertical;line-height:1.5;width:100%}.form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.kw-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.kw-list{display:flex;flex-wrap:wrap;gap:6px}.kw{padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500;font-family:SF Mono,Fira Code,monospace;display:inline-flex;align-items:center}.kw.strong,.kw.weak{background:rgba(58,134,255,.1);color:var(--blue)}.kw.added{background:rgba(16,185,129,.15);color:#059669;border:1px solid rgba(16,185,129,.3)}.kw.removed{background:rgba(239,68,68,.1);color:#ef4444;text-decoration:line-through;opacity:.7}.kw .kw-remove{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:14px;height:14px;border-radius:50%;background:transparent;border:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;opacity:.5;transition:opacity .15s;font-family:inherit;padding:0}.kw .kw-remove:hover{opacity:1}.kw .kw-undo{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;border:none;background:transparent;color:#ef4444;cursor:pointer;font-size:11px;font-family:inherit;padding:0;font-weight:600}.kw.removed .kw-remove{display:none}.kw-add-row{display:flex;gap:6px;margin-top:10px}.kw-input{flex:1;padding:5px 10px;border:1px solid var(--input-border);border-radius:6px;font-size:12px;font-family:SF Mono,Fira Code,monospace;background:var(--surface);color:var(--slate-800);outline:none}.kw-input:focus{border-color:var(--blue)}.kw-add-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--input-border);background:var(--surface);color:var(--blue);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .15s}.kw-add-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.data-table tbody tr.row-added{background:rgba(16,185,129,.08)}.data-table tbody tr.row-added td{color:var(--green)}.data-table tbody tr.row-added code{color:#059669}.data-table tbody tr.row-removed{background:rgba(239,68,68,.06)}.data-table tbody tr.row-removed td{color:var(--slate-400);text-decoration:line-through}.data-table tbody tr.row-removed .jur-badge{opacity:.5}.data-table tbody tr.row-removed .remove-btn{display:none}.undo-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--blue);transition:all .15s;font-size:12px;font-weight:600}.undo-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.undo-btn:hover{background:rgba(58,134,255,.1)}.law-search-wrap{position:relative}.law-search-dropdown{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:260px;overflow-y:auto;margin-top:4px}.law-search-dropdown.open{display:block}.law-dd-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--input-border);transition:background .1s}.law-dd-item:last-child{border-bottom:none}.law-dd-item:hover{background:var(--sidebar-hover)}.law-dd-item.already-added{opacity:.4;cursor:default}.law-dd-info{flex:1;min-width:0}.law-dd-title{font-size:13px;color:var(--slate-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.law-dd-id{font-size:11px;color:var(--slate-400);font-family:SF Mono,Fira Code,monospace}.law-dd-check{flex-shrink:0;color:var(--green);font-size:14px;font-weight:700}.law-dd-empty{padding:16px;text-align:center;font-size:13px;color:var(--slate-400)}.save-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:8px;background:var(--green);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;margin-left:4px}.save-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.save-btn:hover{background:#059669}.save-btn:disabled{background:var(--slate-300);cursor:default;opacity:.6}.save-btn.unsaved{background:var(--blue)}.save-btn.unsaved:hover{background:#2563eb}.save-btn.saved-flash{background:var(--green)}.save-btn.saved-flash svg{animation:checkPop .3s ease}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.delete-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:transparent;color:#ef4444;border:1px solid rgba(239,68,68,.3);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;margin-left:4px}.delete-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.delete-btn:hover{background:rgba(239,68,68,.1);border-color:#ef4444}.detail-section{margin-bottom:28px}.detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.detail-section-header h2{font-size:16px;font-weight:700;color:var(--slate-900);margin:0}.add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;background:var(--blue);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.add-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}.add-btn:hover{background:#2563eb}.add-law-form{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:14px 16px;background:var(--surface-raised);border:1px dashed var(--blue);border-radius:10px;flex-wrap:wrap}.add-law-form .search-input{padding-left:12px}.confirm-btn{padding:7px 18px;border-radius:8px;background:var(--green);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.confirm-btn:hover{background:#059669}.cancel-btn{padding:7px 14px;border-radius:8px;background:transparent;color:var(--slate-500);border:1px solid var(--input-border);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.cancel-btn:hover{border-color:var(--slate-400);color:var(--slate-700)}.law-drag{color:var(--slate-300);cursor:grab}.law-drag:hover{color:var(--slate-500)}.remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--slate-400);transition:all .15s}.remove-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.remove-btn:hover{background:rgba(239,68,68,.1);color:#ef4444}.jur-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.jur-badge.eu{background:rgba(58,134,255,.1);color:var(--blue)}.jur-badge.nl{background:rgba(249,115,22,.1);color:var(--orange)}.jur-badge.international{background:rgba(139,92,246,.1);color:#7c3aed}.law-id-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:rgba(59,130,246,.08);color:#1d4ed8;font-size:12.5px;font-weight:500;font-family:SF Mono,Fira Code,monospace;text-decoration:none;transition:background .15s ease}a.law-id-tag:hover{background:rgba(59,130,246,.15)}.law-title-cell{max-width:380px}.law-title-compact{max-width:420px;font-weight:600;color:var(--slate-900)}.law-title-compact,.law-title-text{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.law-title-text{color:var(--slate-700)}.law-abbr{font-weight:600;color:var(--slate-800)}.coverage-dots{display:flex;align-items:center;gap:5px}.cov-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cov-dot.green{background:#10b981}.cov-dot.red{background:#ef4444;opacity:.4}.page-placeholder{flex-direction:column;height:100%;color:var(--slate-400);text-align:center}.page-placeholder,.page-placeholder .ph-icon{display:flex;align-items:center;justify-content:center}.page-placeholder .ph-icon{width:80px;height:80px;background:var(--sidebar-active);border-radius:20px;margin-bottom:20px}.page-placeholder .ph-icon svg{width:36px;height:36px;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.page-placeholder h2{font-size:18px;font-weight:600;color:var(--slate-800);margin-bottom:6px}.page-placeholder p{font-size:14px;max-width:360px;line-height:1.5}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 16px;gap:12px}.pagination-left{display:flex;align-items:center;gap:8px}.pagination-left label{font-size:13px;color:var(--slate-500);white-space:nowrap}.pagination-left select{height:32px;padding:0 28px 0 10px;border-radius:6px;border:1px solid var(--input-border);background:var(--surface);color:var(--slate-700);font-size:13px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.pagination-center{font-size:13px;color:var(--slate-500);text-align:center;white-space:nowrap}.pagination-right{display:flex;align-items:center;gap:6px;justify-self:end}.pagination-right .pg-label{font-size:13px;color:var(--slate-500);white-space:nowrap}.pg-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--input-border);background:var(--surface);color:var(--slate-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.pg-btn:hover{border-color:var(--blue);color:var(--blue)}.pg-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.pg-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.pg-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.pg-input{width:48px;height:32px;text-align:center;border-radius:6px;border:1px solid var(--input-border);background:var(--surface);color:var(--slate-700);font-size:13px;font-weight:500;font-family:inherit}.pg-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge-green{background:var(--green-light);color:var(--green)}.badge-red{background:var(--red-light);color:var(--red)}.badge-blue{background:var(--blue-light);color:var(--blue)}.badge-orange{background:var(--orange-light);color:var(--orange)}.badge-purple{background:var(--purple-light);color:var(--purple)}.badge-yellow{background:var(--orange-light);color:var(--orange)}.badge-teal{background:var(--green-light);color:var(--green)}.badge-pink{background:var(--purple-light);color:var(--purple)}.badge-slate{background:var(--slate-100);color:var(--slate-600)}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px 24px;box-shadow:var(--card-shadow);transition:box-shadow .15s,transform .15s;text-decoration:none;display:block}.stat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--blue);line-height:1}.stat-card .stat-label{font-size:13px;color:var(--slate-500);margin-top:6px}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--slate-400);text-decoration:none;cursor:pointer;background:none;border:none;font-family:inherit;padding:0;margin-bottom:16px;transition:color .15s}.back-link:hover{color:var(--slate-800)}.panel-overlay{position:fixed;inset:0;background:rgba(15,23,42,.3);z-index:900;opacity:0;pointer-events:none;transition:opacity .25s}.panel-overlay.open{opacity:1;pointer-events:auto}.slide-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:var(--surface);z-index:901;box-shadow:-8px 0 30px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.slide-panel.open{transform:translateX(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--input-border);flex-shrink:0}.panel-header h2{font-size:17px;font-weight:700;color:var(--slate-900);margin:0}.panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--slate-400);cursor:pointer;transition:all .15s}.panel-close:hover{background:var(--sidebar-hover);color:var(--slate-700)}.panel-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.panel-body{flex:1;overflow-y:auto;padding:24px}.panel-body .form-group{margin-bottom:20px}.panel-body .form-label{display:block;font-size:12px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.panel-body .form-input{width:100%;padding:9px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--slate-800);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.panel-body .form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(58,134,255,.1)}.panel-body textarea.form-input{min-height:80px;resize:vertical}.panel-body select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--input-border);flex-shrink:0}.panel-footer .btn-cancel{height:36px;padding:0 18px;border-radius:8px;border:1px solid var(--input-border);background:var(--surface);color:var(--slate-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.panel-footer .btn-cancel:hover{background:var(--sidebar-hover)}.panel-footer .btn-submit{height:36px;padding:0 18px;border-radius:8px;border:none;background:var(--blue);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.panel-footer .btn-submit:hover{background:#2970e6}.detail-tabs{margin-top:24px}.tab-bar{display:flex;gap:0;border-bottom:2px solid var(--divider);margin-bottom:0}.tab-btn{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--slate-400);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;display:flex;align-items:center;gap:6px}.tab-btn:hover{color:var(--slate-600)}.tab-btn.active{color:var(--slate-900);border-bottom-color:var(--blue)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:9px;font-size:11px;font-weight:600;background:var(--surface-raised);color:var(--slate-500)}.tab-btn.active .tab-count{background:rgba(58,134,255,.1);color:var(--blue)}.tab-content{padding:20px;background:var(--surface);border:1px solid var(--card-border);border-top:none;border-radius:0 0 10px 10px}.view-toggle{display:flex;gap:2px;background:var(--surface-raised);border-radius:6px;padding:2px}.toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--slate-400);transition:all .15s}.toggle-btn:hover{color:var(--slate-600)}.toggle-btn.active{background:var(--surface-card);color:var(--slate-800);box-shadow:0 1px 2px rgba(0,0,0,.08)}.upcoming-card{border-left:3px solid #d97706}.upcoming-timeline{display:flex;flex-direction:column;gap:8px}.upcoming-item{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--slate-700)}.upcoming-dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex-shrink:0}.upcoming-date{font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:600;color:var(--slate-800);min-width:90px}.upcoming-desc{color:var(--slate-500)}.upcoming-link{color:var(--blue);opacity:.6;transition:opacity .15s;display:inline-flex;align-items:center}.upcoming-link:hover{opacity:1}.articles-table-wrap{overflow-x:auto;max-height:600px;overflow-y:auto}.articles-table{width:100%;border-collapse:collapse;font-size:13px}.articles-table thead th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-500);position:sticky;top:0;background:var(--surface-card)}.articles-table tbody tr,.articles-table thead th{border-bottom:1px solid var(--divider)}.articles-table tbody tr:hover{background:var(--surface-raised)}.articles-table td{padding:8px 12px;vertical-align:top}.art-number{font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:600;color:var(--slate-700);white-space:nowrap}.art-title{font-weight:600;color:var(--slate-800)}.art-text{color:var(--slate-600);line-height:1.4}.art-parent{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.art-leden,.art-parent{font-size:12px;color:var(--slate-500)}.art-leden{text-align:center}.articles-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--divider)}.btn-page{padding:4px 12px;border-radius:6px;border:1px solid var(--input-border);background:var(--surface-card);color:var(--slate-700);font-size:12px;cursor:pointer;transition:all .15s}.btn-page:hover:not(:disabled){background:var(--surface-raised)}.btn-page:disabled{opacity:.4;cursor:default}.page-info{font-size:12px;color:var(--slate-500)}.mobile-btn,.overlay{display:none}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:45}.overlay.active{display:block}@media (max-width:768px){.shell{grid-template-columns:0 1fr}.sidebar{position:fixed;left:-260px;top:0;bottom:0;width:260px;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1)}.sidebar.open{left:0}.mobile-btn{display:flex!important}.search-box{width:180px}.collapse-btn{display:none}.page-header,.toolbar{flex-direction:column}.toolbar{align-items:stretch}.search-wrap{max-width:none}.table-wrap{overflow-x:auto}.data-table{min-width:700px}.detail-grid,.form-grid,.kw-columns{grid-template-columns:1fr}.detail-badges{flex-wrap:wrap}.add-law-form{flex-direction:column;align-items:stretch}}