@charset "UTF-8";:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--card-padding: 1.5rem;--header-height: 64px;--sidebar-width: 250px;--bottom-nav-height: 0px;--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 16px;--radius-pill: 4px;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease-in-out;--transition-base: .3s ease-in-out;--transition-slow: .5s ease-in-out;--animation-duration: .3s;--bg-primary: #F5F6F8;--bg-secondary: #ECEEF2;--bg-tertiary: #E2E5EA;--text-primary: #12161C;--text-secondary: #545B66;--text-tertiary: #8A9099;--border-color: #D7DAE1;--card-bg: #FFFFFF;--hover-bg: #EEF0F3;--input-bg: #F7F8FA;--sidebar-bg: #ECEEF2;--shadow-sm: 0 1px 3px rgba(18, 22, 28, .06), 0 1px 2px rgba(18, 22, 28, .04);--shadow-md: 0 4px 12px rgba(18, 22, 28, .08), 0 2px 4px rgba(18, 22, 28, .05);--shadow-lg: 0 12px 32px rgba(18, 22, 28, .1), 0 4px 12px rgba(18, 22, 28, .06);--primary-color: #3E6FF2;--primary-hover: #2F5CD9;--success-color: #2FA36B;--danger-color: #E0503F;--warning-color: #E0A62E;--info-color: #3E8BF2;--logo-brightness: 1}body[data-theme=dark],html[data-theme=dark]{--bg-primary: #0B0D11;--bg-secondary: #12151B;--bg-tertiary: #1A1E26;--page-bg: #0B0D11;--sidebar-bg: #12151B;--text-primary: #EDEFF3;--text-secondary: #A8AEB9;--text-tertiary: #6B717C;--border-color: #262B34;--card-bg: #12151B;--card-hover-bg: #171A21;--hover-bg: rgba(255, 255, 255, .05);--input-bg: #171A21;--toggle-bg: #171A21;--surface-bg: #1A1E26;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 6px rgba(0, 0, 0, .28);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .35);--logo-brightness: 1}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{min-height:100%;margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","ss01";font-size:var(--font-size-base);background:var(--bg-primary);color:var(--text-primary);font-weight:var(--font-weight-normal);transition:background-color var(--transition-base),color var(--transition-base);overflow-x:hidden;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}@media (max-width: 768px){body{min-height:100svh}}.cdk-drag-disabled{touch-action:auto!important}*{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.no-animations *{transition:none!important;animation:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root{--button-padding-y: .75rem;--button-padding-x: 1.5rem;--input-padding-y: .75rem;--input-padding-x: 1rem;--border-radius: 6px;--line-height-base: 1.5}.compact-mode{line-height:var(--line-height-base)}.compact-mode .card{padding:var(--card-padding);border-radius:var(--border-radius)}.compact-mode .btn{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);border-radius:var(--border-radius);line-height:1.2}.compact-mode .btn.btn-sm{padding:calc(var(--button-padding-y) * .75) calc(var(--button-padding-x) * .75);font-size:var(--font-size-sm)}.compact-mode .btn.btn-lg{padding:calc(var(--button-padding-y) * 1.25) calc(var(--button-padding-x) * 1.25);font-size:var(--font-size-lg)}.compact-mode h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);line-height:1.2}.compact-mode h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);line-height:1.25}.compact-mode h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);line-height:1.3}.compact-mode h4{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);line-height:1.4}.compact-mode p{line-height:var(--line-height-base);margin-bottom:var(--spacing-sm)}.compact-mode table th,.compact-mode table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);line-height:1.3}.compact-mode input,.compact-mode select,.compact-mode textarea{padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--font-size-base);border-radius:var(--border-radius);line-height:1.4}.compact-mode input::placeholder,.compact-mode select::placeholder,.compact-mode textarea::placeholder{font-size:var(--font-size-sm)}.compact-mode label{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.compact-mode .form-group{margin-bottom:var(--spacing-md)}.compact-mode .header{height:var(--header-height);padding:var(--spacing-sm) var(--spacing-lg)}.compact-mode .sidebar{width:var(--sidebar-width);padding:var(--spacing-sm)}.compact-mode section{padding:var(--spacing-lg) 0}.compact-mode .container{padding:0 var(--spacing-lg)}.compact-mode nav a,.compact-mode nav button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.compact-mode .modal .modal-header{padding:var(--spacing-md)}.compact-mode .modal .modal-header h2{font-size:var(--font-size-lg)}.compact-mode .modal .modal-body{padding:var(--spacing-md)}.compact-mode .modal .modal-footer{padding:var(--spacing-md);gap:var(--spacing-sm)}.compact-mode .card-header,.compact-mode .card-body{padding:var(--spacing-md)}.compact-mode .card-footer{padding:var(--spacing-sm) var(--spacing-md)}.compact-mode .list-item{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs)}.compact-mode .badge,.compact-mode .chip{padding:var(--spacing-xs) var(--spacing-sm);font-size:calc(var(--font-size-sm) * .9)}.compact-mode .tooltip{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.compact-mode .dropdown-menu{padding:var(--spacing-xs)}.compact-mode .dropdown-menu .dropdown-item,.compact-mode .tab,.compact-mode .alert{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.high-contrast *{font-weight:calc(var(--font-weight-normal) + 100)}.high-contrast h1,.high-contrast h2,.high-contrast h3,.high-contrast h4,.high-contrast h5,.high-contrast h6{font-weight:var(--font-weight-bold)}.high-contrast .btn{font-weight:var(--font-weight-semibold);border-width:2px}.high-contrast input,.high-contrast select,.high-contrast textarea,.high-contrast .card{border-width:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:100px;border:1px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);background-clip:content-box}.container{margin:0 auto;padding:0 var(--spacing-md)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--card-padding);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .25s ease}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card-flat{border:1px solid var(--border-color);box-shadow:none}.btn{padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);letter-spacing:-.01em;border:none;cursor:pointer;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;user-select:none;-webkit-user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary{background:var(--primary-color);color:var(--primary-contrast, white);box-shadow:0 1px 2px #0000001a}.btn-primary:hover:not(:disabled){background:var(--primary-hover, #5569d9);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--primary-rgb, 102, 126, 234),.4)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-secondary{background:var(--secondary-color);color:#fff;box-shadow:0 1px 2px #0000001a}.btn-secondary:hover:not(:disabled){background:var(--secondary-hover);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--secondary-rgb, 118, 75, 162),.35)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-accent{background:var(--accent-color);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--accent-rgb),.35)}.btn-outline{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-color);padding:.5625rem 1.25rem}.btn-outline:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:var(--bg-secondary);color:var(--text-secondary);border:1.5px solid var(--border-color);padding:.5625rem 1.25rem}.btn-cancel:hover:not(:disabled){background:var(--hover-bg);border-color:var(--text-tertiary);color:var(--text-primary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-block;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;border-radius:var(--radius-pill);line-height:1.2;white-space:nowrap}.badge.badge-primary{background:var(--primary-100);color:var(--primary-700);border:1px solid var(--primary-200)}.badge.badge-secondary{background:var(--secondary-100);color:var(--secondary-700);border:1px solid var(--secondary-200)}.badge.badge-accent{background:var(--accent-100);color:var(--accent-700);border:1px solid var(--accent-200)}.badge.badge-success{background:var(--success-100, #d1fae5);color:var(--success-700, #047857);border:1px solid var(--success-200, #a7f3d0)}.badge.badge-warning{background:var(--warning-100, #fef3c7);color:var(--warning-700, #b45309);border:1px solid var(--warning-200, #fde68a)}.badge.badge-danger{background:var(--danger-100, #fee2e2);color:var(--danger-700, #b91c1c);border:1px solid var(--danger-200, #fecaca)}.badge.badge-neutral{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}input,select,textarea{background:var(--input-bg);color:var(--text-primary);border:2px solid var(--border-color);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);transition:all var(--transition-base)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--secondary-color);background:var(--card-bg);box-shadow:0 0 0 3px var(--secondary-alpha-10, var(--secondary-100, rgba(139, 92, 246, .1)))}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-tertiary)}a{color:var(--secondary-color);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--secondary-hover)}a.link-primary{color:var(--primary-color)}a.link-primary:hover{color:var(--primary-hover)}a.link-accent{color:var(--accent-color)}a.link-accent:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-bold);font-family:var(--font-display);letter-spacing:-.01em}h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}table{width:100%;border-collapse:collapse}table th,table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}table th{background:var(--bg-secondary);font-weight:var(--font-weight-semibold);color:var(--text-primary)}table tr:hover{background:var(--hover-bg)}.logo,img[src*=logo]{filter:brightness(var(--logo-brightness))}.dark-theme input:focus,.dark-theme select:focus,.dark-theme textarea:focus{box-shadow:0 0 0 3px #8b7ee633}.dark-theme .btn-primary:hover:not(:disabled){transform:translateY(-1px)}.dark-theme pre,.dark-theme code{background:var(--bg-tertiary);color:var(--text-primary)}.dark-theme .login-container{background:linear-gradient(135deg,#1a1a2e,#16213e)}.dark-theme .login-card{background:#242424f2;border:1px solid rgba(255,255,255,.05);box-shadow:0 20px 60px #00000080}.dark-theme .login-container .logo-section .logo{background:linear-gradient(135deg,#8b7ee6,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark-theme .submit-btn{background:linear-gradient(135deg,#8b7ee6,#7a6dd5)}.dark-theme .submit-btn:hover:not(:disabled){transform:translateY(-1px)}.dark-theme .google-btn{background:#2a2a2acc;border-color:#ffffff1a}.dark-theme .google-btn:hover:not(:disabled){background:#333333e6;border-color:#ffffff26}.dark-theme .error-message{background:#ef444426;border-color:#ef44444d}.dark-theme .nav-links a.active{background:#8b7ee626}.dark-theme .nav-links a.active:hover{background:#8b7ee633}.dark-theme .chart-container{background:var(--card-bg)}.dark-theme .chart-container .chart-legend{color:var(--text-secondary)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}@media (max-width: 768px){:root{--font-size-2xl: 1.5rem;--font-size-xl: 1.25rem;--font-size-lg: 1.125rem}.container{padding:0 var(--spacing-sm)}.compact-mode{--spacing-xs: .125rem;--spacing-sm: .25rem;--spacing-md: .375rem;--spacing-lg: .5rem;--spacing-xl: .75rem;--spacing-2xl: 1rem}}@media (max-width: 768px){:root{--bottom-nav-height: calc(56px + env(safe-area-inset-bottom, 0px)) ;--header-height: 56px;--card-padding: 1rem}}@media (max-width: 768px){.page-container{padding-bottom:var(--bottom-nav-height)!important}}.touch-target{min-width:44px;min-height:44px}.touch-target-lg{min-width:48px;min-height:48px}@media (max-width: 768px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media (max-width: 768px){.show-mobile{display:block!important}}@media (max-width: 768px){.modal-overlay{align-items:flex-end!important}.modal{max-width:100%!important;width:100%!important;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0!important;max-height:90vh!important;margin:0!important;margin-bottom:var(--safe-area-inset-bottom)!important}}.reticle{position:relative}.reticle:before,.reticle:after{content:"";position:absolute;width:9px;height:9px;border-color:var(--primary-color);border-style:solid;opacity:.85;pointer-events:none}.reticle:before{top:-1px;left:-1px;border-width:1.5px 0 0 1.5px}.reticle:after{bottom:-1px;right:-1px;border-width:0 1.5px 1.5px 0}[class*=badge],[class*=chip],[class*=-tag],[class*=-pill],[class*=-stamp]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
