:root{--primary-blue: #0066FF;--primary-blue-hover: #0052CC;--primary-blue-active: #0047B3;--primary-blue-light: #E6F0FF;--primary-blue-dark: #003D99;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--success-green: #10B981;--success-green-light: #D1FAE5;--success-green-dark: #059669;--warning-yellow: #F59E0B;--warning-yellow-light: #FEF3C7;--warning-yellow-dark: #D97706;--error-red: #EF4444;--error-red-light: #FEE2E2;--error-red-dark: #DC2626;--info-blue: #3B82F6;--info-blue-light: #DBEAFE;--info-blue-dark: #2563EB;--white: #FFFFFF;--black: #000000;--bg-primary: var(--white);--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--bg-hover: var(--gray-50);--bg-selected: var(--primary-blue-light);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-disabled: var(--gray-400);--text-inverse: var(--white);--text-link: var(--primary-blue);--text-link-hover: var(--primary-blue-hover);--border-light: var(--gray-200);--border-medium: var(--gray-300);--border-dark: var(--gray-400);--border-focus: var(--primary-blue);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--radius-none: 0;--radius-sm: .125rem;--radius-md: .25rem;--radius-lg: .375rem;--radius-xl: .5rem;--radius-2xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(0, 102, 255, .1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 9998;--z-modal: 9999;--z-popover: 2020;--z-tooltip: 2030;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--btn-padding-y: 10px;--btn-padding-x: 20px;--btn-padding-y-sm: 6px;--btn-padding-x-sm: 12px;--btn-padding-y-lg: 12px;--btn-padding-x-lg: 24px;--input-height: 40px;--input-height-sm: 32px;--input-height-lg: 48px;--input-padding-x: 12px;--input-border-width: 1px;--table-cell-padding-y: 12px;--table-cell-padding-x: 16px;--table-row-hover-bg: var(--gray-50);--table-border-color: var(--gray-200);--card-padding: 24px;--card-border-color: var(--gray-200);--card-shadow: var(--shadow-sm);--modal-backdrop-bg: rgba(17, 24, 39, .75);--modal-width-sm: 400px;--modal-width-md: 600px;--modal-width-lg: 800px;--modal-padding: 24px;--badge-padding-y: 4px;--badge-padding-x: 10px;--badge-font-size: var(--text-xs);--badge-border-radius: var(--radius-full);--alert-padding: 16px;--alert-border-radius: var(--radius-lg)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:inherit}ul,ol{list-style:none}button,input,select,textarea{font:inherit;color:inherit;background-color:transparent;border:none;outline:none}button{cursor:pointer;-webkit-appearance:button}input::-webkit-search-decoration,input::-webkit-search-cancel-button{-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}table{border-collapse:collapse;border-spacing:0;width:100%}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::selection{background-color:var(--primary-blue-light);color:var(--text-primary)}::-moz-selection{background-color:var(--primary-blue-light);color:var(--text-primary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-lg);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.6}[hidden]{display:none!important}.heading-1,h1.styled{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-4)}.heading-2,h2.styled{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-3)}.heading-3,h3.styled{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--space-3)}.heading-4,h4.styled{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--text-primary);margin-bottom:var(--space-2)}.heading-5,h5.styled{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--text-primary);margin-bottom:var(--space-2)}.heading-6,h6.styled{font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--text-primary);margin-bottom:var(--space-2)}.text-xs{font-size:var(--text-xs);line-height:var(--leading-normal)}.text-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-base{font-size:var(--text-base);line-height:var(--leading-normal)}.text-lg{font-size:var(--text-lg);line-height:var(--leading-normal)}.text-xl{font-size:var(--text-xl);line-height:var(--leading-normal)}.text-2xl{font-size:var(--text-2xl);line-height:var(--leading-tight)}.text-3xl{font-size:var(--text-3xl);line-height:var(--leading-tight)}.text-4xl{font-size:var(--text-4xl);line-height:var(--leading-tight)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-disabled{color:var(--text-disabled)}.text-inverse{color:var(--text-inverse)}.text-blue{color:var(--primary-blue)}.text-success{color:var(--success-green)}.text-warning{color:var(--warning-yellow)}.text-error{color:var(--error-red)}.text-info{color:var(--info-blue)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-normal-case{text-transform:none}.text-underline{text-decoration:underline}.text-line-through{text-decoration:line-through}.text-no-underline{text-decoration:none}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.font-sans{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{overflow:hidden;text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-pre-line{white-space:pre-line}.link{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast);cursor:pointer}.link:hover{color:var(--text-link-hover);text-decoration:underline}.link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.link-underline{color:var(--text-link);text-decoration:underline;transition:color var(--transition-fast);cursor:pointer}.link-underline:hover{color:var(--text-link-hover)}.body-large{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-primary)}.body-default{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary)}.body-small{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary)}.caption{font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}.label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);display:block;margin-bottom:var(--space-1)}.help-text{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.error-text{font-size:var(--text-sm);color:var(--error-red);margin-top:var(--space-1)}.code{font-family:var(--font-mono);font-size:.9em;background-color:var(--gray-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--text-primary)}.pre-code{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--gray-100);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;line-height:var(--leading-relaxed);color:var(--text-primary)}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-10{margin:var(--space-10)}.m-12{margin:var(--space-12)}.m-16{margin:var(--space-16)}.m-20{margin:var(--space-20)}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mt-20{margin-top:var(--space-20)}.mr-0{margin-right:var(--space-0)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-5{margin-right:var(--space-5)}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mr-10{margin-right:var(--space-10)}.mr-12{margin-right:var(--space-12)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-10{margin-bottom:var(--space-10)}.mb-12{margin-bottom:var(--space-12)}.ml-0{margin-left:var(--space-0)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-5{margin-left:var(--space-5)}.ml-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.ml-10{margin-left:var(--space-10)}.ml-12{margin-left:var(--space-12)}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.pt-0{padding-top:var(--space-0)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pt-10{padding-top:var(--space-10)}.pr-0{padding-right:var(--space-0)}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-5{padding-right:var(--space-5)}.pr-6{padding-right:var(--space-6)}.pr-8{padding-right:var(--space-8)}.pb-0{padding-bottom:var(--space-0)}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-0{padding-left:var(--space-0)}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-5{padding-left:var(--space-5)}.pl-6{padding-left:var(--space-6)}.pl-8{padding-left:var(--space-8)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.h-min{height:min-content}.h-max{height:max-content}.max-w-xs{max-width:320px}.max-w-sm{max-width:384px}.max-w-md{max-width:448px}.max-w-lg{max-width:512px}.max-w-xl{max-width:576px}.max-w-2xl{max-width:672px}.max-w-3xl{max-width:768px}.max-w-4xl{max-width:896px}.max-w-5xl{max-width:1024px}.max-w-6xl{max-width:1152px}.max-w-7xl{max-width:1280px}.max-w-full{max-width:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-hover{background-color:var(--bg-hover)}.bg-selected{background-color:var(--bg-selected)}.bg-white{background-color:var(--white)}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-200{background-color:var(--gray-200)}.bg-gray-300{background-color:var(--gray-300)}.bg-blue{background-color:var(--primary-blue)}.bg-blue-light{background-color:var(--primary-blue-light)}.bg-success{background-color:var(--success-green)}.bg-success-light{background-color:var(--success-green-light)}.bg-warning{background-color:var(--warning-yellow)}.bg-warning-light{background-color:var(--warning-yellow-light)}.bg-error{background-color:var(--error-red)}.bg-error-light{background-color:var(--error-red-light)}.bg-info{background-color:var(--info-blue)}.bg-info-light{background-color:var(--info-blue-light)}.border{border:1px solid var(--border-light)}.border-0{border:0}.border-t{border-top:1px solid var(--border-light)}.border-r{border-right:1px solid var(--border-light)}.border-b{border-bottom:1px solid var(--border-light)}.border-l{border-left:1px solid var(--border-light)}.border-light{border-color:var(--border-light)}.border-medium{border-color:var(--border-medium)}.border-dark{border-color:var(--border-dark)}.border-focus{border-color:var(--border-focus)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-focus{box-shadow:var(--shadow-focus)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-move{cursor:move}.cursor-text{cursor:text}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal-backdrop{z-index:var(--z-modal-backdrop)}.z-modal{z-index:var(--z-modal)}.z-popover{z-index:var(--z-popover)}.z-tooltip{z-index:var(--z-tooltip)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.btn-primary:hover:not(:disabled){background-color:var(--primary-blue-hover);border-color:var(--primary-blue-hover)}.btn-primary:active:not(:disabled){background-color:var(--primary-blue-active);border-color:var(--primary-blue-active)}.btn-secondary{background-color:var(--white);color:var(--text-primary);border-color:var(--border-medium)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--border-dark)}.btn-secondary:active:not(:disabled){background-color:var(--gray-100)}.btn-ghost{background-color:transparent;color:var(--text-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--gray-50)}.btn-ghost:active:not(:disabled){background-color:var(--gray-100)}.btn-danger{background-color:var(--error-red);color:var(--white);border-color:var(--error-red)}.btn-danger:hover:not(:disabled){background-color:var(--error-red-dark);border-color:var(--error-red-dark)}.btn-success{background-color:var(--success-green);color:var(--white);border-color:var(--success-green)}.btn-success:hover:not(:disabled){background-color:var(--success-green-dark);border-color:var(--success-green-dark)}.btn-link{background-color:transparent;color:var(--text-link);border-color:transparent;text-decoration:none;padding:0}.btn-link:hover:not(:disabled){color:var(--text-link-hover);text-decoration:underline;background-color:transparent}.btn-sm{padding:var(--btn-padding-y-sm) var(--btn-padding-x-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-md{padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--text-sm);border-radius:var(--radius-md)}.btn-lg{padding:var(--btn-padding-y-lg) var(--btn-padding-x-lg);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-icon{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-icon-only{padding:var(--btn-padding-y);width:40px;height:40px;justify-content:center;align-items:center}.btn-icon-only.btn-sm{width:32px;height:32px;padding:var(--btn-padding-y-sm)}.btn-icon-only.btn-lg{width:48px;height:48px;padding:var(--btn-padding-y-lg)}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-active{background-color:var(--primary-blue-light);color:var(--primary-blue);border-color:var(--primary-blue)}.btn-group{display:inline-flex;align-items:center}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);margin-left:0}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn-group .btn:hover:not(:disabled){z-index:1}.btn-group .btn:focus-visible{z-index:2}.btn-block{display:flex;width:100%}.btn-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:var(--space-1);background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-btn:hover:not(:disabled){background-color:var(--gray-100);color:var(--text-primary)}.icon-btn:active:not(:disabled){background-color:var(--gray-200)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.form-label-required:after{content:"*";color:var(--error-red);margin-left:var(--space-1)}.form-help-text{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.form-error-text{display:block;font-size:var(--text-sm);color:var(--error-red);margin-top:var(--space-1)}.form-input{width:100%;height:var(--input-height);padding:0 var(--input-padding-x);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--white);border:var(--input-border-width) solid var(--border-medium);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input::placeholder{color:var(--text-muted)}.form-input:hover:not(:disabled):not(:focus){border-color:var(--border-dark)}.form-input:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--shadow-focus)}.form-input:disabled{background-color:var(--bg-secondary);color:var(--text-disabled);cursor:not-allowed}.form-input.error{border-color:var(--error-red)}.form-input.error:focus{border-color:var(--error-red);box-shadow:0 0 0 3px #ef44441a}.form-input-sm{height:var(--input-height-sm);font-size:var(--text-xs);padding:0 calc(var(--input-padding-x) * .75)}.form-input-lg{height:var(--input-height-lg);font-size:var(--text-base);padding:0 calc(var(--input-padding-x) * 1.25)}.form-textarea{width:100%;min-height:100px;padding:var(--input-padding-x);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--white);border:var(--input-border-width) solid var(--border-medium);border-radius:var(--radius-md);resize:vertical;transition:all var(--transition-fast)}.form-textarea::placeholder{color:var(--text-muted)}.form-textarea:hover:not(:disabled):not(:focus){border-color:var(--border-dark)}.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--shadow-focus)}.form-textarea:disabled{background-color:var(--bg-secondary);color:var(--text-disabled);cursor:not-allowed;resize:none}.form-textarea.error{border-color:var(--error-red)}.form-select{width:100%;height:var(--input-height);padding:0 calc(var(--input-padding-x) * 2.5) 0 var(--input-padding-x);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--input-padding-x) center;background-size:12px;border:var(--input-border-width) solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-select:hover:not(:disabled):not(:focus){border-color:var(--border-dark)}.form-select:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--shadow-focus)}.form-select:disabled{background-color:var(--bg-secondary);color:var(--text-disabled);cursor:not-allowed;opacity:.6}.form-select.error{border-color:var(--error-red)}.form-select-sm{height:var(--input-height-sm);font-size:var(--text-xs);padding:0 calc(var(--input-padding-x) * 2) 0 calc(var(--input-padding-x) * .75)}.form-select-lg{height:var(--input-height-lg);font-size:var(--text-base);padding:0 calc(var(--input-padding-x) * 2.5) 0 calc(var(--input-padding-x) * 1.25)}.form-checkbox-wrapper{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.form-checkbox{width:18px;height:18px;margin-top:2px;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:2px solid var(--border-medium);border-radius:var(--radius-sm);background-color:var(--white);cursor:pointer;transition:all var(--transition-fast);position:relative}.form-checkbox:hover:not(:disabled){border-color:var(--border-dark)}.form-checkbox:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.form-checkbox:checked{background-color:var(--primary-blue);border-color:var(--primary-blue)}.form-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}.form-checkbox:disabled{background-color:var(--bg-secondary);border-color:var(--border-light);cursor:not-allowed}.form-checkbox-label{font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.form-checkbox:disabled+.form-checkbox-label{color:var(--text-disabled);cursor:not-allowed}.form-radio-wrapper{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.form-radio{width:18px;height:18px;margin-top:2px;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:2px solid var(--border-medium);border-radius:var(--radius-full);background-color:var(--white);cursor:pointer;transition:all var(--transition-fast);position:relative}.form-radio:hover:not(:disabled){border-color:var(--border-dark)}.form-radio:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.form-radio:checked{border-color:var(--primary-blue)}.form-radio:checked:after{content:"";position:absolute;left:3px;top:3px;width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--primary-blue)}.form-radio:disabled{background-color:var(--bg-secondary);border-color:var(--border-light);cursor:not-allowed}.form-radio-label{font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.form-radio:disabled+.form-radio-label{color:var(--text-disabled);cursor:not-allowed}.form-radio-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-radio-group-inline{flex-direction:row;gap:var(--space-6)}.form-input-wrapper{position:relative;width:100%}.form-input-icon-left{position:absolute;left:var(--input-padding-x);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.form-input-icon-right{position:absolute;right:var(--input-padding-x);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.form-input-with-icon-left{padding-left:calc(var(--input-padding-x) * 2.5)}.form-input-with-icon-right{padding-right:calc(var(--input-padding-x) * 2.5)}.form-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.form-row:last-child{margin-bottom:0}.form-col{flex:1;min-width:0}.form-col-auto{flex:0 0 auto}.form-search{position:relative}.form-search-input{width:100%;height:var(--input-height);padding-left:calc(var(--input-padding-x) * 2.5);padding-right:var(--input-padding-x);font-size:var(--text-sm);border:var(--input-border-width) solid var(--border-medium);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-search-icon{position:absolute;left:var(--input-padding-x);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.form-search-input:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--shadow-focus)}.form-success{border-color:var(--success-green)}.form-success:focus{border-color:var(--success-green);box-shadow:0 0 0 3px #10b9811a}.form-warning{border-color:var(--warning-yellow)}.form-warning:focus{border-color:var(--warning-yellow);box-shadow:0 0 0 3px #f59e0b1a}.card{display:flex;flex-direction:column;background-color:var(--white);border:1px solid var(--card-border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);cursor:pointer}.card-clickable{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-header{padding:var(--card-padding);border-bottom:1px solid var(--card-border-color);background-color:var(--white)}.card-header-with-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-tight)}.card-subtitle{margin:var(--space-1) 0 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.card-actions{display:flex;gap:var(--space-2);align-items:center}.card-body{padding:var(--card-padding);flex:1}.card-body-compact{padding:var(--space-4)}.card-body-spacious{padding:var(--space-8)}.card-footer{padding:var(--card-padding);border-top:1px solid var(--card-border-color);background-color:var(--gray-50)}.card-footer-actions{display:flex;gap:var(--space-3);justify-content:flex-end;align-items:center}.card-footer-split{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.card-flat{box-shadow:none}.card-bordered{border:2px solid var(--card-border-color);box-shadow:none}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-outline{background-color:transparent;border:2px solid var(--border-medium);box-shadow:none}.card-success{border-color:var(--success-green);border-width:2px}.card-success .card-header{background-color:var(--success-green-light);border-bottom-color:var(--success-green)}.card-warning{border-color:var(--warning-yellow);border-width:2px}.card-warning .card-header{background-color:var(--warning-yellow-light);border-bottom-color:var(--warning-yellow)}.card-error{border-color:var(--error-red);border-width:2px}.card-error .card-header{background-color:var(--error-red-light);border-bottom-color:var(--error-red)}.card-info{border-color:var(--info-blue);border-width:2px}.card-info .card-header{background-color:var(--info-blue-light);border-bottom-color:var(--info-blue)}.card-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.card-grid-4,.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.card-grid,.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}}.card-image{width:100%;height:auto;display:block;object-fit:cover}.card-image-top{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.card-image-container{position:relative;overflow:hidden}.card-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.7));display:flex;align-items:flex-end;padding:var(--card-padding)}.card-image-overlay-content{color:var(--white)}.stat-card{display:flex;flex-direction:column;gap:var(--space-2)}.stat-card-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.stat-card-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.stat-card-change{font-size:var(--text-sm);font-weight:var(--font-medium);display:inline-flex;align-items:center;gap:var(--space-1)}.stat-card-change.positive{color:var(--success-green)}.stat-card-change.negative{color:var(--error-red)}.stat-card-change.neutral{color:var(--text-secondary)}.card-compact,.card-compact .card-header,.card-compact .card-body,.card-compact .card-footer{padding:var(--space-4)}.card-list{list-style:none;margin:0;padding:0}.card-list-item{padding:var(--space-4);border-bottom:1px solid var(--card-border-color);transition:background-color var(--transition-fast)}.card-list-item:last-child{border-bottom:none}.card-list-item:hover{background-color:var(--gray-50);cursor:pointer}.card-list-item-clickable{cursor:pointer}.card-loading{position:relative;min-height:200px;pointer-events:none}.card-loading:after{content:"";position:absolute;inset:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);z-index:10}.card-empty{padding:var(--space-12);text-align:center;color:var(--text-muted)}.card-empty-icon{font-size:var(--text-4xl);margin-bottom:var(--space-4);color:var(--text-muted)}.card-empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.card-empty-text{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}.table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--text-sm);color:var(--text-primary);background-color:var(--white)}.table thead{background-color:var(--gray-50);border-bottom:1px solid var(--table-border-color)}.table th{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);text-align:left;font-weight:var(--font-semibold);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap}.table th.text-right{text-align:right}.table th.text-center{text-align:center}.table tbody tr{border-bottom:1px solid var(--table-border-color);transition:background-color var(--transition-fast)}.table tbody tr:last-child{border-bottom:none}.table td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);color:var(--text-primary);vertical-align:middle}.table td.text-right{text-align:right}.table td.text-center{text-align:center}.table-hover tbody tr:hover{background-color:var(--table-row-hover-bg);cursor:pointer}.table-striped tbody tr:nth-child(2n){background-color:var(--gray-50)}.table-striped.table-hover tbody tr:nth-child(2n):hover{background-color:var(--gray-100)}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--table-border-color)}.table-borderless tbody tr{border-bottom:none}.table-compact th,.table-compact td{padding:var(--space-2) var(--space-3)}.table-sortable th{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:calc(var(--table-cell-padding-x) + 20px)}.table-sortable th:hover{background-color:var(--gray-100)}.table-sortable th:after{content:"";position:absolute;right:var(--table-cell-padding-x);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--gray-400);opacity:.3;transition:opacity var(--transition-fast)}.table-sortable th:hover:after{opacity:.6}.table-sortable th.sort-asc:after{border-top:4px solid var(--primary-blue);opacity:1}.table-sortable th.sort-desc:after{border-top:none;border-bottom:4px solid var(--primary-blue);opacity:1}.table-cell-numeric{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.table-cell-badge{white-space:nowrap}.table-cell-action{text-align:right;white-space:nowrap}.table-cell-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tbody tr.row-selected{background-color:var(--primary-blue-light)}.table tbody tr.row-disabled{opacity:.5;pointer-events:none}.table tbody tr.row-highlighted{background-color:var(--warning-yellow-light)}.table tfoot{background-color:var(--gray-50);border-top:2px solid var(--table-border-color);font-weight:var(--font-semibold)}.table tfoot td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x)}.table-container{width:100%;overflow-x:auto;background-color:var(--white);border:1px solid var(--table-border-color);border-radius:var(--radius-lg)}.table-container .table{margin-bottom:0}.table-container .table thead th:first-child{border-top-left-radius:var(--radius-lg)}.table-container .table thead th:last-child{border-top-right-radius:var(--radius-lg)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.table-stack thead{display:none}.table-stack tbody,.table-stack tr,.table-stack td{display:block;width:100%}.table-stack tr{margin-bottom:var(--space-4);border:1px solid var(--table-border-color);border-radius:var(--radius-md);padding:var(--space-4)}.table-stack td{padding:var(--space-2) 0;border:none;text-align:left}.table-stack td:before{content:attr(data-label);display:block;font-weight:var(--font-semibold);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;margin-bottom:var(--space-1)}}.table-empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-muted);background-color:var(--gray-50)}.table-empty-icon{font-size:var(--text-4xl);margin-bottom:var(--space-2)}.table-empty-text{font-size:var(--text-sm);color:var(--text-secondary)}.table-loading{position:relative;min-height:200px}.table-loading:after{content:"";position:absolute;inset:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-top:1px solid var(--table-border-color);background-color:var(--gray-50)}.table-pagination-info{font-size:var(--text-sm);color:var(--text-secondary)}.table-pagination-controls{display:flex;gap:var(--space-2)}.table-financial td{font-variant-numeric:tabular-nums}.table-financial .positive{color:var(--success-green)}.table-financial .negative{color:var(--error-red)}.table-financial .neutral{color:var(--text-secondary)}.table-financial th.currency,.table-financial td.currency,.table-financial th.percentage,.table-financial td.percentage{text-align:right}.modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop-bg);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4);overflow-y:auto;animation:modal-backdrop-fade-in var(--transition-base)}@keyframes modal-backdrop-fade-in{0%{opacity:0}to{opacity:1}}.modal-backdrop.closing{animation:modal-backdrop-fade-out var(--transition-base)}@keyframes modal-backdrop-fade-out{0%{opacity:1}to{opacity:0}}.modal{position:relative;background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:var(--modal-width-md);width:100%;max-height:calc(100vh - var(--space-8));display:flex;flex-direction:column;z-index:var(--z-modal);animation:modal-slide-in var(--transition-base)}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal.closing{animation:modal-slide-out var(--transition-base)}@keyframes modal-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.modal-sm{max-width:var(--modal-width-sm)}.modal-md{max-width:var(--modal-width-md)}.modal-lg{max-width:var(--modal-width-lg)}.modal-xl{max-width:1000px}.modal-full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--modal-padding);border-bottom:1px solid var(--border-light);flex-shrink:0}.modal-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-tight)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.modal-close:hover{background-color:var(--gray-100);color:var(--text-primary)}.modal-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.modal-body{padding:var(--modal-padding);overflow-y:auto;flex:1}.modal-body-compact{padding:var(--space-4)}.modal-body-spacious{padding:var(--space-8)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--gray-50);border-radius:var(--radius-md)}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-md)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--modal-padding);border-top:1px solid var(--border-light);background-color:var(--gray-50);flex-shrink:0}.modal-footer-split{justify-content:space-between}.modal-footer-centered{justify-content:center}.modal-footer-left{justify-content:flex-start}.modal-centered{margin:auto}.modal-confirm .modal-header{border-bottom:none;padding-bottom:0}.modal-confirm .modal-body{text-align:center;padding-top:0}.modal-confirm .modal-footer{justify-content:center;border-top:none;background-color:transparent}.modal-danger .modal-header,.modal-warning .modal-header{background-color:var(--error-red-light);border-bottom-color:var(--error-red)}.modal-danger .modal-title,.modal-warning .modal-title{color:var(--error-red-dark)}.modal-success .modal-header{background-color:var(--success-green-light);border-bottom-color:var(--success-green)}.modal-success .modal-title{color:var(--success-green-dark)}.modal-icon{width:48px;height:48px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--text-2xl)}.modal-icon-success{background-color:var(--success-green-light);color:var(--success-green)}.modal-icon-warning{background-color:var(--warning-yellow-light);color:var(--warning-yellow-dark)}.modal-icon-error{background-color:var(--error-red-light);color:var(--error-red)}.modal-icon-info{background-color:var(--info-blue-light);color:var(--info-blue)}.modal-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-top:var(--space-2)}.modal-loading{position:relative;pointer-events:none}.modal-loading:after{content:"";position:absolute;inset:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);z-index:10}.modal-scrollable{display:flex;flex-direction:column;max-height:calc(100vh - var(--space-8))}.modal-scrollable .modal-body{overflow-y:auto;flex:1 1 auto}@media(max-width:640px){.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0}.modal-sm,.modal-md,.modal-lg,.modal-xl,.modal-full{max-width:100%;max-height:90vh}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modal-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}body.modal-open{overflow:hidden}.modal[aria-hidden=true]{display:none}.modal-side-panel{position:fixed;top:0;right:0;bottom:0;max-width:500px;max-height:100vh;border-radius:0;animation:modal-slide-in-right var(--transition-base)}@keyframes modal-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-side-panel.closing{animation:modal-slide-out-right var(--transition-base)}@keyframes modal-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}.alert{padding:var(--alert-padding);border-radius:var(--alert-border-radius);border:1px solid transparent;display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);animation:alert-slide-in var(--transition-base)}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert.dismissing{animation:alert-slide-out var(--transition-base)}@keyframes alert-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.alert-success{background-color:var(--success-green-light);border-color:var(--success-green);color:var(--success-green-dark)}.alert-warning{background-color:var(--warning-yellow-light);border-color:var(--warning-yellow);color:var(--warning-yellow-dark)}.alert-error,.alert-danger{background-color:var(--error-red-light);border-color:var(--error-red);color:var(--error-red-dark)}.alert-info{background-color:var(--info-blue-light);border-color:var(--info-blue);color:var(--info-blue-dark)}.alert-neutral{background-color:var(--gray-100);border-color:var(--gray-300);color:var(--text-primary)}.alert-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.alert-success .alert-icon{color:var(--success-green)}.alert-warning .alert-icon{color:var(--warning-yellow-dark)}.alert-error .alert-icon,.alert-danger .alert-icon{color:var(--error-red)}.alert-info .alert-icon{color:var(--info-blue)}.alert-content{flex:1;min-width:0}.alert-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0;color:inherit;line-height:var(--leading-normal)}.alert-message{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0;color:inherit}.alert-message a{color:inherit;text-decoration:underline;font-weight:var(--font-medium)}.alert-message a:hover{opacity:.8}.alert-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.alert-action-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid currentColor;background-color:transparent;color:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.alert-action-btn:hover{opacity:.8;background-color:#0000000d}.alert-dismissible{padding-right:var(--space-10);position:relative}.alert-close{position:absolute;top:var(--alert-padding);right:var(--alert-padding);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;opacity:.6;transition:all var(--transition-fast)}.alert-close:hover{opacity:1;background-color:#0000001a}.alert-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.alert-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.alert-sm .alert-icon{width:16px;height:16px}.alert-lg{padding:var(--space-6);font-size:var(--text-base)}.alert-lg .alert-icon{width:24px;height:24px}.alert-solid{border:none;color:var(--white)}.alert-solid.alert-success{background-color:var(--success-green)}.alert-solid.alert-warning{background-color:var(--warning-yellow);color:var(--gray-900)}.alert-solid.alert-error,.alert-solid.alert-danger{background-color:var(--error-red)}.alert-solid.alert-info{background-color:var(--info-blue)}.alert-solid.alert-neutral{background-color:var(--gray-600);color:var(--white)}.alert-outline{background-color:var(--white);border-width:2px}.alert-outline.alert-success{color:var(--success-green-dark);border-color:var(--success-green)}.alert-outline.alert-warning{color:var(--warning-yellow-dark);border-color:var(--warning-yellow)}.alert-outline.alert-error,.alert-outline.alert-danger{color:var(--error-red-dark);border-color:var(--error-red)}.alert-outline.alert-info{color:var(--info-blue-dark);border-color:var(--info-blue)}.alert-accent{border-left-width:4px;border-top-left-radius:0;border-bottom-left-radius:0}.alert-inline{margin-bottom:0}.toast-container{position:fixed;z-index:var(--z-tooltip);pointer-events:none}.toast-container-top-right{top:var(--space-4);right:var(--space-4)}.toast-container-top-left{top:var(--space-4);left:var(--space-4)}.toast-container-bottom-right{bottom:var(--space-4);right:var(--space-4)}.toast-container-bottom-left{bottom:var(--space-4);left:var(--space-4)}.toast-container-top-center{top:var(--space-4);left:50%;transform:translate(-50%)}.toast-container-bottom-center{bottom:var(--space-4);left:50%;transform:translate(-50%)}.toast{pointer-events:auto;min-width:300px;max-width:400px;margin-bottom:var(--space-3);box-shadow:var(--shadow-lg)}@media(max-width:640px){.toast-container{left:var(--space-2)!important;right:var(--space-2)!important;transform:none!important}.toast{min-width:auto;max-width:none}}.alert-banner{border-radius:0;margin-bottom:0;border-left:none;border-right:none}.alert-list{display:flex;flex-direction:column;gap:var(--space-3)}.alert-list .alert{margin-bottom:0}.alert-progress{position:relative;overflow:hidden}.alert-progress-bar{position:absolute;bottom:0;left:0;height:3px;background-color:currentColor;opacity:.3;animation:alert-progress-shrink linear}@keyframes alert-progress-shrink{0%{width:100%}to{width:0%}}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);font-weight:var(--font-semibold);line-height:1;border-radius:var(--badge-border-radius);white-space:nowrap;vertical-align:middle;transition:all var(--transition-fast)}.badge-primary{background-color:var(--primary-blue);color:var(--white)}.badge-secondary{background-color:var(--gray-200);color:var(--gray-700)}.badge-success{background-color:var(--success-green);color:var(--white)}.badge-warning{background-color:var(--warning-yellow);color:var(--gray-900)}.badge-error,.badge-danger{background-color:var(--error-red);color:var(--white)}.badge-info{background-color:var(--info-blue);color:var(--white)}.badge-neutral{background-color:var(--gray-100);color:var(--text-primary)}.badge-primary-light{background-color:var(--primary-blue-light);color:var(--primary-blue-dark)}.badge-success-light{background-color:var(--success-green-light);color:var(--success-green-dark)}.badge-warning-light{background-color:var(--warning-yellow-light);color:var(--warning-yellow-dark)}.badge-error-light,.badge-danger-light{background-color:var(--error-red-light);color:var(--error-red-dark)}.badge-info-light{background-color:var(--info-blue-light);color:var(--info-blue-dark)}.badge-outline-primary{background-color:transparent;color:var(--primary-blue);border:1px solid var(--primary-blue)}.badge-outline-success{background-color:transparent;color:var(--success-green);border:1px solid var(--success-green)}.badge-outline-warning{background-color:transparent;color:var(--warning-yellow-dark);border:1px solid var(--warning-yellow)}.badge-outline-error,.badge-outline-danger{background-color:transparent;color:var(--error-red);border:1px solid var(--error-red)}.badge-outline-neutral{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-medium)}.badge-sm{padding:2px 6px;font-size:10px}.badge-md{padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size)}.badge-lg{padding:6px 12px;font-size:var(--text-sm)}.badge-dot{display:inline-flex;align-items:center;gap:var(--space-1)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background-color:currentColor}.badge-icon{display:inline-flex;align-items:center;gap:var(--space-1)}.badge-icon svg,.badge-icon i{width:12px;height:12px}.badge-dismissible{display:inline-flex;align-items:center;gap:var(--space-1);padding-right:var(--space-1)}.badge-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:currentColor;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.badge-close:hover{opacity:1;background-color:#0000001a}.badge-pill{border-radius:999px}.badge-square{border-radius:var(--radius-sm)}.badge-count{min-width:20px;height:20px;padding:0 var(--space-1);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-full)}.badge-count-sm{min-width:16px;height:16px;font-size:10px}.badge-group{display:inline-flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.badge-active{background-color:var(--success-green-light);color:var(--success-green-dark)}.badge-active:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--success-green);margin-right:var(--space-1)}.badge-inactive{background-color:var(--gray-100);color:var(--gray-600)}.badge-inactive:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--gray-400);margin-right:var(--space-1)}.badge-pending{background-color:var(--warning-yellow-light);color:var(--warning-yellow-dark)}.badge-pending:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--warning-yellow);margin-right:var(--space-1)}.badge-completed{background-color:var(--success-green-light);color:var(--success-green-dark)}.badge-failed{background-color:var(--error-red-light);color:var(--error-red-dark)}.badge-score-5{background-color:var(--success-green);color:var(--white)}.badge-score-4{background-color:var(--success-green-light);color:var(--success-green-dark)}.badge-score-3{background-color:var(--warning-yellow-light);color:var(--warning-yellow-dark)}.badge-score-2{background-color:var(--error-red-light);color:var(--error-red-dark)}.badge-score-1{background-color:var(--error-red);color:var(--white)}.badge-interactive{cursor:pointer;transition:all var(--transition-fast)}.badge-interactive:hover{opacity:.85;transform:translateY(-1px)}.badge-interactive:active{transform:translateY(0)}.badge-interactive:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.badge-positioned{position:absolute;top:-8px;right:-8px;z-index:1}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;color:#2c3e50;background-color:#f5f7fa;min-width:320px;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin-bottom:.5em}button{font-family:inherit}.toast-notification{position:fixed;bottom:20px;right:20px;min-width:300px;max-width:400px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;z-index:10000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{font-size:24px;font-weight:700;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-message{flex:1;font-size:14px;line-height:1.5;color:#333}.toast-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:#333}.toast-success{border-left:4px solid #22c55e}.toast-success .toast-icon{color:#22c55e;background:#22c55e1a}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444;background:#ef44441a}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b;background:#f59e0b1a}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6;background:#3b82f61a}.toast-notification:nth-child(2){bottom:100px}.toast-notification:nth-child(3){bottom:180px}.toast-notification:nth-child(4){bottom:260px}.filter-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr auto;gap:12px;align-items:center;padding:12px 16px;background:#fff;border:1px solid #ecf0f1;border-radius:6px;margin-bottom:10px;transition:all .2s}.filter-row:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.filter-metric{display:flex;flex-direction:column;gap:4px}.metric-label-text{color:#2c3e50;font-weight:500;font-size:14px}.metric-format{color:#7f8c8d;font-size:12px;font-style:italic}.filter-operator{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;color:#2c3e50;cursor:pointer;transition:all .2s}.filter-operator:hover{border-color:#3498db}.filter-operator:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filter-value-container{position:relative;display:flex;align-items:center}.filter-value{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:all .2s}.filter-value:hover{border-color:#3498db}.filter-value:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filter-value::-webkit-outer-spin-button,.filter-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-value[type=number]{-moz-appearance:textfield}.input-suffix{position:absolute;right:12px;color:#7f8c8d;font-size:14px;pointer-events:none;font-weight:500}.filter-value-container:has(.input-suffix) .filter-value{padding-right:32px}.filter-remove{background:none;border:1px solid #e74c3c;color:#e74c3c;width:32px;height:32px;border-radius:4px;font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.filter-remove:hover{background:#e74c3c;color:#fff}@media(max-width:768px){.filter-row{grid-template-columns:1fr;gap:10px}.metric-label-text{font-size:13px}.filter-operator,.filter-value{width:100%}}.modal-overlay{position:fixed;inset:0;background:var(--modal-backdrop-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-3)}.modal-content{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;z-index:var(--z-modal)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-medium);flex-shrink:0}.modal-header h2{color:var(--text-primary);margin:0;font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.modal-close{background:none;border:none;font-size:var(--text-4xl);color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close:active{background:var(--bg-secondary)}.modal-body{padding:var(--space-4);overflow-y:auto;flex:1}.modal-description{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:var(--leading-normal);font-size:var(--text-sm)}.filter-controls{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-medium)}.filter-search{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.filter-search:focus{outline:none;border-color:var(--primary-blue);box-shadow:var(--shadow-focus)}.filter-actions{display:flex;align-items:center;gap:var(--space-2)}.filter-action-btn{background:var(--white);border:1px solid var(--primary-blue);color:var(--primary-blue);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-action-btn:hover{background:var(--primary-blue);color:var(--white)}.selected-count{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-left:auto}.metrics-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.metrics-selection{display:flex;flex-direction:column;gap:var(--space-3)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2);padding:var(--space-2);background:var(--white)}.metric-category{border:1px solid var(--border-medium);border-radius:var(--radius-md);overflow:hidden}.category-header{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-medium)}.category-toggle{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);flex:1;text-align:left;padding:0;color:var(--text-primary);font-weight:var(--font-semibold);font-size:var(--text-sm)}.category-toggle:hover{color:var(--primary-blue)}.arrow{display:inline-block;transition:transform var(--transition-fast);font-size:var(--text-xs);color:var(--text-secondary)}.arrow.expanded{transform:rotate(90deg)}.category-name{font-size:var(--text-base)}.category-count{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal);margin-left:var(--space-1)}.select-all-btn{background:none;border:1px solid var(--primary-blue);color:var(--primary-blue);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);font-weight:var(--font-medium)}.select-all-btn:hover{background:var(--primary-blue);color:var(--white)}.category-metrics{padding:var(--space-2) var(--space-3);background:var(--white)}.metric-checkbox{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-bottom:var(--space-1)}.metric-checkbox:last-child{margin-bottom:0}.metric-checkbox:hover{background:var(--bg-secondary)}.metric-checkbox input[type=checkbox]{margin-top:2px;cursor:pointer;flex-shrink:0;width:14px;height:14px}.metric-label{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.required-badge{color:var(--error-red);font-size:var(--text-xs);font-weight:var(--font-semibold);font-style:italic}.metric-name{color:var(--text-primary);font-weight:var(--font-medium);font-size:var(--text-sm);line-height:var(--leading-tight)}.metric-description{color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal)}.modal-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-medium);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);flex-shrink:0}.selection-summary{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.modal-actions{display:flex;gap:var(--space-2)}.btn-primary,.btn-secondary,.btn-apply,.btn-cancel{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-primary,.btn-apply{background:var(--primary-blue);color:var(--white)}.btn-primary:hover,.btn-apply:hover{background:var(--primary-blue-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary,.btn-cancel{background:var(--white);color:var(--text-secondary);border:1px solid var(--border-medium)}.btn-secondary:hover,.btn-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.groups-filter-section{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-medium)}.group-color-indicator{display:inline-block;width:14px;height:14px;border-radius:var(--radius-sm);margin-right:var(--space-2);border:1px solid rgba(0,0,0,.1);flex-shrink:0}.group-checkbox .metric-label{display:flex;align-items:center}.groups-list{max-height:180px;overflow-y:auto}.group-filter-mode{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-md);margin:var(--space-2) 0}.filter-mode-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);font-size:var(--text-sm)}.filter-mode-label:hover{background:var(--bg-hover)}.filter-mode-label input[type=radio]{width:14px;height:14px;cursor:pointer;margin:0}.filter-mode-label span{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}@media(max-width:768px){.modal-overlay{padding:0}.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:var(--space-3)}.modal-header h2{font-size:var(--text-xl)}.modal-body{padding:var(--space-3)}.modal-footer{padding:var(--space-3);flex-direction:column;gap:var(--space-2);align-items:stretch}.modal-actions{width:100%;flex-direction:column}.modal-actions button{width:100%}.metrics-categories{grid-template-columns:1fr}.category-header{flex-direction:column;align-items:stretch;gap:var(--space-2)}.select-all-btn{width:100%}.filter-controls{gap:var(--space-2)}.filter-actions{flex-wrap:wrap}.filter-action-btn{flex:1;min-width:100px}}@media(max-width:480px){.metrics-grid{grid-template-columns:1fr}}.save-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.save-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:340px;overflow:hidden;animation:saveModalSlideIn .2s ease-out}@keyframes saveModalSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.save-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.save-modal-header h3{margin:0;font-size:15px;font-weight:600;color:#1f2937}.save-modal-close{background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s;line-height:1}.save-modal-close:hover{background:#e5e7eb;color:#374151}.save-modal-body{padding:16px}.save-mode-toggle{display:flex;gap:0;margin-bottom:16px;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#f3f4f6}.save-mode-btn{flex:1;padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s;position:relative}.save-mode-btn:first-child{border-right:1px solid #d1d5db}.save-mode-btn:hover:not(:disabled){color:#374151;background:#e5e7eb}.save-mode-btn.active{background:#fff;color:#2563eb;font-weight:600}.save-mode-btn:disabled{color:#9ca3af;cursor:not-allowed;opacity:.6}.save-input-section{margin-bottom:8px}.save-name-input,.save-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .15s;box-sizing:border-box}.save-name-input::placeholder{color:#9ca3af}.save-name-input:hover,.save-select:hover{border-color:#9ca3af}.save-name-input:focus,.save-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.save-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.save-error{color:#dc2626;font-size:12px;margin-top:8px;padding:6px 8px;background:#fef2f2;border-radius:4px;border:1px solid #fecaca}.save-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb}.save-btn-cancel,.save-btn-primary{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.save-btn-cancel{background:#fff;color:#6b7280;border:1px solid #d1d5db}.save-btn-cancel:hover{background:#f3f4f6;color:#374151}.save-btn-primary{background:#2563eb;color:#fff}.save-btn-primary:hover{background:#1d4ed8}.save-btn-primary:active{background:#1e40af}@media(max-width:400px){.save-modal{max-width:100%;margin:0 8px}.save-mode-btn{padding:8px;font-size:12px}}.screener{width:100%;max-width:2400px;margin:0 auto;padding:var(--space-3) var(--space-6)}.screener-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.screener h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0;line-height:var(--leading-tight)}.screener-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.search-bar-container{position:relative;width:100%;max-width:500px;margin-top:var(--space-3)}.search-input{width:100%;padding:var(--space-2) var(--space-10) var(--space-2) var(--space-3);border:1px solid var(--border-base);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-base);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-input::placeholder{color:var(--text-tertiary)}.clear-search-btn{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-tertiary);font-size:var(--text-2xl);line-height:1;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .2s ease}.clear-search-btn:hover{background:var(--bg-subtle);color:var(--text-secondary)}.header-actions{display:flex;gap:var(--space-2);align-items:center}.load-screen-container{display:flex;gap:var(--space-1);align-items:center}.load-screen-dropdown{padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--white);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);min-width:180px}.load-screen-dropdown:hover{border-color:var(--primary-blue)}.load-screen-dropdown:focus{outline:none;border-color:var(--primary-blue);box-shadow:var(--shadow-focus)}.delete-screen-btn{padding:var(--space-2);background:var(--white);color:var(--error-red);border:1px solid var(--error-red);border-radius:var(--radius-md);font-size:var(--text-xl);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-fast);line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.delete-screen-btn:hover{background:var(--error-red);color:#fff}.save-screen-btn-header{padding:var(--space-2) var(--space-4);background:var(--success-green);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.save-screen-btn-header:hover{background:var(--success-green-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.add-filters-btn-header{padding:var(--space-2) var(--space-4);background:var(--primary-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.add-filters-btn-header:hover{background:var(--primary-blue-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.screener-container{display:block}.results-panel{background:var(--white);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-height:400px}.column-actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-md)}.column-actions-section h4{color:var(--text-primary);font-size:var(--text-sm);margin:0;font-weight:var(--font-semibold)}.column-actions{display:flex;gap:var(--space-2);align-items:center}.results-header{margin-bottom:var(--space-3)}.results-header h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.results-count{color:var(--text-secondary);font-size:var(--text-sm)}.results-table{width:100%;border-collapse:collapse;background:var(--white);font-size:var(--text-sm)}.results-table thead{background:var(--border-light);position:sticky;top:0;z-index:var(--z-sticky)}.results-table th{padding:var(--space-2);text-align:left;font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-tight);white-space:nowrap}.results-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);position:relative}.results-table th.sortable:hover{background:var(--border-medium);color:var(--primary-blue)}.results-table th.sortable:active{background:var(--border-dark)}.sort-indicator{font-size:var(--text-xs);color:var(--primary-blue);margin-left:var(--space-1)}.results-table td{padding:var(--space-2);border-top:1px solid var(--border-light);font-size:var(--text-sm);line-height:var(--leading-normal)}.results-table tbody tr{transition:all var(--transition-fast)}.results-table tbody tr:hover{background:var(--gray-50)}.results-table .company-name{font-weight:var(--font-medium);color:var(--text-primary);text-align:left!important}.company-link{color:var(--primary-blue);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}.company-link:hover{color:var(--primary-blue-hover);text-decoration:underline}.results-table .currency,.results-table .percent{text-align:right;font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.view-link{color:var(--primary-blue);text-decoration:none;font-weight:var(--font-medium)}.view-link:hover{text-decoration:underline}.empty-state,.no-results{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.no-results{background:var(--gray-50);border-radius:var(--radius-lg)}.error{background:#e74c3c1a;color:var(--error-red);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-sm)}.custom-filters-section{margin-bottom:var(--space-4)}.custom-filters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.custom-filters-header h3{color:var(--text-primary);font-size:var(--text-xl);margin:0;font-weight:var(--font-semibold)}.filter-actions{display:flex;gap:var(--space-2);align-items:center}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none}.btn-blue{background:var(--primary-blue);color:#fff}.btn-blue:hover{background:var(--primary-blue-hover)}.btn-purple{background:var(--info-blue);color:#fff}.btn-purple:hover{background:var(--info-blue-dark)}.btn-green{background:var(--success-green);color:#fff}.btn-green:hover{background:var(--success-green-dark)}.btn-secondary{background:var(--gray-50);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--border-light)}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-sm:disabled:hover{transform:none;box-shadow:none}.btn-green:disabled{background:var(--success-green)}.btn-blue:disabled{background:var(--primary-blue)}.dropdown-sm{padding:var(--space-1) var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--white);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);min-width:140px}.dropdown-sm:hover{border-color:var(--info-blue)}.dropdown-sm:focus{outline:none;border-color:var(--info-blue);box-shadow:0 0 0 2px #9b59b61a}.dropdown-sm:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-50)}.dropdown-sm:disabled:hover{border-color:var(--border-light)}.clear-filters-btn{padding:var(--space-2) var(--space-3);background:var(--white);color:var(--error-red);border:1px solid var(--error-red);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.clear-filters-btn:hover{background:var(--error-red);color:#fff}.custom-filters-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.no-custom-filters{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-3);text-align:center;background:var(--gray-50);border-radius:var(--radius-md);margin:0}.group-filters-section{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.group-filters-section h4{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-semibold)}.group-filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.group-filter-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid;background:var(--white)}.group-filter-btn.none{border-color:var(--border-light);color:var(--text-secondary);background:var(--white)}.group-filter-btn.none:hover{border-color:var(--border-medium);background:var(--gray-50);transform:translateY(-1px)}.group-filter-btn.include{border-color:var(--group-color);background:var(--group-color);color:#fff;box-shadow:var(--shadow-sm)}.group-filter-btn.include:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:var(--shadow-md)}.group-filter-btn.exclude{border-color:var(--group-color);background:var(--white);color:var(--group-color);box-shadow:0 0 0 1px var(--group-color) inset}.group-filter-btn.exclude:hover{background:var(--gray-50);transform:translateY(-1px)}.group-filter-icon{font-size:var(--text-sm);font-weight:var(--font-bold);min-width:14px;display:inline-flex;align-items:center;justify-content:center}.group-filter-label{white-space:nowrap}.group-filters-active{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.group-filters-active h4{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-semibold)}.group-filters-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.group-filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--white);border:2px solid;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.group-filter-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.group-filter-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.group-filter-name{color:var(--text-primary)}.group-filter-remove{background:none;border:none;color:var(--text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;padding:0;margin-left:var(--space-1);transition:color var(--transition-fast)}.group-filter-remove:hover{color:var(--error-red)}.bulk-actions-toolbar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-3);box-shadow:var(--shadow-lg)}.bulk-actions-info{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--font-semibold);font-size:var(--text-sm)}.bulk-actions-info .btn-sm{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.bulk-actions-info .btn-sm:hover{background:#ffffff4d}.bulk-actions-controls{display:flex;gap:var(--space-2);align-items:center}.bulk-actions-controls .dropdown-sm{min-width:160px}.bulk-actions-controls .btn-secondary{background:#ffffffe6;color:#764ba2;font-weight:var(--font-semibold)}.bulk-actions-controls .btn-secondary:hover{background:#fff}.checkbox-column{width:40px;text-align:center;padding:var(--space-2)!important}.checkbox-cell{text-align:center;padding:var(--space-2)!important}.checkbox-cell input[type=checkbox],.checkbox-column input[type=checkbox]{cursor:pointer;width:14px;height:14px}.group-cell{min-width:100px;max-width:160px}.group-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap;box-shadow:var(--shadow-sm)}.no-group{color:var(--text-muted);font-size:var(--text-sm)}.watchlist-cell{min-width:80px;max-width:120px;text-align:center}.watchlist-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:linear-gradient(135deg,gold,#ffed4e);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:default;white-space:nowrap}.watchlist-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);transition:all var(--transition-fast)}.no-watchlist{color:var(--text-muted);font-size:var(--text-sm)}.results-table tbody tr.selected-row{background:var(--primary-blue-light)!important;border-left:3px solid var(--primary-blue)}@media(max-width:768px){.screener{padding:var(--space-2) var(--space-4)}.screener-header{flex-direction:column;gap:var(--space-3)}.header-actions{width:100%;flex-direction:column}.load-screen-container{width:100%}.load-screen-dropdown{flex:1;min-width:auto}.save-screen-btn-header,.add-filters-btn-header{width:100%}.custom-filters-header{flex-direction:column;align-items:stretch;gap:var(--space-2)}.custom-filters-list{grid-template-columns:1fr}.clear-filters-btn{width:100%}.bulk-actions-toolbar{flex-direction:column;gap:var(--space-2)}.bulk-actions-controls{width:100%;flex-direction:column}.bulk-actions-controls .dropdown-sm,.bulk-actions-controls .btn-secondary{width:100%}.results-panel{padding:var(--space-3)}.results-table th,.results-table td{padding:var(--space-1) var(--space-1);font-size:var(--text-xs)}.score-badge{padding:2px 6px;font-size:.7rem}}.score-badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:700;text-align:center;min-width:40px;letter-spacing:.3px}.score-badge.score-none{background:#f3f4f6;color:#6b7280;font-weight:500}.score-badge.score-1{background:#fee2e2;color:#991b1b}.score-badge.score-2{background:#fed7aa;color:#9a3412}.score-badge.score-3{background:#fef3c7;color:#92400e}.score-badge.score-4{background:#d1fae5;color:#065f46}.score-badge.score-5{background:#10b981;color:#fff}.ownership-badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:700;text-align:center;min-width:65px;letter-spacing:.3px}.ownership-badge.ownership-public{background-color:#dbeafe;color:#1e40af}.ownership-badge.ownership-private{background-color:#f3f4f6;color:#4b5563}.ownership-badge.ownership-subsidiary{background-color:#fef3c7;color:#92400e}.review-badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:700;text-align:center;min-width:120px;letter-spacing:.3px}.review-badge.review-required{background-color:#fed7aa;color:#9a3412}.review-badge.review-ok{background-color:#d1fae5;color:#065f46}.review-badge.review-none{background-color:#f3f4f6;color:#6b7280;font-weight:500}.pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--gray-50);border-radius:var(--radius-md);margin-top:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.pagination-info{color:var(--text-secondary);font-size:var(--text-sm)}.pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.pagination-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){border-color:var(--primary-blue);background:var(--primary-blue-light)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-current{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium);padding:0 var(--space-2)}.pagination-size{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.pagination-size select{padding:var(--space-1) var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--white);font-size:var(--text-sm);cursor:pointer}@media(max-width:768px){.pagination{flex-direction:column;gap:var(--space-3)}.pagination-controls{order:2}.pagination-info{order:1;text-align:center;width:100%}.pagination-size{order:3;width:100%;justify-content:center}}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:var(--space-3);border:1px solid var(--border-light)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-primary);transition:all var(--transition-fast)}.filter-chip:hover{box-shadow:var(--shadow-sm)}.filter-chip-search{background:var(--primary-blue-light);border-color:var(--primary-blue)}.filter-chip-search .chip-icon{background:var(--primary-blue);color:#fff;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-bold)}.filter-chip-group{border-width:2px}.filter-chip-group .chip-icon{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--font-bold);color:#fff}.filter-chip-include{border-color:var(--success-green)}.filter-chip-exclude{border-color:var(--error-red)}.filter-chip-metric{background:var(--gray-100);border-color:var(--border-medium)}.chip-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-remove{background:none;border:none;color:var(--text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;padding:0;margin-left:var(--space-1);transition:color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%}.chip-remove:hover{color:var(--error-red);background:#dc35451a}.group-filter-controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}.group-filter-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border-light)}.group-filter-item:hover{border-color:var(--border-medium)}.group-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.group-filter-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap}.group-filter-select{padding:var(--space-1) var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--white);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;min-width:120px}.group-filter-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px var(--primary-blue-light)}@media(max-width:768px){.filter-chips{padding:var(--space-2)}.filter-chip{font-size:.7rem}.group-filter-item{flex-wrap:wrap}.group-filter-select{width:100%}}.financial-statements{padding:var(--space-5) 0}.loading,.error,.no-data{padding:var(--space-10);text-align:center;font-size:var(--text-base);color:var(--text-secondary)}.performance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.perf-card{background:#f8f9fa;color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d;transition:border-color var(--transition-fast)}.perf-card:hover{border-color:#3b82f6}.perf-card h3{font-size:var(--text-xs);font-weight:var(--font-medium);margin-bottom:var(--space-2);color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.perf-card .value{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-1);color:#2563eb}.perf-card .label{font-size:var(--text-xs);color:#9ca3af}.perf-card.green,.perf-card.blue,.perf-card.purple,.perf-card.orange{background:#f8f9fa;color:var(--text-primary)}.chart-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.chart-header h2{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:var(--font-semibold)}.chart-container{position:relative;height:300px;background:var(--white);border-radius:var(--radius-md);padding:var(--space-4)}.statement-section{margin-bottom:var(--space-5);border:1px solid var(--border-medium);border-radius:var(--radius-md);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm)}.statement-header{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;border-bottom:2px solid var(--border-medium)}.statement-header:hover{background:#e5e7eb;border-bottom-color:#3b82f6}.statement-header h2{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.statement-header .toggle-icon{font-size:var(--text-xl);transition:transform var(--transition-base) ease;display:inline-block}.statement-header.collapsed .toggle-icon{transform:rotate(-90deg)}.statement-header .expand-hint{font-size:var(--text-xs);opacity:.8;margin-left:var(--space-4);font-weight:var(--font-normal)}.statement-content{max-height:3000px;overflow:hidden;transition:max-height var(--transition-base) ease-out}.statement-content.collapsed{max-height:0}.statement-table{width:100%;border-collapse:collapse}.statement-table thead th{background:var(--bg-secondary);padding:var(--space-3) var(--space-4);text-align:right;font-weight:var(--font-semibold);color:var(--text-primary);border-bottom:2px solid var(--border-dark);font-size:var(--text-sm);position:sticky;top:0;z-index:10}.statement-table thead th:first-child{text-align:left;position:sticky;left:0;background:var(--bg-secondary);z-index:11}.statement-table tbody tr:nth-child(2n){background:var(--gray-50)}.statement-table tbody tr:hover{background:var(--primary-blue-light)}.statement-table tbody td{padding:var(--space-2) var(--space-4);text-align:right;border-bottom:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-secondary)}.statement-table tbody td:first-child{text-align:left;font-weight:var(--font-medium);color:var(--text-primary);background:var(--white);position:sticky;left:0;border-right:1px solid var(--border-light)}.statement-table tbody tr:nth-child(2n) td:first-child{background:var(--gray-50)}.statement-table tbody tr:hover td:first-child{background:var(--primary-blue-light)}.expandable-row{cursor:pointer;-webkit-user-select:none;user-select:none}.expandable-row td:first-child{display:flex;align-items:center;gap:var(--space-2)}.chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:var(--text-xs);color:var(--text-tertiary);transition:transform var(--transition-fast) ease;flex-shrink:0}.expandable-row.expanded .chevron{transform:rotate(90deg)}.expandable-row:hover .chevron{color:var(--primary-blue)}.child-row,.child-row td:first-child{background:var(--bg-secondary)!important}.child-row:hover td:first-child{background:var(--gray-200)!important}.value-with-growth{display:flex;flex-direction:column;align-items:flex-end}.main-value{font-weight:var(--font-medium)}.growth-rate{font-size:var(--text-xs);font-weight:var(--font-semibold);margin-top:2px}.growth-rate.positive{color:var(--success-green)}.growth-rate.negative{color:var(--error-red)}.subtotal-row{background:var(--info-blue-light)!important;font-weight:var(--font-semibold)}.subtotal-row td{border-top:2px solid var(--info-blue)!important;border-bottom:2px solid var(--info-blue)!important;color:var(--text-primary)!important;padding-top:var(--space-3)!important;padding-bottom:var(--space-3)!important}.total-row{background:#d4e9f7!important;font-weight:var(--font-bold)}.total-row td{border-top:3px double #2980b9!important;border-bottom:3px double #2980b9!important;color:#1a5490!important;font-size:var(--text-sm);padding-top:var(--space-3)!important;padding-bottom:var(--space-3)!important}.indent-0{padding-left:var(--space-4)!important}.indent-1{padding-left:var(--space-10)!important}.indent-2{padding-left:calc(var(--space-10) + var(--space-6))!important}.indent-3{padding-left:calc(var(--space-10) + var(--space-10))!important}.negative{color:var(--error-red)}.section-income .statement-header{background:var(--bg-secondary);border-left:4px solid #6366f1}.section-balance .statement-header{background:var(--bg-secondary);border-left:4px solid #14b8a6}.section-cashflow .statement-header{background:var(--bg-secondary);border-left:4px solid #8b5cf6}.company-search-container{position:relative;margin-bottom:var(--space-6);max-width:600px;width:100%;margin-left:auto;margin-right:auto}.company-search-input-wrapper{position:relative}.company-search-input{width:100%;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-4);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background-color:var(--white);color:var(--text-primary)}.company-search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:var(--shadow-focus)}.company-search-input::placeholder{color:var(--text-tertiary)}.search-loading-spinner{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.spinner{width:16px;height:16px;border:2px solid var(--border-medium);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;background:var(--white);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;z-index:var(--z-dropdown)}.search-dropdown::-webkit-scrollbar{width:8px}.search-dropdown::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-md)}.search-dropdown::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-md)}.search-dropdown::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.search-result-item{padding:var(--space-3) var(--space-4);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--border-light)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.keyboard-selected{background-color:var(--bg-hover)}.search-result-name{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1);font-size:var(--text-sm)}.search-result-meta{font-size:var(--text-sm);color:var(--text-secondary)}.search-result-revenue{color:var(--success-green);font-weight:var(--font-medium)}.search-loading-state{padding:var(--space-5);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}.search-empty-state{padding:var(--space-5) var(--space-4);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.company-search-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.search-result-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}@media(max-width:768px){.company-search-container{max-width:100%}.company-search-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-9) var(--space-2) var(--space-3)}.search-result-item{padding:var(--space-2) var(--space-3)}.search-result-name{font-size:var(--text-sm)}.search-result-meta{font-size:var(--text-xs)}}.watchlist-dropdown{position:relative;display:inline-block}.watchlist-dropdown-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.watchlist-dropdown-button:hover{background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.watchlist-dropdown-button svg:first-child{width:16px;height:16px}.dropdown-arrow{width:12px;height:12px;transition:transform var(--transition-fast)}.dropdown-arrow.open{transform:rotate(180deg)}.watchlist-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:280px;max-width:320px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden}.watchlist-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:var(--text-sm)}.watchlist-count{font-size:var(--text-xs);color:var(--text-secondary);font-weight:400}.watchlist-dropdown-list{max-height:300px;overflow-y:auto}.watchlist-dropdown-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary)}.watchlist-dropdown-empty p{margin:0;font-size:var(--text-sm)}.watchlist-dropdown-empty .text-muted{margin-top:.25rem;font-size:var(--text-xs);color:var(--text-muted)}.watchlist-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-light)}.watchlist-dropdown-item:last-child{border-bottom:none}.watchlist-dropdown-item:hover{background:var(--bg-hover)}.watchlist-dropdown-item.processing{opacity:.6;cursor:wait}.watchlist-dropdown-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.watchlist-dropdown-item input[type=checkbox]:disabled{cursor:wait}.watchlist-name{flex:1;font-size:var(--text-sm);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-company-count{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-secondary);padding:.125rem .5rem;border-radius:var(--radius-sm);min-width:2rem;text-align:center}.watchlist-dropdown-footer{padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.create-watchlist-link{display:block;color:var(--primary-color);font-size:var(--text-sm);font-weight:500;text-decoration:none;text-align:center;transition:color var(--transition-fast)}.create-watchlist-link:hover{color:var(--primary-hover);text-decoration:underline}@media(max-width:640px){.watchlist-dropdown-menu{right:0;left:0;min-width:auto;max-width:none}.watchlist-dropdown-button span{display:none}.watchlist-dropdown-button{padding:.5rem}}.pdf-export-wrapper{position:relative;display:inline-block}.pdf-export-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pdf-export-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.pdf-export-button:disabled{opacity:.7;cursor:wait}.pdf-export-button.generating{background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.pdf-export-button svg{width:16px;height:16px;flex-shrink:0}.pdf-spinner{animation:pdf-spin 1s linear infinite}@keyframes pdf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-error-tooltip{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--danger-color, #ef4444);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;z-index:var(--z-tooltip, 1000);animation:pdf-tooltip-fade-in .2s ease-out;box-shadow:var(--shadow-md)}.pdf-error-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--danger-color, #ef4444)}@keyframes pdf-tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:640px){.pdf-export-button span{display:none}.pdf-export-button{padding:.5rem}.pdf-error-tooltip{left:auto;right:0;transform:none}.pdf-error-tooltip:before{left:auto;right:10px;transform:none}}.enrichment-control-card{background:#f8f9fa;border:1px solid #e5e7eb;padding:12px 24px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.enrichment-status{display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap}.status-label{color:#6b7280;font-weight:500}.status-value{color:#1f2937;font-weight:600;font-size:13px}.status-warning{color:#92400e;background:#fef3c7;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.enrichment-freshness{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.enrichment-freshness.fresh{background:#d1fae5;color:#059669}.enrichment-freshness.stale{background:#fef3c7;color:#92400e}.enrichment-freshness.outdated,.enrichment-freshness.missing{background:#fee2e2;color:#dc2626}.btn-enrich{background:#3b82f6;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.btn-enrich:hover{background:#2563eb}.btn-enrich:disabled{background:#d1d5db;cursor:not-allowed}.enrich-cost{font-size:11px;opacity:.9;background:#fff3;padding:2px 8px;border-radius:4px}.key-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:24px}.metric-card{background:#f8f9fa!important;border:1px solid #e5e7eb!important;border-radius:8px;padding:16px;transition:border-color .2s}.metric-card:hover{border-color:#3b82f6!important}.metric-card.investability{border-left:4px solid!important}.metric-card.investability.score-5{border-left-color:#10b981!important;background:#f8f9fa!important}.metric-card.investability.score-4{border-left-color:#3b82f6!important;background:#f8f9fa!important}.metric-card.investability.score-3{border-left-color:#f59e0b!important;background:#f8f9fa!important}.metric-card.investability.score-2{border-left-color:#ef4444!important;background:#f8f9fa!important}.metric-card.investability.score-1{border-left-color:#dc2626!important;background:#f8f9fa!important}.metric-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-value{font-size:24px;font-weight:600;color:#2563eb;margin-bottom:4px;line-height:1.2}.metric-card.investability .metric-value{font-size:28px}.metric-value.sector-text{font-size:18px;line-height:1.2}.metric-tag{font-size:11px;color:#9ca3af;margin-bottom:8px}.metric-detail{font-size:12px;color:#6b7280;line-height:1.4;font-style:italic;margin-top:4px}.metric-detail.uninvestable-reason{color:#dc2626;font-weight:600;font-style:normal;text-transform:capitalize;background:#fef2f2;padding:6px 10px;border-radius:4px;border:1px solid #fecaca;margin-top:8px}.metric-card.action{display:flex;flex-direction:column;gap:12px;justify-content:center}.website-link{display:flex;justify-content:space-between;align-items:center;background:#3b82f6;color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none;font-weight:500;font-size:14px;transition:background .2s}.website-link:hover{background:#2563eb}.social-links-compact{display:flex;gap:8px;justify-content:center}.social-links-compact a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;text-decoration:none;color:#374151;background:#fff;font-weight:600;font-size:12px;transition:all .2s}.social-links-compact a:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.business-summary-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #6366f1;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d;margin-bottom:24px}.business-summary-card h2{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px}.business-summary-card p,.business-summary-content{font-size:14px;line-height:1.7;color:#4b5563}.business-summary-content h2{font-size:15px;font-weight:600;color:#374151;margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.business-summary-content h2:first-child{margin-top:0}.business-summary-content h3{font-size:14px;font-weight:600;color:#4b5563;margin:16px 0 8px}.business-summary-content p{margin:0 0 12px}.business-summary-content p:last-child{margin-bottom:0}.business-summary-content ul{margin:8px 0 12px;padding-left:20px}.business-summary-content li{margin-bottom:4px;line-height:1.5}.business-summary-content strong{font-weight:600;color:#374151}.analysis-section{border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0000000d;margin-bottom:24px;overflow:hidden}.analysis-header{background:#f8f9fa;padding:12px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;transition:all .2s;-webkit-user-select:none;user-select:none}.analysis-header:hover{background:#e5e7eb;border-bottom-color:#3b82f6}.analysis-header h3{margin:0;font-size:14px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.detail-count{font-size:12px;font-weight:400;color:#6b7280;margin-left:8px}.toggle-icon{font-size:16px;color:#9ca3af;transition:transform .3s}.analysis-section.collapsed .toggle-icon{transform:rotate(-90deg)}.analysis-content{padding:20px;max-height:1000px;overflow:hidden;transition:max-height .3s ease-out,padding .3s}.analysis-content.collapsed{max-height:0;padding:0 20px}.signals-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.signal-column h4{font-size:13px;font-weight:600;margin-bottom:12px}.signal-column.positive h4{color:#059669}.signal-column.negative h4{color:#dc2626}.signal-column ul{list-style:none;padding:0;margin:0}.signal-column li{padding:8px 12px;margin-bottom:6px;background:#f9fafb;border-radius:4px;font-size:13px;line-height:1.5;border-left:3px solid transparent}.signal-column.positive li{border-left-color:#10b981}.signal-column.negative li{border-left-color:#ef4444}.llm-analysis{background:#f0f9ff;border-left:3px solid #3b82f6;padding:12px 16px;border-radius:4px;font-size:13px;line-height:1.6;color:#374151}.llm-analysis strong{color:#1e40af}.uninvestable-warning{background:linear-gradient(135deg,#fff,#f8d7da);border:2px solid #721c24;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.uninvestable-warning h3{color:#721c24;font-size:18px;font-weight:600;margin-bottom:12px}.uninvestable-warning p{color:#333;font-size:14px;line-height:1.6}.uninvestable-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(114,28,36,.2);font-size:13px;color:#666;white-space:pre-wrap}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.overview-left-column,.overview-right-column{display:flex;flex-direction:column;gap:24px}.directors-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000d}.directors-section h2{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.directors-summary{display:flex;gap:24px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.summary-stat{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px}.summary-stat strong{color:#2563eb;font-weight:600}.directors-table{width:100%;border-collapse:collapse}.directors-table thead{background:#f8f9fa}.directors-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.directors-table td{padding:12px;font-size:14px;border-bottom:1px solid #f0f0f0;color:#1f2937}.directors-table tbody tr:nth-child(2n){background:#f9fafb}.directors-table tbody tr:hover{background:#eff6ff}.role-badges{display:flex;gap:6px;flex-wrap:wrap}.role-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#eff6ff;color:#1e40af}.company-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000d}.company-info-card h2{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.info-card-content{display:flex;flex-direction:column;gap:20px}.info-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:#1f2937;font-weight:500}.enriched-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#d4edda;color:#155724;border-radius:4px;font-size:11px;font-weight:600}.info-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000d}.info-section h2,.info-section h3{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.ownership-diagram{display:flex;flex-direction:column;align-items:center;padding:20px;background:#f9fafb;border-radius:8px}.diagram-level{width:100%;max-width:800px;margin:0 auto}.level-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;text-align:center}.companies-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}.ownership-company{background:#fff;border:2px solid;border-radius:8px;padding:16px 20px;min-width:180px;max-width:280px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.ownership-company:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.parent-company{border-color:#10b981;background:#fff;border-left:4px solid #10b981}.target-company{border-color:#3b82f6;background:#fff;border-left:4px solid #3b82f6;box-shadow:0 2px 4px #3b82f61a}.subsidiary-company{border-color:#f59e0b;background:#fff;border-left:4px solid #f59e0b}.company-name{font-weight:600;font-size:14px;color:#1f2937;margin-bottom:8px;word-break:break-word}.ownership-badge{display:inline-block;background:#10b981;color:#fff;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-top:4px}.target-badge{display:inline-block;background:#3b82f6;color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.company-country{font-size:12px;color:#6b7280;margin-top:6px;font-style:italic}.diagram-arrow{display:flex;flex-direction:column;align-items:center;margin:16px 0;gap:4px}.arrow-line{width:2px;height:30px;background:linear-gradient(to bottom,#6b7280,#9ca3af)}.arrow-head{font-size:20px;color:#6b7280;line-height:1}.arrow-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#fff;padding:2px 8px;border-radius:10px;border:1px solid #d1d5db}.diagram-message{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#fff;border:2px dashed #d1d5db;border-radius:8px;margin:12px 0}.message-icon{font-size:24px;opacity:.5}.message-text{font-size:13px;color:#6b7280;text-align:center;font-style:italic}.ownership-legend{display:flex;justify-content:center;gap:24px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.legend-color{width:16px;height:16px;border-radius:4px;border:2px solid}.legend-color.parent-color{border-color:#10b981;background:#fff;border-left:4px solid #10b981}.legend-color.target-color{border-color:#3b82f6;background:#fff;border-left:4px solid #3b82f6}.legend-color.subsidiary-color{border-color:#f59e0b;background:#fff;border-left:4px solid #f59e0b}.business-names-list{display:flex;flex-wrap:wrap;gap:8px}.business-name-badge{display:inline-block;padding:6px 12px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:12px;font-size:12px;font-weight:500}.professional-services-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000d}.professional-services-section h2{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.service-category{margin-bottom:16px}.service-category:last-child{margin-bottom:0}.service-category h3{font-size:14px;font-weight:600;color:#2563eb;margin-bottom:8px;text-transform:capitalize}.service-list{display:flex;flex-direction:column;gap:6px}.service-item{font-size:14px;color:#1f2937;padding:10px 12px;background:#f9fafb;border-radius:6px;border-left:3px solid #3b82f6}.company-overview{animation:fadeIn .3s}.loading-overview,.error-overview,.empty-overview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.error-overview h3{color:#dc2626;margin-bottom:8px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 12px #00000026}.modal-content h3{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:12px}.modal-content p{font-size:14px;color:#6b7280;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-actions button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid #d1d5db;background:#fff;transition:all .2s}.modal-actions button:hover{background:#f9fafb}.modal-actions button.btn-primary{border:none;background:#3b82f6;color:#fff}.modal-actions button.btn-primary:hover{background:#2563eb}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.warning-text{color:#92400e;font-size:13px;margin-top:8px;font-style:italic}.info-text{color:#1f2937;font-size:13px;margin-top:12px;padding:10px 12px;background:#f0f9ff;border-left:3px solid #3b82f6;border-radius:4px;line-height:1.5}@media(max-width:1024px){.overview-grid{grid-template-columns:1fr}}@media(max-width:768px){.key-metrics-row,.signals-grid{grid-template-columns:1fr}.companies-row{flex-direction:column;width:100%}.ownership-company{width:100%;max-width:none}.info-group{grid-template-columns:1fr}.directors-summary{flex-direction:column;gap:12px}}.linkedin-profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;height:100%}.linkedin-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.linkedin-icon{color:#0a66c2;flex-shrink:0}.linkedin-header h3{margin:0;font-size:14px;font-weight:600;color:#374151;flex-grow:1}.linkedin-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:#6b7280;transition:all .2s ease}.linkedin-link:hover{background:#f3f4f6;color:#0a66c2}.external-link-icon{width:14px;height:14px}.linkedin-loading,.linkedin-error{padding:20px;text-align:center;color:#6b7280;font-size:13px}.linkedin-error{color:#dc2626}.linkedin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;color:#9ca3af;font-size:13px;gap:8px}.linkedin-empty .empty-icon{font-size:24px;font-weight:300;color:#d1d5db}.linkedin-not-found{opacity:.7}.linkedin-content{display:flex;flex-direction:column;gap:16px}.linkedin-metric-primary{background:#f8fafc;border-radius:6px;padding:12px 14px;border:1px solid #e2e8f0}.linkedin-metric-primary .metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px}.linkedin-metric-primary .metric-value{font-size:20px;font-weight:600;color:#1e293b}.linkedin-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.linkedin-metric{display:flex;flex-direction:column}.linkedin-metric .metric-label{font-size:11px;color:#6b7280;margin-bottom:2px}.linkedin-metric .metric-value{font-size:14px;font-weight:500;color:#374151}.linkedin-metric .metric-value-text{font-weight:400;font-size:13px;color:#4b5563;line-height:1.3}.linkedin-specialties{margin-top:4px}.linkedin-specialties .metric-label{font-size:11px;color:#6b7280;margin-bottom:8px}.specialties-list{display:flex;flex-wrap:wrap;gap:6px}.specialty-tag{background:#f3f4f6;color:#4b5563;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.linkedin-footer{margin-top:16px;padding-top:12px;border-top:1px solid #f3f4f6}.last-updated{font-size:11px;color:#9ca3af}@media(max-width:640px){.linkedin-metrics-grid{grid-template-columns:1fr}}.news-sentiment{animation:fadeIn .3s}.ns-control-card{background:#f8f9fa;border:1px solid #e5e7eb;padding:12px 24px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.ns-status{display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap}.ns-status-label{color:#6b7280;font-weight:500}.ns-status-value{color:#1f2937;font-weight:600}.ns-freshness{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ns-freshness.fresh{background:#d1fae5;color:#059669}.ns-freshness.stale{background:#fef3c7;color:#92400e}.ns-freshness.outdated,.ns-freshness.missing{background:#fee2e2;color:#dc2626}.ns-refresh-btn{background:#3b82f6;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.ns-refresh-btn:hover{background:#2563eb}.ns-refresh-btn:disabled{background:#d1d5db;cursor:not-allowed}.ns-cost{font-size:11px;background:#fff3;padding:2px 8px;border-radius:10px}.ns-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.ns-metric-card{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:border-color .2s}.ns-metric-card:hover{border-color:#3b82f6}.ns-metric-card.ns-sentiment-card{border-left:4px solid #3b82f6}.ns-metric-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ns-metric-value{font-size:24px;font-weight:600;color:#2563eb;margin-bottom:4px;line-height:1.2;display:flex;align-items:center;gap:8px}.ns-metric-value.ns-confidence,.ns-sentiment-emoji{font-size:20px}.ns-metric-tag{font-size:11px;color:#9ca3af}.ns-summary-section{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d;margin-bottom:24px}.ns-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.ns-section-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.ns-summary-text{font-size:14px;color:#374151;line-height:1.6;margin:0}.ns-articles-section{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #10b981;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px}.ns-toggle-btn{background:transparent;border:1px solid #d1d5db;padding:6px 14px;border-radius:6px;color:#6b7280;font-size:13px;cursor:pointer;transition:all .2s}.ns-toggle-btn:hover{background:#f9fafb;border-color:#9ca3af}.ns-articles-list{display:flex;flex-direction:column;gap:16px}.ns-article-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.ns-article-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.ns-article-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ns-article-category{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:#e5e7eb;border-radius:12px;font-size:12px;font-weight:600;color:#4b5563}.ns-article-sentiment{font-size:18px;font-weight:700}.ns-article-title{margin:0 0 12px;font-size:16px;line-height:1.4}.ns-article-title a{color:#1f2937;text-decoration:none;transition:color .2s}.ns-article-title a:hover{color:#3b82f6}.ns-article-snippet{color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 12px}.ns-article-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:8px}.ns-article-source{display:flex;align-items:center;gap:12px}.ns-source-domain{color:#3b82f6;font-weight:600;font-size:13px}.ns-article-date{color:#9ca3af;font-size:12px}.ns-article-brand{font-size:11px;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:4px}.ns-footer-metadata{text-align:center;color:#9ca3af;padding:8px 0;font-size:12px}.ns-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.ns-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.ns-loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.ns-empty-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;min-height:300px}.ns-empty-icon{font-size:48px;margin-bottom:16px}.ns-empty-state-card h3{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.ns-empty-state-card p{font-size:14px;color:#6b7280;margin:0 0 24px;max-width:400px}.ns-progress-info{margin-top:16px;color:#9ca3af}.ns-metadata-small{font-size:12px;color:#9ca3af;margin-top:16px;max-width:400px}.ns-btn-primary{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.ns-btn-primary:hover{background:#2563eb}.ns-btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.ns-btn-primary .ns-cost{background:#fff3;padding:2px 8px;border-radius:10px;font-size:12px}.ns-error-message{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-top:16px;text-align:center;font-size:14px}@media(max-width:768px){.ns-control-card{flex-direction:column;align-items:flex-start}.ns-refresh-btn{width:100%;justify-content:center}.ns-metrics-row{grid-template-columns:1fr 1fr}.ns-section-header,.ns-article-footer{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.ns-metrics-row{grid-template-columns:1fr}.ns-status{flex-direction:column;align-items:flex-start;gap:8px}}.digital-footprint{animation:fadeIn .3s}.df-control-card{background:#f8f9fa;border:1px solid #e5e7eb;padding:12px 24px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.df-status{display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap}.df-website{font-weight:600;color:#2563eb;background:#eff6ff;padding:4px 12px;border-radius:12px;font-size:12px}.df-status-label{color:#6b7280;font-weight:500}.df-status-value{color:#1f2937;font-weight:600}.df-freshness{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.df-freshness.fresh{background:#d1fae5;color:#059669}.df-freshness.stale{background:#fef3c7;color:#92400e}.df-freshness.outdated,.df-freshness.missing{background:#fee2e2;color:#dc2626}.df-refresh-btn{background:#3b82f6;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.df-refresh-btn:hover{background:#2563eb}.df-refresh-btn:disabled{background:#d1d5db;cursor:not-allowed}.df-cost{font-size:11px;background:#fff3;padding:2px 8px;border-radius:10px}.df-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px}.df-metric-card{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:border-color .2s}.df-metric-card:hover{border-color:#3b82f6}.df-metric-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.df-metric-value{font-size:24px;font-weight:600;color:#2563eb;margin-bottom:4px;line-height:1.2}.df-metric-value.df-rating{display:flex;align-items:center;gap:8px}.df-metric-value.df-no-data{color:#9ca3af}.df-stars{color:#f59e0b;font-size:16px;letter-spacing:2px}.df-metric-tag{font-size:11px;color:#9ca3af}.df-metric-trend{font-size:12px;margin-top:8px;padding:4px 8px;border-radius:4px;font-weight:500}.df-metric-trend.trend-up{color:#059669;background:#d1fae5}.df-metric-trend.trend-down{color:#dc2626;background:#fee2e2}.df-chart-section{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d;margin-bottom:24px}.df-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.df-section-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.df-trend-badge{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600}.df-trend-badge.trend-up{background:#d1fae5;color:#059669}.df-trend-badge.trend-down{background:#fee2e2;color:#dc2626}.df-chart-container{margin:20px 0}.df-chart-description{font-size:13px;color:#6b7280;line-height:1.6;margin:0}.df-chart-description strong{color:#1f2937}.df-no-chart{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;padding:40px;text-align:center}.df-no-chart p{color:#6b7280;font-size:14px;margin:0}.df-reviews-section{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #00b67a;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d}.df-view-all{color:#3b82f6;font-size:13px;text-decoration:none;font-weight:500}.df-view-all:hover{text-decoration:underline}.df-reviews-summary{margin-bottom:20px}.df-trustpilot-badge{display:flex;align-items:center;gap:12px;background:#f8f9fa;padding:12px 16px;border-radius:8px;width:fit-content}.df-tp-stars{color:#00b67a;font-size:18px;letter-spacing:2px}.df-tp-rating{font-size:24px;font-weight:700;color:#1f2937}.df-tp-count{font-size:13px;color:#6b7280}.df-reviews-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.df-review-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.df-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.df-review-stars{color:#f59e0b;font-size:14px;letter-spacing:2px}.df-review-author{font-size:12px;color:#6b7280;font-weight:500}.df-review-text{font-size:13px;color:#4b5563;line-height:1.5;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;min-height:300px}.empty-icon{width:60px;height:60px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:24px;color:#9ca3af;margin-bottom:16px}.empty-state-card h3{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-state-card p{font-size:14px;color:#6b7280;margin:0 0 24px;max-width:400px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.df-website-link{display:flex;align-items:center;gap:8px;color:#2563eb;text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;background:#eff6ff;border-radius:6px;transition:all .2s;word-break:break-all}.df-website-link:hover{background:#dbeafe;color:#1d4ed8}.df-website-link svg{flex-shrink:0;width:16px;height:16px}.df-social-links{display:flex;flex-wrap:wrap;gap:10px}.df-social-link{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:500;transition:all .2s}.df-social-link svg{width:16px;height:16px;flex-shrink:0}.df-social-link.linkedin{background:#e8f4f8;color:#0077b5}.df-social-link.linkedin:hover{background:#cce5f0;color:#005f8f}.df-social-link.facebook{background:#e8f0fe;color:#1877f2}.df-social-link.facebook:hover{background:#d4e4fc;color:#1360c2}.df-social-link.twitter{background:#e8f5fd;color:#1da1f2}.df-social-link.twitter:hover{background:#d2ebfc;color:#0d8bd9}.df-no-socials{color:#9ca3af;font-size:13px;font-style:italic}@media(max-width:768px){.df-control-card{flex-direction:column;align-items:flex-start}.df-refresh-btn{width:100%;justify-content:center}.df-metrics-row{grid-template-columns:1fr 1fr}.df-reviews-list{grid-template-columns:1fr}.df-section-header{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.df-metrics-row{grid-template-columns:1fr}}.company-detail-page{width:100%;height:100vh;overflow:hidden}.search-header{padding:var(--space-3) var(--space-4);background:var(--white);border-bottom:1px solid var(--border-light)}.company-detail-layout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-3);height:calc(100vh - 140px);padding:var(--space-3)}.main-panel,.right-panel{padding:var(--space-4);overflow-y:auto}.panel-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.recent-loading,.recent-empty{text-align:center;padding:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.recent-companies-list{display:flex;flex-direction:column;gap:var(--space-2)}.recent-company-item{padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.recent-company-item:hover{background:var(--white);border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}.recent-company-item.active{background:var(--primary-blue-light);border-color:var(--primary-blue);font-weight:var(--font-medium)}.recent-company-name{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-1);line-height:var(--leading-tight)}.recent-company-meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--text-secondary)}.recent-company-duns{font-family:var(--font-mono)}.recent-company-revenue{font-weight:var(--font-semibold);color:var(--success-green)}.back-link{display:inline-block;color:var(--primary-blue);text-decoration:none;margin-bottom:var(--space-3);font-size:var(--text-base);font-weight:var(--font-medium)}.back-link:hover{text-decoration:underline;color:var(--primary-blue-hover)}.company-header{margin-bottom:var(--space-4)}.company-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.company-title{flex:1}.company-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.company-header h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin-bottom:var(--space-1);line-height:var(--leading-tight)}.company-type{color:var(--text-secondary);font-size:var(--text-base)}.watchlist-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.add-to-watchlist-dropdown{padding:var(--space-2) var(--space-3);border:2px solid #ffd700;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);background:linear-gradient(135deg,gold,#ffed4e);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);min-width:180px;box-shadow:var(--shadow-sm)}.add-to-watchlist-dropdown:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.add-to-watchlist-dropdown:focus{outline:none;box-shadow:0 0 0 2px #ffd70033}.add-to-watchlist-dropdown:disabled{opacity:.6;cursor:not-allowed}.watchlist-count-badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap}.info-section{background:var(--white);padding:var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.info-section h2{color:var(--text-primary);margin-bottom:var(--space-3);font-size:var(--text-xl);font-weight:var(--font-semibold)}.info-section>p{max-width:900px;line-height:var(--leading-normal);font-size:var(--text-sm);color:var(--text-secondary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.info-item{display:flex;gap:var(--space-2);font-size:var(--text-sm)}.info-item label{font-weight:var(--font-semibold);color:var(--text-secondary);min-width:100px}.info-item span,.info-item a{color:var(--text-primary)}.info-item a{color:var(--primary-blue);text-decoration:none;font-weight:var(--font-medium)}.info-item a:hover{text-decoration:underline;color:var(--primary-blue-hover)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.metric-card{background:linear-gradient(135deg,#667eea,#764ba2);color:var(--white);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md)}.metric-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.metric-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.metric-card:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.metric-card h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);opacity:.9}.metric-value{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:var(--space-1) 0;line-height:var(--leading-tight)}.metric-label{font-size:var(--text-xs);opacity:.8}.people-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.people-table th{background:var(--border-medium);padding:var(--space-2);text-align:left;font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-tight)}.people-table td{padding:var(--space-2);border-top:1px solid var(--border-light);font-size:var(--text-sm);line-height:var(--leading-normal)}.people-table tbody tr:hover{background:var(--table-row-hover-bg)}.financial-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.financial-table tr:nth-child(2n){background:var(--bg-secondary)}.financial-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-light);line-height:var(--leading-normal)}.financial-table td:first-child{font-weight:var(--font-medium);color:var(--text-primary)}.financial-table td:last-child{text-align:right;color:var(--text-secondary);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.empty-state,.error-state{text-align:center;padding:var(--space-8) var(--space-4);max-width:600px;margin:0 auto}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state h2,.error-state h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-3)}.empty-state p,.error-state p{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal);margin-bottom:var(--space-2)}.error-state h2{color:var(--error-red)}.help-text{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.investability-section{background:var(--white);border-left:4px solid #667eea}.investability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.manual-review-badge{background:var(--success-green);color:var(--white);padding:.375rem .875rem;border-radius:12px;font-size:var(--text-xs);font-weight:700;letter-spacing:.5px}.investability-score-hero{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea40;border-radius:12px;padding:2rem;margin-bottom:1.5rem;text-align:center}.score-badge-hero{display:inline-block;font-size:4rem;font-weight:700;line-height:1;margin-bottom:.5rem}.score-badge-hero.score-1{color:var(--error-red)}.score-badge-hero.score-2{color:#ea580c}.score-badge-hero.score-3{color:var(--warning-yellow-dark)}.score-badge-hero.score-4{color:var(--success-green)}.score-badge-hero.score-5{color:#059669;text-shadow:0 2px 8px rgba(5,150,105,.3)}.score-label-hero{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.confidence-badge-hero{display:inline-block;background:#e0e7ff;color:#3730a3;padding:.5rem 1rem;border-radius:12px;font-size:var(--text-sm);font-weight:600;text-transform:capitalize;margin-bottom:1rem}.executive-summary-hero{font-size:1.05rem;line-height:1.7;color:var(--text-secondary);max-width:700px;margin:0 auto;margin-top:1.25rem}.flags-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.flag-card{background:var(--white);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.flag-card.green{border-left:4px solid #10b981}.flag-card.red{border-left:4px solid #ef4444}.flag-card h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.flag-card.green h3{color:#059669}.flag-card.red h3{color:#dc2626}.flag-list{list-style:none;padding:0;margin:0}.flag-list li{line-height:1.6;color:var(--text-secondary);position:relative;padding:.5rem 0 .5rem 1.5rem}.flag-list li:before{content:"•";position:absolute;left:0;font-weight:700;font-size:1.2rem}.flag-card.green .flag-list li:before{content:"✓";color:#10b981}.flag-card.red .flag-list li:before{content:"✗";color:#ef4444}.key-findings-card{background:var(--white);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a;border-left:4px solid #6366f1}.key-findings-card h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.key-findings-card ol{margin:0;padding-left:1.5rem}.key-findings-card li{padding:.5rem 0;line-height:1.6;color:var(--text-secondary)}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.meta-card{background:var(--bg-secondary);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000000d}.meta-card h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.meta-card ul{list-style:none;padding:0;margin:0}.meta-card li{line-height:1.6;color:var(--text-secondary);font-size:var(--text-sm);position:relative;padding:.5rem 0 .5rem 1.25rem}.meta-card li:before{content:"•";position:absolute;left:0;color:#667eea;font-weight:700}.analyst-notes-card{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.analyst-notes-card h3{font-size:var(--text-base);font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.analyst-notes-content{color:var(--text-secondary);line-height:1.7;margin-bottom:.75rem}.reviewer-info{font-style:italic;color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}.analysis-metadata-footer{font-size:var(--text-xs);color:var(--text-muted);padding-top:1rem;border-top:1px solid var(--border-light)}.analysis-metadata-footer span{margin-right:1rem}@media(max-width:768px){.flags-grid,.meta-grid{grid-template-columns:1fr}.score-badge-hero{font-size:3rem}.score-label-hero{font-size:1.25rem}.executive-summary-hero{font-size:1rem}}@media(max-width:1024px){.company-detail-layout{grid-template-columns:1fr 300px}}@media(max-width:768px){.company-detail-layout{grid-template-columns:1fr;height:auto}.right-panel{order:-1;max-height:300px}.search-header{padding:var(--space-2) var(--space-3)}.main-panel,.right-panel{padding:var(--space-3)}.company-header-content{flex-direction:column;gap:var(--space-3)}.company-header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.watchlist-actions{flex-direction:column;align-items:stretch;width:100%}.add-to-watchlist-dropdown,.watchlist-count-badge{width:100%;justify-content:center}.info-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.info-section{padding:var(--space-3)}.main-panel-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.main-panel-tabs button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);white-space:nowrap}.recent-company-name{font-size:var(--text-xs)}.recent-company-meta{font-size:10px}}@media(max-width:480px){.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:var(--text-2xl)}}.loading-indicator{padding:var(--space-4);text-align:center;color:var(--text-muted);font-style:italic}.company-summary-section .summary-content{line-height:1.8}.company-summary-section .summary-content p{margin:0 0 var(--space-3) 0;color:var(--text-body)}.company-summary-section .summary-meta{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-color);color:var(--text-muted)}.company-summary-section .summary-meta small{font-size:var(--text-sm)}.shareholders-section .shareholders-table{width:100%;border-collapse:collapse}.shareholders-section .shareholders-table th,.shareholders-section .shareholders-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-color)}.shareholders-section .shareholders-table th{background-color:var(--surface-secondary);font-weight:var(--font-semibold);color:var(--text-heading)}.shareholders-section .shareholders-table tbody tr:hover{background-color:var(--surface-hover)}.shareholders-section .badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);margin-right:var(--space-1)}.shareholders-section .badge-parent{background-color:#e0f2fe;color:#0369a1}.shareholders-section .badge-subsidiary{background-color:#fef3c7;color:#92400e}.family-tree-section .family-tree-table{width:100%;border-collapse:collapse}.family-tree-section .family-tree-table th,.family-tree-section .family-tree-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-color)}.family-tree-section .family-tree-table th{background-color:var(--surface-secondary);font-weight:var(--font-semibold);color:var(--text-heading)}.family-tree-section .family-tree-table tbody tr:hover{background-color:var(--surface-hover)}.family-tree-section .relationship-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize}.family-tree-section .relationship-badge.parent{background-color:#dbeafe;color:#1e40af}.family-tree-section .relationship-badge.subsidiary{background-color:#fef3c7;color:#92400e}.family-tree-section .relationship-badge.affiliate{background-color:#e0e7ff;color:#4338ca}.competitors-section .section-summary{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--text-heading)}.competitors-section .competitors-table{width:100%;border-collapse:collapse}.competitors-section .competitors-table th,.competitors-section .competitors-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-color)}.competitors-section .competitors-table th{background-color:var(--surface-secondary);font-weight:var(--font-semibold);color:var(--text-heading)}.competitors-section .competitors-table tbody tr:hover{background-color:var(--surface-hover)}.competitors-section .position-badge,.competitors-section .overlap-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.competitors-section .position-badge.direct{background-color:#fee2e2;color:#991b1b}.competitors-section .position-badge.indirect{background-color:#fef3c7;color:#92400e}.competitors-section .overlap-badge.high{background-color:#fee2e2;color:#991b1b}.competitors-section .overlap-badge.medium{background-color:#fef3c7;color:#92400e}.competitors-section .overlap-badge.low{background-color:#d1fae5;color:#065f46}.professional-services-section .services-table{width:100%;border-collapse:collapse}.professional-services-section .services-table th,.professional-services-section .services-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-color)}.professional-services-section .services-table th{background-color:var(--surface-secondary);font-weight:var(--font-semibold);color:var(--text-heading)}.professional-services-section .services-table tbody tr:hover{background-color:var(--surface-hover)}.professional-services-section .service-type-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize}.professional-services-section .service-type-badge.auditors,.professional-services-section .service-type-badge.auditor{background-color:#dbeafe;color:#1e40af}.professional-services-section .service-type-badge.lawyers,.professional-services-section .service-type-badge.lawyer{background-color:#e0e7ff;color:#4338ca}.professional-services-section .service-type-badge.advisors,.professional-services-section .service-type-badge.advisor{background-color:#fce7f3;color:#9f1239}.professional-services-section .status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.professional-services-section .status-badge.current{background-color:#d1fae5;color:#065f46}.professional-services-section .status-badge.historical{background-color:#e5e7eb;color:#6b7280}.professional-services-section .services-table a{color:var(--primary-blue);text-decoration:none}.professional-services-section .services-table a:hover{text-decoration:underline}@media(max-width:768px){.shareholders-section .shareholders-table,.family-tree-section .family-tree-table,.competitors-section .competitors-table,.professional-services-section .services-table{font-size:var(--text-sm)}.shareholders-section .shareholders-table th,.shareholders-section .shareholders-table td,.family-tree-section .family-tree-table th,.family-tree-section .family-tree-table td,.competitors-section .competitors-table th,.competitors-section .competitors-table td,.professional-services-section .services-table th,.professional-services-section .services-table td{padding:var(--space-2)}}.dashboard{width:100%;max-width:2400px;margin:0 auto;padding:var(--space-3) var(--space-6)}.dashboard h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0;line-height:var(--leading-tight)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat-card{background:var(--white);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;position:relative;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:nth-child(1){border-top:3px solid var(--primary-blue)}.stat-card:nth-child(2){border-top:3px solid var(--success-green)}.stat-card:nth-child(3){border-top:3px solid var(--warning-yellow)}.stat-card:nth-child(4){border-top:3px solid var(--info-blue)}.stat-card h3{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--space-2) 0}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin:var(--space-1) 0;line-height:var(--leading-tight)}.stat-label{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.chart-container{background:var(--white);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-height:380px}.chart-container.full-width{grid-column:1 / -1;min-height:480px}.chart-container h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.tables-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stats-table-container{background:var(--white);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.stats-table-container h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.stats-table{width:100%;border-collapse:collapse;background:var(--white);font-size:var(--text-sm)}.stats-table thead{background:var(--border-medium);position:sticky;top:0;z-index:var(--z-sticky)}.stats-table th{padding:var(--space-2);text-align:left;font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-snug)}.stats-table td{padding:var(--space-2);border-top:1px solid var(--border-light);font-size:var(--text-sm);line-height:var(--leading-normal);max-width:300px}.stats-table tbody tr{transition:background-color var(--transition-fast)}.stats-table tbody tr:hover{background:var(--bg-hover)}.industry-name{font-size:var(--text-sm);color:var(--text-primary)}.chart-subtitle{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-1);margin-bottom:var(--space-2);font-weight:var(--font-normal)}.table-subtitle{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-1);margin-bottom:var(--space-3);font-weight:var(--font-normal)}.chart-full-width{grid-column:1 / -1;min-height:500px}.custom-tooltip{background:var(--white);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-md)}.tooltip-company{font-size:var(--text-base);margin-bottom:var(--space-1);color:var(--text-primary)}.tooltip-sector{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.tooltip-metric{font-size:var(--text-sm);margin:var(--space-1) 0;color:var(--text-primary)}.tooltip-hint{font-size:var(--text-xs);color:var(--primary-blue);margin-top:var(--space-2);font-style:italic}.sector-heatmap{overflow-x:auto;margin-top:var(--space-3)}.heatmap-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.heatmap-header{background:var(--gray-50);padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-semibold);border-bottom:1px solid var(--border-medium);white-space:nowrap}.heatmap-cell{padding:var(--space-2) var(--space-3);text-align:center;border-bottom:1px solid var(--border-medium);transition:background-color var(--transition-fast)}.sector-name{font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-medium)}.performers-table tbody tr{transition:background-color var(--transition-fast)}.performers-table .clickable-row{cursor:pointer}.performers-table .clickable-row:hover{background:var(--bg-hover)}.company-name{font-weight:var(--font-medium);color:var(--text-primary)}.metric-positive{color:var(--success-green);font-weight:var(--font-semibold)}.loading,.error{text-align:center;padding:var(--space-8) var(--space-4);font-size:var(--text-sm)}.loading{color:var(--text-secondary)}.error{color:var(--error-red)}@media(min-width:1600px){.charts-grid{grid-template-columns:repeat(3,1fr)}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:900px){.charts-grid,.tables-grid{grid-template-columns:1fr}.chart-container.full-width{grid-column:1}.stat-card{padding:var(--space-3)}.stat-value{font-size:var(--text-3xl)}}@media(max-width:768px){.dashboard{padding:var(--space-2) var(--space-4)}.stat-cards{grid-template-columns:1fr}.chart-container,.stats-table-container{padding:var(--space-3)}}.watchlist-combobox{position:relative;width:100%}.combobox-trigger{width:100%;padding:.75rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;transition:all .2s;font-size:.9375rem}.combobox-trigger:hover{border-color:#9ca3af;background:#f9fafb}.combobox-trigger:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.selected-watchlist{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.watchlist-icon{font-size:1.5rem;flex-shrink:0}.watchlist-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.watchlist-name{font-weight:600;color:#111;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist-count{font-size:.8125rem;color:#6b7280}.placeholder{color:#9ca3af;font-size:.9375rem}.dropdown-arrow{color:#6b7280;font-size:.75rem;flex-shrink:0;transition:transform .2s}.combobox-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 10px 25px #00000026;z-index:100;max-height:400px;display:flex;flex-direction:column;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-search{padding:.75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dropdown-search .search-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;outline:none;transition:border-color .2s}.dropdown-search .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.dropdown-options{overflow-y:auto;max-height:280px;flex:1}.option-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s;border-bottom:1px solid #f3f4f6}.option-item:last-child{border-bottom:none}.option-item:hover,.option-item.highlighted{background:#f3f4f6}.option-item.selected{background:#eff6ff}.option-item .watchlist-icon{font-size:1.25rem}.option-item .watchlist-info{flex:1;min-width:0}.option-item .watchlist-name{font-weight:500;font-size:.875rem}.option-item .watchlist-count{font-size:.75rem}.option-item .checkmark{color:#3b82f6;font-weight:700;font-size:1rem;flex-shrink:0}.no-results{padding:1.5rem;text-align:center;color:#6b7280;font-size:.875rem}.dropdown-footer{padding:.75rem;border-top:1px solid #e5e7eb;flex-shrink:0}.btn-create-new{width:100%;padding:.625rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-create-new:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-create-new:active{transform:translateY(0)}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:#f9fafb}.dropdown-options::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#9ca3af}.watchlist-selector{display:flex;flex-direction:column;height:100%}.company-list-table-wrapper{flex:1;overflow-y:auto}.watchlist-companies-table{width:100%;border-collapse:collapse;font-size:.875rem}.watchlist-companies-table thead{position:sticky;top:0;background:#fff;z-index:1;border-bottom:2px solid #e0e0e0}.watchlist-companies-table th{padding:.5rem;text-align:center;font-weight:600;color:#666;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.watchlist-companies-table tbody tr{cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0}.watchlist-companies-table tbody tr:hover{background:#f5f5f5}.watchlist-companies-table tbody tr.selected{background:#e3f2fd;font-weight:500}.watchlist-companies-table td{padding:.75rem .5rem;text-align:center}.company-name-cell{font-weight:500;color:#333}.state-cell{color:#666;font-size:.8125rem}.group-cell{text-align:center}.group-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.no-group{color:#999;font-size:.8125rem}.actions-cell{width:40px;padding:.5rem}.btn-remove-company{background:none;border:none;color:#999;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.btn-remove-company:hover{color:#f44336}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.selector-header h3{font-size:14px;font-weight:600;color:#333;letter-spacing:.5px;margin:0}.btn-new{padding:6px 12px;font-size:13px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-new:hover{background:#1d4ed8}.search-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;margin-bottom:12px}.search-input:focus{outline:none;border-color:#2563eb}.watchlist-list{flex:0 0 auto;max-height:180px;overflow-y:auto;margin-bottom:12px}.watchlist-item{display:flex;align-items:center;padding:10px;border-radius:6px;cursor:pointer;transition:background .2s;gap:10px}.watchlist-item:hover{background:#f3f4f6}.watchlist-item.selected{background:#eff6ff;border-left:3px solid #2563eb}.watchlist-item .icon{font-size:20px;flex-shrink:0}.watchlist-item .info{flex:1;min-width:0}.watchlist-item .name{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist-item .count{font-size:12px;color:#666}.watchlist-item .actions{display:flex;align-items:center;gap:8px}.watchlist-item .checkmark{color:#2563eb;font-weight:700}.btn-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:20px;color:#666;opacity:0;transition:opacity .2s,background .2s}.watchlist-item:hover .btn-delete{opacity:1}.btn-delete:hover{background:#fee2e2;color:#dc2626}.divider{height:1px;background:#e0e0e0;margin:12px 0}.company-list-header{margin-bottom:12px}.company-list-header h4{font-size:12px;font-weight:600;color:#666;letter-spacing:.5px;margin:0}.company-list{flex:1;overflow-y:auto}.company-item{display:flex;align-items:center;padding:10px;border-radius:6px;cursor:pointer;transition:background .2s;gap:10px}.company-item:hover{background:#f3f4f6}.company-item.selected{background:#eff6ff;border-left:3px solid #2563eb}.company-item .company-info{flex:1;min-width:0}.company-item .company-name{font-size:13px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-item .company-meta{font-size:11px;color:#666;margin-top:2px}.btn-remove-company{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:18px;color:#666;opacity:0;transition:opacity .2s,background .2s}.company-item:hover .btn-remove-company{opacity:1}.btn-remove-company:hover{background:#fee2e2;color:#dc2626}.loading,.empty-companies{text-align:center;padding:24px;color:#666;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop)}.modal-content{background:#fff;padding:24px;border-radius:12px;width:400px;max-width:90%;box-shadow:0 10px 25px #0003}.modal-content h3{margin:0 0 20px;font-size:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px}.form-group input:focus{outline:none;border-color:#2563eb}.icon-picker{display:flex;gap:8px;flex-wrap:wrap}.icon-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;font-size:20px;transition:all .2s}.icon-option:hover{border-color:#2563eb;background:#eff6ff}.icon-option.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-primary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#333}.btn-cancel:hover{background:#e5e7eb}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.watchlist-list::-webkit-scrollbar,.company-list::-webkit-scrollbar{width:6px}.watchlist-list::-webkit-scrollbar-track,.company-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.watchlist-list::-webkit-scrollbar-thumb,.company-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.watchlist-list::-webkit-scrollbar-thumb:hover,.company-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.company-financials{height:100%;display:flex;flex-direction:column}.financials-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.financials-header h2{font-size:24px;font-weight:600;color:#111827;margin:0 0 8px}.company-meta{font-size:14px;color:#6b7280;margin:0}.financials-content{flex:1;overflow-y:auto}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;color:#666}.error-state h3{font-size:18px;color:#dc2626;margin-bottom:8px}.error-state p{font-size:14px;color:#666}.financials-content::-webkit-scrollbar{width:8px}.financials-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.financials-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.financials-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.page-back-button{padding:1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#2196f3;text-decoration:none;font-size:.9375rem;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:all .2s ease}.back-link:hover{background:#e3f2fd;color:#1976d2}.back-link:active{transform:translate(-2px)}.watchlists-page{width:100%;height:100vh;overflow:hidden}.watchlists-layout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-3);height:calc(100vh - 80px);padding:var(--space-3)}.main-panel,.right-panel{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.main-panel{padding:var(--space-4)}.right-panel{padding:var(--space-3);overflow:auto}.main-panel-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-medium);flex-shrink:0}.main-panel-tabs button{padding:var(--space-2) var(--space-4);background:none;border:none;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);border-bottom:2px solid transparent;transition:all var(--transition-fast)}.main-panel-tabs button.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue);font-weight:var(--font-semibold)}.main-panel-tabs button:hover{color:var(--primary-blue)}.main-panel-content{animation:fadeIn .2s;flex:1;overflow-y:auto;padding-right:var(--space-2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center}.empty-state-content h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--text-primary)}.empty-state-content p{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--line-normal)}.auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 80px);text-align:center;padding:var(--space-6)}.auth-required h2{font-size:var(--font-3xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--text-primary)}.auth-required p{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--line-normal)}@media(max-width:1200px){.watchlists-layout{grid-template-columns:1fr 350px}}@media(max-width:768px){.watchlists-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:var(--space-2);gap:var(--space-2)}.right-panel{grid-row:1;max-height:400px}.main-panel{grid-row:2;padding:var(--space-3)}.main-panel-tabs{overflow-x:auto}.main-panel-tabs button{white-space:nowrap}}.auth-container{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;width:100%;max-width:450px}.auth-card h2{margin:0 0 .5rem;font-size:2rem;color:#333;text-align:center}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.auth-error{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.auth-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-group input{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-hint{font-size:.85rem;color:#999;margin-top:-.25rem}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:2rem;text-align:center;color:#666;font-size:.9rem}.auth-footer a{color:#667eea;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff!important;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.user-menu-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.user-email{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff!important;font-weight:500}.user-menu-button span{color:#fff!important}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff!important;background-color:#fff!important;border:2px solid #333;border-radius:8px;box-shadow:0 8px 24px #0000004d;min-width:240px;z-index:var(--z-dropdown);padding:.5rem 0;opacity:1!important;visibility:visible!important;display:block!important}.user-menu-dropdown button{width:100%;padding:.875rem 1.25rem;border:none;background:transparent!important;background-color:transparent!important;text-align:left;cursor:pointer;font-size:1rem;color:#222!important;transition:background .2s;display:block;font-weight:500}.user-menu-dropdown button:hover{background:#e8f4f8!important;background-color:#e8f4f8!important}.user-menu-dropdown button:first-child{border-radius:6px 6px 0 0}.user-menu-dropdown button:last-child{border-radius:0 0 6px 6px;color:#dc3545!important;font-weight:700}.user-menu-dropdown button:last-child:hover{background:#ffe5e5!important;background-color:#ffe5e5!important}.user-menu-dropdown hr{margin:0;border:none;border-top:1px solid #eee}.bug-report-modal{max-width:550px;width:95%}.category-toggle{display:flex;gap:12px}.category-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid var(--border-medium);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.category-btn:hover{border-color:var(--primary-color);background:var(--bg-hover)}.category-btn.active{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.category-icon{font-size:18px}.bug-report-modal .form-group{margin-bottom:20px}.bug-report-modal .form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:8px;font-size:14px}.bug-report-modal .form-group input[type=text],.bug-report-modal .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-medium);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.bug-report-modal .form-group input[type=text]:focus,.bug-report-modal .form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.bug-report-modal .form-group textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.char-count{display:block;text-align:right;font-size:12px;color:var(--text-tertiary);margin-top:4px}.priority-selector{display:flex;gap:12px}.priority-option{flex:1;cursor:pointer}.priority-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.priority-badge{display:block;text-align:center;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s ease;border:2px solid transparent}.priority-badge.low{background:#22c55e1a;color:#22c55e;border-color:#22c55e33}.priority-badge.medium{background:#fbbf241a;color:#f59e0b;border-color:#fbbf2433}.priority-badge.high{background:#ef44441a;color:#ef4444;border-color:#ef444433}.priority-option.selected .priority-badge.low{background:#22c55e;color:#fff;border-color:#22c55e}.priority-option.selected .priority-badge.medium{background:#f59e0b;color:#fff;border-color:#f59e0b}.priority-option.selected .priority-badge.high{background:#ef4444;color:#fff;border-color:#ef4444}.priority-option:hover .priority-badge{transform:translateY(-1px)}.bug-report-error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:14px;margin-top:16px}.bug-report-success{text-align:center;padding:40px 20px}.bug-report-success .success-icon{width:60px;height:60px;background:linear-gradient(135deg,#22c55e,#10b981);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px;animation:scaleIn .3s ease-out}.bug-report-success h3{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.bug-report-success p{color:var(--text-secondary);font-size:14px}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:480px){.category-toggle{flex-direction:column}.priority-selector{flex-direction:column;gap:8px}.priority-option{width:100%}}.group-manager{max-width:600px;max-height:80vh;overflow-y:auto}.embedded-group-manager{padding:0}.modal-body{padding:1.5rem}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.groups-section{margin-bottom:1.5rem}.groups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.groups-header h3{margin:0;color:#333}.empty-state{text-align:center;padding:2rem;color:#666;background:#f5f5f5;border-radius:8px}.loading{text-align:center;padding:2rem;color:#666}.groups-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.groups-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.groups-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#374151;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.groups-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.groups-table th.sortable:hover{background:#f3f4f6}.groups-table td{padding:.75rem 1rem;border-top:1px solid #e5e7eb;color:#111}.groups-table tbody tr{transition:background-color .15s}.groups-table tbody tr:hover{background:#f9fafb}.groups-table .color-indicator{width:24px;height:24px;border-radius:4px;cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px #e5e7eb;transition:transform .2s}.groups-table .color-indicator:hover{transform:scale(1.2);box-shadow:0 2px 8px #00000026}.groups-table .group-name-cell{cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:4px;transition:background-color .15s;display:inline-block;min-width:120px}.groups-table .group-name-cell:hover{background:#f3f4f6}.groups-table .inline-edit-input{width:100%;padding:.25rem .5rem;border:1px solid #3B82F6;border-radius:4px;font-size:.875rem;outline:none;box-shadow:0 0 0 3px #3b82f61a}.groups-table .actions{white-space:nowrap}.groups-table .btn-action{background:transparent;border:1px solid #d1d5db;padding:.375rem .75rem;border-radius:4px;cursor:pointer;font-size:.8125rem;transition:all .2s;margin-right:.5rem}.groups-table .btn-action:last-child{margin-right:0}.groups-table .btn-action:hover{background:#f3f4f6;border-color:#9ca3af}.groups-table .btn-action.btn-delete:hover{background:#fee;border-color:#fcc;color:#dc2626}.groups-list{display:flex;flex-direction:column;gap:.75rem}.group-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s}.group-item:hover{background:#f3f4f6;border-color:#d1d5db}.group-item>div:first-child{display:flex;justify-content:space-between;align-items:center}.group-info{display:flex;align-items:center;gap:1rem;flex:1}.color-swatch{width:40px;height:40px;border-radius:8px;border:2px solid #fff;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.group-details{display:flex;flex-direction:column;gap:.25rem}.group-name{font-weight:600;font-size:1rem;color:#111}.group-count{font-size:.85rem;color:#666}.group-actions{display:flex;gap:.5rem}.btn-icon{background:transparent;border:1px solid #d1d5db;padding:.4rem .6rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-icon:hover{background:#e5e7eb;border-color:#9ca3af}.btn-icon.btn-delete:hover{background:#fee;border-color:#fcc}.delete-confirm{background:#ffe5e5;border:1px solid #ffcccc;padding:1rem;border-radius:6px}.delete-confirm p{margin:0 0 .75rem;font-size:.9rem;color:#c33}.delete-actions{display:flex;gap:.5rem}.btn-danger{background:#dc2626;color:#fff;border:none}.btn-danger:hover{background:#b91c1c}.group-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.group-form h3{margin:0 0 1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.9rem}.form-group input[type=text]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input[type=text]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-input-wrapper{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.color-preview{width:50px;height:50px;border-radius:8px;border:2px solid #fff;box-shadow:0 2px 6px #00000026;cursor:pointer;transition:transform .2s;flex-shrink:0}.color-preview:hover{transform:scale(1.05)}.color-input-wrapper input[type=text]{flex:1;text-transform:uppercase;font-family:monospace}.preset-colors{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.preset-color{width:36px;height:36px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .2s}.preset-color:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.preset-color.selected{border-color:#111;box-shadow:0 0 0 2px #fff,0 0 0 4px #111}.color-picker-wrapper{margin-top:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.react-colorful{width:100%!important;height:200px!important}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary,.btn-secondary,.btn-sm{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;color:#111}.modal-close{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.watchlist-manager{max-width:600px;max-height:80vh;overflow-y:auto}.embedded-watchlist-manager{padding:0}.watchlists-section{margin-bottom:1.5rem}.watchlists-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.watchlists-header h3{margin:0;color:#333}.search-box{margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#9ca3af}.watchlists-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.watchlists-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.watchlists-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#374151;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.watchlists-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.watchlists-table th.sortable:hover{background:#f3f4f6}.watchlists-table td{padding:.75rem 1rem;border-top:1px solid #e5e7eb;color:#111}.watchlists-table tbody tr{transition:background-color .15s}.watchlists-table tbody tr:hover{background:#f9fafb}.watchlists-table .icon-indicator{font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;background:#f9fafb;border:1px solid #e5e7eb}.watchlists-table .icon-indicator:hover{background:#f3f4f6;transform:scale(1.1);box-shadow:0 2px 8px #0000001a}.watchlists-table .watchlist-name-cell{cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:4px;transition:background-color .15s;display:inline-block;min-width:120px}.watchlists-table .watchlist-name-cell:hover{background:#f3f4f6}.watchlists-table .inline-edit-input{width:100%;padding:.25rem .5rem;border:1px solid #3B82F6;border-radius:4px;font-size:.875rem;outline:none;box-shadow:0 0 0 3px #3b82f61a}.watchlists-table .actions{white-space:nowrap}.watchlists-table .btn-action{background:transparent;border:1px solid #d1d5db;padding:.375rem .75rem;border-radius:4px;cursor:pointer;font-size:.8125rem;transition:all .2s;margin-right:.5rem}.watchlists-table .btn-action:last-child{margin-right:0}.watchlists-table .btn-action:hover{background:#f3f4f6;border-color:#9ca3af}.watchlists-table .btn-action.btn-delete:hover{background:#fee;border-color:#fcc;color:#dc2626}.watchlists-list{display:flex;flex-direction:column;gap:.75rem}.watchlist-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s}.watchlist-item:hover{background:#f3f4f6;border-color:#d1d5db}.watchlist-item>div:first-child{display:flex;justify-content:space-between;align-items:flex-start}.watchlist-info{display:flex;align-items:flex-start;gap:1rem;flex:1}.icon-display{font-size:2rem;line-height:1;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;border:2px solid #e5e7eb}.watchlist-details{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.watchlist-name{font-weight:600;font-size:1rem;color:#111}.watchlist-description{font-size:.875rem;color:#6b7280;line-height:1.4;word-wrap:break-word}.watchlist-count{font-size:.85rem;color:#666;margin-top:.25rem}.watchlist-actions{display:flex;gap:.5rem;flex-shrink:0}.icon-picker{display:flex;gap:.5rem;flex-wrap:wrap;padding:.5rem 0}.icon-option{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.icon-option:hover{transform:scale(1.1);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.icon-option.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 2px #eff6ff,0 0 0 4px #3b82f6}.watchlist-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.watchlist-form h3{margin:0 0 1.5rem;color:#333}.watchlist-form textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.watchlist-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.api-key-manager{padding:0}.api-key-manager h3{margin:0 0 .5rem;font-size:1.5rem;color:#1a1a1a}.api-key-manager .section-description{margin:0 0 1.5rem;color:#666;font-size:.95rem;line-height:1.5}.alert{padding:1rem;border-radius:6px;margin-bottom:1.5rem}.alert h4{margin:0 0 .5rem;font-size:1rem}.alert p{margin:.25rem 0}.alert small{color:#0009;font-size:.85rem}.alert-error{background-color:#fee;border-left:4px solid #dc3545;color:#721c24}.alert-error strong{color:#dc3545}.alert-success{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.alert-success strong{color:#28a745}.alert-warning{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404}.status-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.status-card h4{margin:0 0 1rem;font-size:1.1rem;color:#495057}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.status-item{display:flex;flex-direction:column;gap:.25rem}.status-item.full-width{grid-column:1 / -1}.status-item label{font-size:.85rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.status-item span{font-size:.95rem;color:#212529}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;width:fit-content}.status-active{background-color:#d4edda;color:#155724}.status-inactive{background-color:#f8d7da;color:#721c24}.masked-key{background:#fff;padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:#495057;display:inline-block;max-width:100%;overflow-x:auto}.action-buttons{display:flex;gap:1rem;margin-bottom:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.edit-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.edit-form h4{margin:0 0 1rem;font-size:1.1rem;color:#495057}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.95rem}.form-group .required{color:#dc3545;margin-left:.25rem}.form-input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem;font-family:Courier New,monospace;transition:border-color .2s}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-hint{display:block;margin-top:.5rem;font-size:.85rem;color:#6c757d}.form-hint a{color:#007bff;text-decoration:none}.form-hint a:hover{text-decoration:underline}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.security-note{background:#e7f3ff;border-left:4px solid #007bff;border-radius:6px;padding:1rem 1.5rem;margin-top:1.5rem}.security-note h4{margin:0 0 .75rem;font-size:1rem;color:#004085}.security-note ul{margin:0;padding-left:1.5rem;color:#004085}.security-note li{margin-bottom:.5rem;line-height:1.5}.security-note li:last-child{margin-bottom:0}.loading-spinner{text-align:center;padding:2rem;color:#6c757d;font-style:italic}.error-message{background-color:#fee;border-left:4px solid #dc3545;color:#721c24;padding:1rem;border-radius:6px}@media(max-width:768px){.status-grid{grid-template-columns:1fr}.action-buttons,.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.modal-overlay{z-index:var(--z-modal-backdrop)}.modal-content{z-index:var(--z-modal)}.settings-modal{max-width:900px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.settings-container{display:flex;min-height:500px;max-height:calc(85vh - 140px);overflow:hidden}.settings-sidebar{width:200px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;padding:1rem 0;flex-shrink:0}.settings-tab{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;font-size:.95rem;color:#6b7280;text-align:left;transition:all .2s}.settings-tab:hover{background:#f3f4f6;color:#374151}.settings-tab.active{background:#fff;color:#111;font-weight:600;border-left-color:#667eea}.tab-icon{font-size:1.25rem;line-height:1}.tab-label{flex:1}.settings-content{flex:1;padding:2rem;overflow-y:auto;background:#fff}.settings-section{max-width:600px}.settings-section-full{max-width:none}.settings-section h3{margin:0 0 .5rem;font-size:1.5rem;color:#111}.section-description{color:#6b7280;font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.section-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem;margin-top:1.5rem}.section-note p{margin:0 0 .75rem;color:#0369a1;font-size:.95rem}.section-note ul{margin:0;padding-left:1.5rem;color:#0c4a6e;font-size:.9rem}.section-note li{margin-bottom:.25rem}.account-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.info-row label{font-weight:600;color:#374151;font-size:.9rem}.info-row span{color:#6b7280;font-size:.95rem}.account-actions{display:flex;gap:.75rem}.embedded-manager{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:3rem 2rem;text-align:center;margin-top:1rem}.placeholder-text{color:#9ca3af;font-size:1rem;margin:0}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end;flex-shrink:0}.btn-save-exit{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #667eea33}.btn-save-exit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-save-exit:active{transform:translateY(0)}@media(max-width:768px){.settings-modal{max-width:100%;max-height:100vh;border-radius:0}.settings-container{flex-direction:column;max-height:calc(100vh - 80px)}.settings-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;flex-direction:row;overflow-x:auto;padding:.5rem}.settings-tab{flex-direction:column;padding:.75rem 1rem;gap:.25rem;min-width:80px;border-left:none;border-bottom:3px solid transparent}.settings-tab.active{border-left:none;border-bottom-color:#667eea}.tab-icon{font-size:1.5rem}.tab-label{font-size:.8rem}.settings-content{padding:1.5rem}.settings-section{max-width:100%}}.add-company-modal{width:600px;max-width:90vw}.search-input{width:100%;padding:12px;font-size:16px;border:1px solid #ddd;border-radius:4px;margin-bottom:10px}.search-loading{color:#666;font-style:italic;margin:5px 0}.search-results{max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:4px;margin-top:10px}.result-item{padding:10px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s}.result-item:last-child{border-bottom:none}.result-item:hover{background-color:#f5f5f5}.result-name{font-weight:600;color:#333}.result-details{font-size:12px;color:#666;margin-top:2px}.divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:#999}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #eee}.divider span{padding:0 10px}.acn-input-group{display:flex;gap:10px}.acn-input-group input{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px}.acn-input-group button{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer}.acn-input-group button:hover{background-color:#45a049}.acn-input-group button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{margin-top:15px;color:#dc3545;background-color:#f8d7da;padding:10px;border-radius:4px;font-size:14px}.app{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fa}.navbar{background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{color:#7f8c8d;text-decoration:none;font-weight:500;padding:8px 16px;border-radius:4px;transition:all .3s}.nav-links a:hover{color:#3498db;background:#ecf0f1}.nav-links a.active{color:#3498db;background:#e3f2fd}.nav-auth{display:flex;align-items:center;gap:15px}.auth-link{color:#7f8c8d;text-decoration:none;font-weight:500;padding:8px 16px;border-radius:4px;transition:all .2s}.auth-link:hover{color:#3498db;background:#ecf0f1}.auth-link-primary{background:#3498db;color:#fff!important}.auth-link-primary:hover{background:#2980b9;color:#fff!important}.nav-add-company-btn{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;white-space:nowrap}.nav-add-company-btn:hover{background:#45a049}.main-content{flex:1;padding:20px 0}.footer{background:#fff;border-top:1px solid #ecf0f1;padding:20px;text-align:center;color:#7f8c8d;font-size:14px}@media(max-width:768px){.nav-container{flex-direction:column;height:auto;padding:10px 20px}.nav-links{margin-top:10px;gap:15px}.nav-auth{margin-top:10px}}
