@layer reset,tokens,base,layout,components,utilities;@layer reset{*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}}@layer tokens{:root{--color-ui-0:#ffffff;--color-ui-50:#f7f8fa;--color-ui-100:#eef0f3;--color-ui-200:#dde1e7;--color-ui-300:#c3c9d3;--color-ui-400:#a3abb9;--color-ui-500:#8f9cb2;--color-ui-600:#6b7688;--color-ui-700:#4d5566;--color-ui-800:#333947;--color-ui-900:#1e222c;--color-ui-950:#121419;--color-ui-1000:#000000;--color-error-500:#c20e33;--color-warning-500:#f6c100;--color-success-500:#55ab55;--color-chart-1:#2a78d6;--color-chart-2:#eb6834;--color-chart-3:#1baf7a;--color-chart-4:#eda100;--color-chart-5:#e87ba4;--color-chart-6:#008300;--color-chart-7:#4a3aa7;--color-chart-8:#e34948;--text-colour-white:var(--color-ui-0);--text-colour-ultra-light:light-dark(var(--color-ui-400), var(--color-ui-600));--text-colour-light:light-dark(var(--color-ui-600), var(--color-ui-400));--text-colour-regular:light-dark(var(--color-ui-800), var(--color-ui-200));--text-colour-dark:light-dark(var(--color-ui-950), var(--color-ui-50));--text-colour-error:light-dark(var(--color-error-500), #f2627e);--link-colour:#0093ee;--page-background-colour:light-dark(var(--color-ui-50), var(--color-ui-950));--surface-colour:light-dark(var(--color-ui-0), var(--color-ui-900));--surface-subtle-colour:light-dark(var(--color-ui-50), #252a35);--surface-muted-colour:light-dark(var(--color-ui-100), #2c3240);--border-colour:light-dark(var(--color-ui-200), #353c4a);--overlay-colour:light-dark(rgba(18, 20, 25, 0.5), rgba(0, 0, 0, 0.65));--button-solid-hover-colour:light-dark(var(--color-ui-900), var(--color-ui-700));--sidebar-background-colour:light-dark(var(--color-ui-900), #0b0d11);--sidebar-nav-text-colour:rgba(255, 255, 255, 0.75);--sidebar-nav-hover-colour:rgba(255, 255, 255, 0.08);--sidebar-overlay-colour:rgba(255, 255, 255, 0.1);--spacing-s0:0;--spacing-s1:5px;--spacing-s2:10px;--spacing-s3:15px;--spacing-s4:20px;--spacing-s5:25px;--spacing-s6:30px;--spacing-s8:40px;--spacing-s10:50px;--spacing-s12:60px;--spacing-s14:70px;--gutter-s0:0;--gutter-s2:10px;--gutter-s4:20px;--gutter-s6:30px;--gutter-s8:40px;--gutter-s12:20px;--page-max-width:1200px}@media (min-width:901px){:root{--gutter-s12:40px}}@media (min-width:1919px){:root{--gutter-s12:60px}}:root{--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-size-xxs:10px;--font-size-xs:12px;--font-size-s:13px;--font-size-r:14px;--font-size-m:16px;--font-size-l:20px;--font-size-xl:24px;--font-size-xxl:28px;--font-size-xxxl:35px;--radius-s:4px;--radius-m:6px;--shadow-card:0 3px 6px 0 light-dark(rgba(14, 30, 62, 0.08), rgba(0, 0, 0, 0.35))}:root{color-scheme:light dark}:root[data-colour-scheme="light"]{color-scheme:light}:root[data-colour-scheme="dark"]{color-scheme:dark}}@layer base{body{font-family:var(--font-family);font-size:var(--font-size-r);font-weight:var(--font-weight-regular);color:var(--text-colour-regular);background-color:var(--page-background-colour)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-extrabold);color:var(--text-colour-dark)}h1{font-size:var(--font-size-xxxl)}h2{font-size:var(--font-size-xxl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-l)}a{color:var(--link-colour)}a:hover{text-decoration:underline}::selection{background-color:var(--link-colour);color:var(--text-colour-white)}}@layer layout{.app-shell{display:flex;min-height:100vh}.sidebar{--sidebar-width:220px;--sidebar-width-collapsed:64px;position:sticky;top:0;width:var(--sidebar-width);height:100vh;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;background-color:var(--sidebar-background-colour);color:var(--text-colour-white);transition:width 0.15s ease}html.sidebar-collapsed .sidebar{width:var(--sidebar-width-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-s4);min-height:60px}.sidebar-logo{font-weight:var(--font-weight-bold);font-size:var(--font-size-m);white-space:nowrap;overflow:hidden}html.sidebar-collapsed .sidebar-logo{display:none}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-s);background:#fff0;color:inherit;cursor:pointer}.sidebar-toggle:hover{background-color:var(--sidebar-overlay-colour)}.sidebar-toggle svg{transition:transform 0.15s ease}html.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-s1);padding:var(--spacing-s2)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-s3);padding:var(--spacing-s2) var(--spacing-s3);border-radius:var(--radius-s);color:var(--sidebar-nav-text-colour);white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background-color:var(--sidebar-nav-hover-colour);color:var(--text-colour-white);text-decoration:none}.sidebar-nav-item.is-active{background-color:var(--link-colour);color:var(--text-colour-white)}.sidebar-nav-icon{display:flex;flex-shrink:0}html.sidebar-collapsed .sidebar-nav-label{display:none}html.sidebar-collapsed .sidebar-nav-item{justify-content:center}.sidebar-footer{margin-top:auto;padding:var(--spacing-s2);border-top:1px solid var(--sidebar-overlay-colour)}.sidebar-user{position:relative}.sidebar-user-trigger{display:flex;align-items:center;gap:var(--spacing-s3);width:100%;padding:var(--spacing-s2) var(--spacing-s3);border:none;border-radius:var(--radius-s);background:#fff0;color:inherit;font:inherit;text-align:left;cursor:pointer}.sidebar-user-trigger:hover{background-color:var(--sidebar-overlay-colour)}.sidebar-user-text{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-user-name{color:var(--text-colour-white);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-org{color:var(--sidebar-nav-text-colour);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.sidebar-collapsed .sidebar-user-text{display:none}html.sidebar-collapsed .sidebar-user-trigger{justify-content:center}.sidebar-user-menu{position:absolute;bottom:100%;left:0;z-index:10;margin-bottom:var(--spacing-s1);min-width:220px;background-color:var(--surface-colour);border-radius:var(--radius-s);box-shadow:var(--shadow-card);padding:var(--spacing-s1);display:flex;flex-direction:column}.sidebar-user-menu-header{display:flex;align-items:center;gap:var(--spacing-s3);padding:var(--spacing-s2) var(--spacing-s3)}.sidebar-user-menu-header .sidebar-user-name{color:var(--text-colour-dark)}.sidebar-user-menu-header .sidebar-user-org{color:var(--text-colour-light)}.sidebar-user-menu-divider{height:1px;margin:var(--spacing-s1) 0;background-color:var(--border-colour)}.app-content{flex:1;min-width:0;padding:var(--spacing-s6)}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-s6)}.auth-shell .card{width:100%;max-width:360px}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;position:fixed;top:var(--spacing-s3);left:var(--spacing-s3);z-index:110;width:40px;height:40px;border:none;border-radius:var(--radius-s);background-color:var(--sidebar-background-colour);color:var(--text-colour-white);cursor:pointer}.sidebar-backdrop{display:none}@media (max-width:640px){.mobile-nav-toggle{display:flex}.app-content{padding:var(--spacing-s12) var(--spacing-s3) var(--spacing-s3)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar-width), 85vw);transform:translateX(-100%);z-index:100;transition:transform 0.2s ease}html.mobile-nav-open .sidebar{transform:translateX(0)}html.mobile-nav-open .mobile-nav-toggle{display:none}html.sidebar-collapsed .sidebar{width:min(var(--sidebar-width), 85vw)}html.sidebar-collapsed .sidebar-logo,html.sidebar-collapsed .sidebar-nav-label{display:inline}html.sidebar-collapsed .sidebar-user-text{display:flex}html.sidebar-collapsed .sidebar-nav-item,html.sidebar-collapsed .sidebar-user-trigger{justify-content:flex-start}.sidebar-toggle{display:none}html.mobile-nav-open .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:90;background-color:var(--overlay-colour)}}}@layer components{.card{background-color:var(--surface-colour);border-radius:var(--radius-m);box-shadow:var(--shadow-card);padding:var(--spacing-s4)}.chart-container{position:relative;height:280px}.page-container{max-width:var(--page-max-width);margin:0 auto;padding:var(--gutter-s6) var(--gutter-s4)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background-color:var(--color-ui-700);color:var(--text-colour-white);font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);text-transform:uppercase}.card-heading{font-size:var(--font-size-m);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--text-colour-regular);margin-bottom:var(--spacing-s2)}.card-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-s2);margin-bottom:var(--spacing-s3)}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-s3);margin-bottom:var(--gutter-s4)}.badge{display:inline-block;margin-left:var(--spacing-s2);padding:1px var(--spacing-s2);border-radius:var(--radius-s);background:var(--surface-muted-colour);color:var(--text-colour-regular);font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.status-badge{padding:2px var(--spacing-s2);border-radius:var(--radius-s);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.status-badge-pending{background-color:var(--color-warning-500);color:var(--color-ui-1000)}.status-badge-approved{background-color:var(--color-success-500);color:var(--text-colour-white)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-s);border:1px solid #fff0;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease}.btn.disabled,.btn[disabled]{cursor:not-allowed;opacity:.5}.btn-l{padding:var(--spacing-s3) var(--spacing-s6);font-size:var(--font-size-m)}.btn-m{padding:var(--spacing-s2) var(--spacing-s4);font-size:var(--font-size-r)}.btn-r{padding:var(--spacing-s1) var(--spacing-s3);font-size:var(--font-size-r)}.btn-s{padding:var(--spacing-s1) var(--spacing-s2);font-size:var(--font-size-s)}.btn-icon{padding-left:var(--spacing-s1);padding-right:var(--spacing-s1);aspect-ratio:1 / 1}.btn-solid{background-color:var(--link-colour);border-color:var(--link-colour);color:var(--text-colour-white)}.btn-solid:hover{background-color:var(--button-solid-hover-colour);border-color:var(--button-solid-hover-colour);text-decoration:none}.btn-outline{background-color:#fff0;border-color:var(--border-colour);color:var(--text-colour-regular)}.btn-outline:hover{border-color:var(--color-ui-500);text-decoration:none}.btn-danger{background-color:var(--text-colour-error);border-color:var(--text-colour-error);color:var(--text-colour-white)}.btn-danger:hover{filter:brightness(.85);text-decoration:none}.field{display:block;margin-bottom:var(--spacing-s3)}.field-label{display:block;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);color:var(--text-colour-light);margin-bottom:var(--spacing-s1)}.field-input{display:block;width:100%;padding:var(--spacing-s2) var(--spacing-s3);font-size:var(--font-size-r);border:1px solid var(--border-colour);border-radius:var(--radius-s);background-color:var(--surface-colour);color:var(--text-colour-regular)}.field-input:focus{outline:2px solid var(--link-colour);outline-offset:-1px}.field-error{color:var(--text-colour-error);font-size:var(--font-size-s);margin-bottom:var(--spacing-s3)}.field-checkbox{display:flex;align-items:center;gap:var(--spacing-s2);font-size:var(--font-size-r);color:var(--text-colour-regular);margin-bottom:var(--spacing-s3);cursor:pointer}.field-radio-group{display:flex;flex-direction:column;gap:var(--spacing-s2)}.field-radio-option{display:flex;align-items:center;gap:var(--spacing-s2);font-size:var(--font-size-r);color:var(--text-colour-regular);cursor:pointer}.assignment-rate-input{width:90px}.banner{border-radius:var(--radius-s);padding:var(--spacing-s3) var(--spacing-s4);font-size:var(--font-size-r);margin-bottom:var(--spacing-s4)}.banner ul{margin:0;padding-left:var(--spacing-s4)}.banner-success{background-color:color-mix(in srgb,var(--color-success-500) 15%,var(--surface-colour));color:var(--text-colour-dark);border:1px solid var(--color-success-500)}.banner-error{background-color:color-mix(in srgb,var(--color-error-500) 10%,var(--surface-colour));color:var(--text-colour-dark);border:1px solid var(--color-error-500)}.banner-warning{background-color:color-mix(in srgb,var(--color-warning-500) 15%,var(--surface-colour));color:var(--text-colour-dark);border:1px solid var(--color-warning-500)}.page-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-s3)}.acting-as-banner{display:flex;align-items:center;gap:var(--spacing-s3)}.acting-as-avatar{width:40px;height:40px;font-size:var(--font-size-m)}.acting-as-heading{font-size:var(--font-size-m);font-weight:var(--font-weight-bold);color:var(--text-colour-dark)}.acting-as-sub{font-size:var(--font-size-s);color:var(--text-colour-regular)}.ts-control,.ts-wrapper.single .ts-control,.ts-wrapper.single.input-active .ts-control,.ts-dropdown,.ts-dropdown .optgroup-header{background-color:var(--surface-colour)!important;background-image:none!important;color:var(--text-colour-regular)!important}.ts-control input{color:inherit!important}.ts-control,.ts-dropdown,.ts-dropdown.single,.ts-wrapper.single .ts-control,.ts-dropdown .optgroup{border-color:var(--border-colour)!important}.ts-dropdown .active{background-color:var(--surface-muted-colour)!important;color:var(--text-colour-dark)!important}.teammate-picker .ts-control{min-width:160px;padding:var(--spacing-s1) var(--spacing-s3)!important;border-color:var(--border-colour)!important;border-radius:var(--radius-s)!important;background-color:var(--surface-colour)!important;color:var(--text-colour-light)!important;font-size:var(--font-size-s)!important;font-weight:var(--font-weight-semibold)!important}.teammate-picker .ts-wrapper.focus .ts-control{outline:2px solid var(--link-colour)!important;outline-offset:-1px}.teammate-picker .ts-dropdown{min-width:220px;border-color:var(--border-colour)!important;border-radius:var(--radius-s)!important;color:var(--text-colour-regular)!important;font-size:var(--font-size-r)!important}.teammate-picker .ts-dropdown .active{background-color:var(--link-colour)!important;color:var(--text-colour-white)!important}.teammate-picker .ts-dropdown [data-selectable] .highlight{background-color:color-mix(in srgb,var(--link-colour) 25%,transparent)!important}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--spacing-s3);width:100%;padding:var(--spacing-s3) var(--spacing-s4);background-color:var(--surface-colour);border:1px solid var(--border-colour);border-radius:var(--radius-s);color:var(--text-colour-regular);font-weight:var(--font-weight-semibold);font-size:var(--font-size-m);text-decoration:none;transition:background-color 0.15s ease,border-color 0.15s ease}.btn-google:hover{background-color:var(--surface-subtle-colour);border-color:var(--color-ui-300);text-decoration:none}.btn-google-logo{flex-shrink:0}.empty-state{color:var(--text-colour-light);padding:var(--spacing-s4) 0}.empty-state-row{text-align:center}.stat-tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gutter-s4);margin-bottom:var(--gutter-s4)}.stat-tile{display:flex;flex-direction:column;gap:var(--spacing-s1);padding:var(--spacing-s4);background:var(--surface-colour);border:1px solid var(--border-colour);border-radius:var(--radius-m)}.stat-label{font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);color:var(--text-colour-light);text-transform:uppercase}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-colour-dark)}.stat-sub{font-size:var(--font-size-s);color:var(--text-colour-light)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-r)}.data-table th{text-align:left;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);color:var(--text-colour-light);padding:var(--spacing-s2) var(--spacing-s3);border-bottom:1px solid var(--border-colour);white-space:nowrap}.data-table td{padding:var(--spacing-s2) var(--spacing-s3);border-bottom:1px solid var(--border-colour);color:var(--text-colour-regular);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.progress-bar{display:inline-block;width:80px;height:6px;margin-left:var(--spacing-s2);background-color:var(--surface-muted-colour);border-radius:var(--radius-s);overflow:hidden;vertical-align:middle}.progress-bar-fill{display:block;height:100%;background-color:var(--link-colour);border-radius:var(--radius-s)}.split-bar{display:inline-flex;width:80px;height:6px;margin-left:var(--spacing-s2);border-radius:var(--radius-s);overflow:hidden;vertical-align:middle}.split-bar-revenue{height:100%;background-color:var(--color-success-500)}.split-bar-cost{height:100%;margin-left:2px;background-color:var(--text-colour-error)}.category-bar{display:flex;height:8px;border-radius:var(--radius-s);overflow:hidden;margin-bottom:var(--spacing-s3)}.category-bar-segment{height:100%}.category-bar-segment+.category-bar-segment{margin-left:2px}.chart-swatch{display:inline-block;width:10px;height:10px;margin-right:var(--spacing-s2);border-radius:2px;vertical-align:middle}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 var(--spacing-s4)}.form-actions{display:flex;justify-content:flex-end}.inline-form{display:flex;align-items:flex-end;gap:var(--spacing-s3);flex-wrap:wrap;margin-top:var(--spacing-s3)}.inline-form .field{margin-bottom:0}.checkbox-list{display:flex;flex-wrap:wrap;gap:var(--spacing-s3)}.checkbox-list-item{display:flex;align-items:center;gap:var(--spacing-s1);font-size:var(--font-size-r);color:var(--text-colour-regular)}.page-tab-nav{display:flex;gap:var(--spacing-s4);border-bottom:1px solid var(--border-colour);margin-bottom:var(--gutter-s4)}.page-tab-nav-item{padding:var(--spacing-s2) var(--spacing-s1);margin-bottom:-1px;border-bottom:2px solid #fff0;color:var(--text-colour-light);font-weight:var(--font-weight-semibold);text-decoration:none}.page-tab-nav-item:hover{color:var(--text-colour-dark);text-decoration:none}.page-tab-nav-item.is-active{color:var(--text-colour-dark);border-bottom-color:var(--link-colour)}.detail-layout{display:flex;gap:var(--gutter-s6);align-items:flex-start}.detail-subnav{display:flex;flex-direction:column;gap:var(--spacing-s1);width:200px;flex-shrink:0}.detail-subnav-item{display:block;padding:var(--spacing-s2) var(--spacing-s3);border-radius:var(--radius-s);color:var(--text-colour-regular);text-decoration:none;font-size:var(--font-size-r);font-weight:var(--font-weight-medium)}.detail-subnav-item:hover{background-color:var(--surface-subtle-colour);text-decoration:none}.detail-subnav-item.is-active{background-color:var(--surface-muted-colour);color:var(--text-colour-dark);font-weight:var(--font-weight-semibold)}.detail-content{flex:1;min-width:0}.auth-alt-link{text-align:center;font-size:var(--font-size-s);margin:var(--spacing-s3) 0 var(--spacing-s4)}.auth-consent-scopes{list-style:disc;padding-left:var(--spacing-s4);margin:var(--spacing-s3) 0 var(--spacing-s4)}.auth-consent-actions{display:flex;justify-content:flex-end;gap:var(--spacing-s3);margin-top:var(--spacing-s4)}.bulk-actions-bar{display:flex;align-items:center;gap:var(--spacing-s3);flex-wrap:wrap;margin-bottom:var(--gutter-s4)}.bulk-actions-bar .field-input{width:auto}.bulk-action-fields{display:none;align-items:center;gap:var(--spacing-s2)}.bulk-action-fields.is-visible{display:flex}.btn-dropdown{position:relative;display:inline-flex}.btn-dropdown-menu{position:absolute;top:100%;right:0;z-index:10;margin-top:var(--spacing-s1);min-width:160px;background-color:var(--surface-colour);border-radius:var(--radius-s);box-shadow:var(--shadow-card);padding:var(--spacing-s1);display:flex;flex-direction:column}.btn-dropdown-item{display:block;padding:var(--spacing-s2) var(--spacing-s3);border-radius:var(--radius-s);color:var(--text-colour-dark);white-space:nowrap}.btn-dropdown-item:hover{background-color:var(--surface-muted-colour)}.confirm-dialog{margin:auto;width:min(420px, calc(100vw - var(--spacing-s6)));border:none;border-radius:var(--radius-m);box-shadow:var(--shadow-card);padding:var(--spacing-s4)}.confirm-dialog::backdrop{background-color:var(--overlay-colour)}.confirm-dialog-message{color:var(--text-colour-regular)}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--spacing-s2);margin-top:var(--spacing-s4)}}@layer utilities{.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.hide{display:none}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}