@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500;1,800&family=Raleway:wght@600;700&family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400&display=swap";:root{--color-primary: #152E45;--color-primary-rgb: 21, 46, 69;--color-primary-dark: #182C4A;--color-primary-dark-rgb: 24, 44, 74;--color-primary-darker: #161F2C;--color-primary-darker-rgb: 22, 32, 44;--color-accent-primary: #DF4924;--color-accent-primary-rgb: 223, 73, 44;--color-accent-secondary: #DF782E;--color-accent-secondary-rgb: 223, 120, 46;--color-accent-coral: #EF494F;--color-accent-coral-rgb: 239, 73, 79;--color-accent-bright: #FA8E52;--color-accent-bright-rgb: 250, 142, 82;--color-accent-blue: #3194F9;--color-accent-blue-rgb: 49, 148, 249;--color-accent-pink: #DC3273;--color-accent-pink-rgb: 220, 50, 115;--color-accent-purple: #AA009A;--color-accent-purple-rgb: 170, 0, 154;--color-success: #2E7D32;--color-success-light: #4CAF50;--color-warning: #DF782E;--color-warning-light: #FA8E52;--color-error: #EF494F;--color-error-light: #FF6B6B;--color-info: #3194F9;--color-info-light: #64B5F6;--color-white: #FFFFFF;--color-off-white: #F6F6F6;--color-gray-100: #CFCFCF;--color-gray-200: #C6C6C6;--color-gray-300: #8A99A6;--color-gray-400: #90979E;--color-gray-500: #4F5357;--color-gray-600: #3C3937;--color-black: #000000;--font-primary: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-secondary: "Raleway", "Roboto", sans-serif;--font-body: "Roboto", "Arial", sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-xs: .64rem;--font-size-sm: .8rem;--font-size-base: 1rem;--font-size-md: 1.25rem;--font-size-lg: 1.563rem;--font-size-xl: 1.953rem;--font-size-2xl: 2.441rem;--font-size-3xl: 3.052rem;--font-size-4xl: 3.815rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 4px;--border-radius-none: 0;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.5rem;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(var(--color-primary-rgb), .05);--shadow-md: 0 4px 6px -1px rgba(var(--color-primary-rgb), .1), 0 2px 4px -1px rgba(var(--color-primary-rgb), .06);--shadow-lg: 0 10px 15px -3px rgba(var(--color-primary-rgb), .1), 0 4px 6px -2px rgba(var(--color-primary-rgb), .05);--shadow-xl: 0 20px 25px -5px rgba(var(--color-primary-rgb), .1), 0 10px 10px -5px rgba(var(--color-primary-rgb), .04);--shadow-2xl: 0 25px 50px -12px rgba(var(--color-primary-rgb), .25);--shadow-inner: inset 0 2px 4px 0 rgba(var(--color-primary-rgb), .06);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--button-padding-x: var(--spacing-4);--button-padding-y: var(--spacing-2);--button-font-weight: var(--font-weight-semibold);--button-border-radius: var(--border-radius-md);--input-padding-x: var(--spacing-3);--input-padding-y: var(--spacing-2);--input-border-color: var(--color-gray-200);--input-border-radius: var(--border-radius-md);--input-focus-ring-color: var(--color-accent-blue);--card-padding: var(--spacing-6);--card-border-radius: var(--border-radius-lg);--card-shadow: var(--shadow-md);--card-background: var(--color-white)}@media(prefers-color-scheme:dark){:root{--color-background: var(--color-primary-darker);--color-surface: var(--color-primary-dark);--color-text-primary: var(--color-white);--color-text-secondary: var(--color-gray-300);--card-background: var(--color-primary-dark)}}.dark{--color-background: var(--color-primary-darker);--color-surface: var(--color-primary-dark);--color-text-primary: var(--color-white);--color-text-secondary: var(--color-gray-300);--card-background: var(--color-primary-dark)}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-500);background-color:var(--color-off-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-primary);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}a{color:var(--color-accent-blue);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}.auth-button{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.auth-button:hover{transform:translateY(-1px)}.auth-button:active{transform:translateY(0)}.sign-in-button{background-color:#0078d4;color:#fff}.sign-in-button:hover{background-color:#106ebe}.sign-out-button{background-color:#f3f2f1;color:#323130;border:1px solid #8a8886}.sign-out-button:hover{background-color:#edebe9}.user-profile{display:flex;align-items:center;gap:12px;padding:8px 16px;background-color:#f8f8f8;border-radius:8px}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:#0078d4;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.user-info{display:flex;flex-direction:column}.user-name{font-weight:600;color:#323130;font-size:14px}.user-email{color:#605e5c;font-size:12px}.auth-header{display:flex;justify-content:flex-end;align-items:center;padding:16px 24px;background-color:#fff;border-bottom:1px solid #edebe9;gap:16px}.welcome-container{text-align:center;padding:40px}.welcome-container h1{color:#323130;margin-bottom:16px}.welcome-container p{color:#605e5c;margin-bottom:24px}.sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;background-color:var(--color-primary);display:flex;flex-direction:column;z-index:var(--z-fixed);overflow:hidden}.sidebar *,.sidebar *:before,.sidebar *:after{box-sizing:border-box}.sidebar-brand{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-6) var(--spacing-5);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{width:40px;height:40px;border-radius:var(--border-radius-md);object-fit:contain}.sidebar-app-name{font-family:var(--font-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-white);letter-spacing:var(--letter-spacing-wide)}.sidebar-nav{flex:1;padding:var(--spacing-4) 0;overflow-y:auto;min-height:0}.sidebar-nav-list{list-style:none;margin:0;padding:0}.sidebar-nav-item{margin:var(--spacing-1) var(--spacing-2)}.sidebar-nav-link{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:#ffffffb3;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--border-radius-md);transition:background-color var(--transition-fast),color var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left}.sidebar-nav-link:hover{background-color:#ffffff1a;color:var(--color-white)}.sidebar-nav-link.active{background-color:#ffffff26;color:var(--color-white);font-weight:var(--font-weight-semibold)}.sidebar-nav-icon{width:20px;height:20px;flex-shrink:0;opacity:.7}.sidebar-nav-link:hover .sidebar-nav-icon,.sidebar-nav-link.active .sidebar-nav-icon{opacity:1}.sidebar-section-label{padding:var(--spacing-4) var(--spacing-5) var(--spacing-2);font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff6;text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding:var(--spacing-4) var(--spacing-4)}.sidebar-user-profile{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-md);transition:background-color var(--transition-fast)}.sidebar-user-profile:hover{background-color:#ffffff1a}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--border-radius-full);background-color:var(--color-accent-blue);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-family:var(--font-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:var(--font-size-xs);color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-sign-out{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);margin-top:var(--spacing-2);width:100%;color:#fff9;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;background:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:left}.sidebar-sign-out:hover{background-color:#ef494f26;color:var(--color-error-light)}.sidebar-sign-in{padding:var(--spacing-4)}.sidebar-sign-in-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-accent-primary);color:var(--color-white);font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--button-border-radius);cursor:pointer;transition:background-color var(--transition-fast),transform .1s ease}.sidebar-sign-in-button:hover{background-color:#c93d1c;transform:translateY(-1px)}.sidebar-sign-in-button:active{transform:translateY(0)}.metric-card--clickable{cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);border:var(--border-width-medium) solid transparent;text-align:left;font:inherit;color:inherit;width:100%;background:var(--card-background);border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:var(--spacing-2)}.metric-card--clickable:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent-blue)}.metric-card--clickable:focus-visible{outline:var(--border-width-medium) solid var(--color-accent-blue);outline-offset:2px}.metric-card--expanded{border-color:var(--color-accent-blue)}.metric-card__header{display:flex;justify-content:space-between;align-items:center}.metric-favorite{font-size:var(--font-size-md);color:var(--color-gray-300);cursor:pointer;transition:color var(--transition-fast);line-height:1}.metric-favorite:hover,.metric-favorite--active{color:var(--color-accent-secondary)}.metric-comparison{display:flex;align-items:baseline;gap:var(--spacing-2);margin-top:var(--spacing-1)}.metric-change{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.metric-change--positive{color:var(--color-success)}.metric-change--negative{color:var(--color-error)}.metric-previous{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-gray-400)}.target-metric__values{display:flex;align-items:baseline;gap:var(--spacing-1)}.target-metric__separator{font-size:var(--font-size-lg);color:var(--color-gray-300);font-weight:var(--font-weight-light)}.target-metric__target{font-size:var(--font-size-lg);color:var(--color-gray-300);font-weight:var(--font-weight-medium)}.target-metric__progress{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-1)}.target-metric__bar{flex:1;height:8px;background:var(--color-gray-500);border-radius:var(--border-radius-full);overflow:hidden}.target-metric__fill{height:100%;background:var(--color-accent-blue);border-radius:var(--border-radius-full);transition:width var(--transition-normal)}.target-metric__pct{font-size:var(--font-size-sm);color:var(--color-gray-300);font-weight:var(--font-weight-semibold);min-width:3.5em;text-align:right}.units-detail{grid-column:1 / -1;background:var(--card-background);border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);border:var(--border-width-thin) solid var(--color-gray-100);animation:slideDown var(--transition-normal)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.units-detail__title{font-family:var(--font-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--spacing-4)}.units-detail__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.units-detail__header .units-detail__title{margin-bottom:0}.units-detail__select{font-family:var(--font-body);font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3);border:var(--border-width-thin) solid var(--color-gray-200);border-radius:var(--border-radius-md);background:var(--color-white);color:var(--color-gray-500);cursor:pointer}.units-detail__select:focus{outline:none;border-color:var(--color-accent-blue);box-shadow:0 0 0 2px rgba(var(--color-accent-blue-rgb, 49, 148, 249),.2)}.units-detail__loading{color:var(--color-gray-400);font-size:var(--font-size-base);padding:var(--spacing-8) 0;text-align:center}.units-detail__chart{width:100%;max-width:500px}.trusted-detail{grid-column:1 / -1;background:var(--card-background);border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}.trusted-detail__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.trusted-detail__title{margin:0;font-size:var(--font-size-md);color:var(--color-white)}.trusted-detail__target-form{display:flex;align-items:center;gap:var(--spacing-2)}.trusted-detail__label{font-size:var(--font-size-sm);color:var(--color-gray-300)}.trusted-detail__input{width:100px;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-md);border:1px solid var(--color-gray-500);background:var(--color-primary-darker);color:var(--color-white);font-size:var(--font-size-sm);font-family:inherit}.trusted-detail__input:focus{outline:none;border-color:var(--color-accent-blue)}.trusted-detail__save{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--border-radius-md);border:none;background:var(--color-accent-blue);color:var(--color-white);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background var(--transition-fast)}.trusted-detail__save:hover:not(:disabled){background:var(--color-info-light)}.trusted-detail__save:disabled{opacity:.5;cursor:not-allowed}.trusted-detail__chart{min-height:300px}.trusted-detail__loading,.trusted-detail__empty{color:var(--color-gray-300);text-align:center;padding:var(--spacing-8) 0}.page-dashboard{padding:var(--spacing-8) var(--spacing-10)}.page-dashboard h1{margin-bottom:var(--spacing-4)}.page-dashboard p{color:var(--color-gray-500)}.page-dashboard a{color:var(--color-accent-blue);text-decoration:none}.page-dashboard a:hover{text-decoration:underline}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-6);margin-top:var(--spacing-6)}.page-metrics{padding:var(--spacing-8) var(--spacing-10)}.page-metrics h1{margin-bottom:var(--spacing-6)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-6)}.metric-card{background:var(--card-background);border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:var(--spacing-2)}.metric-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.metric-value{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-white)}.metric-value--loading{color:var(--color-gray-400);font-size:var(--font-size-md)}.metric-card--error{border:var(--border-width-thin) solid var(--color-error-light)}.metric-error{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-error)}.App{display:flex;min-height:100vh;background-color:var(--color-off-white)}.App-content{margin-left:260px;flex:1;min-height:100vh}.App-main{padding:var(--spacing-8) var(--spacing-10)}.App-main h1{color:var(--color-primary);margin-bottom:var(--spacing-4)}.App-main p{color:var(--color-gray-500);font-size:var(--font-size-base)}.welcome-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:var(--spacing-10)}.welcome-container h1{color:var(--color-primary);margin-bottom:var(--spacing-4)}.welcome-container p{color:var(--color-gray-400);font-size:var(--font-size-md);margin-bottom:var(--spacing-6)}@media(max-width:768px){.App-content{margin-left:0}}
