@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;1,14..32,400&display=swap";.app-shell{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"topbar topbar""sidebar main";min-height:100vh;display:grid}.topbar{background:var(--colour-bg-surface);border-bottom:1px solid var(--colour-border);z-index:100;height:var(--topbar-height);grid-area:topbar;align-items:center;display:flex;position:sticky;top:0}.topbar__logo{width:var(--sidebar-width);padding:0 var(--space-5);border-right:1px solid var(--colour-border);flex-direction:column;flex-shrink:0;justify-content:center;height:100%;display:flex}.topbar__logo-name{font-family:var(--font-display);font-size:var(--font-size-3xl);letter-spacing:-.02em;flex-wrap:wrap;justify-content:center;gap:0 .15em;font-weight:700;line-height:1.1;display:flex}.topbar__logo-word{color:var(--colour-text)}.topbar__logo-accent{color:var(--colour-primary)}.topbar__logo-tagline{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:.1em;justify-content:center;margin-top:2px;display:flex}.topbar__center{padding:0 var(--space-5);flex:1}.topbar__page-title{font-family:var(--font-display);font-size:var(--font-size-3xl);color:var(--colour-primary);letter-spacing:-.01em;font-optical-sizing:none;font-style:normal;font-weight:600}.topbar__right{align-items:center;gap:var(--space-3);padding:0 var(--space-5);display:flex}.notif-wrapper{position:relative}.notif-btn{border-radius:var(--radius-md);background:var(--colour-bg-elevated);border:1px solid var(--colour-border);width:36px;height:36px;color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);justify-content:center;align-items:center;display:flex;position:relative}.notif-btn:hover,.notif-btn--open{background:var(--colour-bg-hover);color:var(--colour-text);border-color:var(--colour-border-emphasis)}.notif-badge{background:var(--colour-primary);min-width:16px;height:16px;color:var(--colour-on-primary);font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown{top:calc(100% + var(--space-2));background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);width:320px;box-shadow:var(--shadow-lg);z-index:200;position:absolute;right:0;overflow:hidden}.notif-dropdown__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--colour-text-muted);justify-content:space-between;align-items:center;font-weight:600;display:flex}.notif-dropdown__mark-all{color:var(--colour-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;padding:0}.notif-dropdown__mark-all:hover{color:var(--colour-primary-hover)}.notif-dropdown__list{max-height:320px;overflow-y:auto}.notif-dropdown__empty{padding:var(--space-5);text-align:center;color:var(--colour-text-label);font-size:var(--font-size-sm)}.notif-item{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--colour-border);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--colour-bg-hover)}.notif-item--unread{background:var(--colour-primary-tint)}.notif-item--unread:hover{background:var(--colour-bg-hover)}.notif-item__dot{background:var(--colour-primary);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.notif-item__content{flex:1}.notif-item__text{font-size:var(--font-size-sm);color:var(--colour-text);margin-bottom:2px;line-height:1.4}.notif-item__time{font-size:var(--font-size-xs);color:var(--colour-text-label)}.topbar__avatar{border-radius:var(--radius-md);background:var(--colour-primary-tint);border:1px solid var(--colour-primary);width:36px;height:36px;color:var(--colour-primary);font-family:var(--font-display);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition);justify-content:center;align-items:center;font-weight:600;display:flex}.topbar__avatar:hover{background:var(--colour-bg-hover)}.sidebar{background:var(--colour-bg-surface);border-right:1px solid var(--colour-border);top:var(--topbar-height);height:calc(100vh - var(--topbar-height));padding:var(--space-4) var(--space-3);flex-direction:column;grid-area:sidebar;display:flex;position:sticky;overflow-y:auto}.sidebar__nav{flex-direction:column;flex:1;display:flex}.sidebar__section{flex-direction:column;gap:2px;display:flex}.sidebar__nav--section-lines .sidebar__section+.sidebar__section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--colour-border)}.sidebar__nav--section-labels{gap:var(--space-4)}.sidebar__section-label{padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--colour-text-label);margin:0;font-weight:600}.sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--colour-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);transition:background var(--transition), color var(--transition);cursor:pointer;font-weight:500;text-decoration:none;display:flex}.sidebar__link:hover{background:var(--colour-bg-hover);color:var(--colour-text);text-decoration:none}.sidebar__link--active{background:var(--colour-primary-highlight);color:var(--colour-primary);border:1px solid color-mix(in srgb, var(--colour-primary) 30%, transparent)}.sidebar__link--active:hover{background:var(--colour-primary-highlight);color:var(--colour-primary)}.sidebar__link-icon{flex-shrink:0;align-items:center;display:flex}.sidebar__link-label{flex:1}.sidebar__footer{padding-top:var(--space-3);border-top:1px solid var(--colour-border);margin-top:var(--space-3)}.app-main{padding:var(--space-6);min-height:calc(100vh - var(--topbar-height));grid-area:main;overflow-y:auto}@media (width<=900px){:root{--sidebar-width:180px}}@media (width<=700px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.sidebar{display:none}.app-main{padding:var(--space-4)}}.auth-page{min-height:100vh;padding:var(--space-5);background:var(--colour-bg);justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-5);flex-direction:column;width:100%;max-width:400px;display:flex}.auth-title{font-size:var(--font-size-2xl);color:var(--colour-text);font-weight:700}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-footer{text-align:center}.payment-result-page{background:var(--colour-bg);min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.payment-result-card{align-items:center;gap:var(--space-4);width:100%;max-width:480px;padding:var(--space-8) var(--space-5);text-align:center;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-surface);flex-direction:column;display:flex}.payment-result__icon{width:64px;height:64px;font-size:var(--font-size-2xl);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.payment-result__icon--success{color:var(--colour-success);background:#10b98126;border:2px solid #10b98166}.payment-result__icon--cancelled{color:var(--colour-text-muted);background:#94a3b826;border:2px solid #94a3b866}.payment-result__title{font-family:var(--font-display);font-size:var(--font-size-3xl);color:var(--colour-text);margin:0;font-weight:600}.payment-result__body{color:var(--colour-text);margin:0;line-height:1.5}.payment-result__amount{font-size:var(--font-size-xl);color:var(--colour-text);margin:0;font-weight:600}.payment-result__hint{color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0}.loading-progress{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.loading-progress--compact{gap:var(--space-1)}.loading-progress__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.loading-progress__label{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.loading-progress--compact .loading-progress__label{font-size:var(--font-size-xs)}.loading-progress__percent{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--colour-text);text-align:right;min-width:3ch;font-weight:600}.loading-progress--compact .loading-progress__percent{font-size:var(--font-size-xs)}.loading-progress__track{background:color-mix(in srgb, var(--colour-border) 55%, transparent);border-radius:999px;height:8px;overflow:hidden}.loading-progress--compact .loading-progress__track{height:6px}.loading-progress__fill{border-radius:inherit;background:linear-gradient(90deg, var(--colour-primary) 0%, color-mix(in srgb, var(--colour-primary) 70%, var(--colour-primary-hover)) 100%);height:100%;box-shadow:var(--shadow-glow);transition:width .12s ease-out}.public-quote-page{background:var(--colour-bg);min-height:100vh;padding:var(--space-4) var(--space-5) var(--space-8);flex-direction:column;align-items:center;display:flex}.public-quote-page__toolbar{width:100%;max-width:720px;margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.public-quote__theme-toggle{border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);width:40px;height:40px;color:var(--colour-text);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform var(--transition);justify-content:center;align-items:center;display:inline-flex}.public-quote__theme-toggle:hover{background:var(--colour-bg-hover);border-color:var(--colour-border-emphasis)}.public-quote__theme-toggle-icon{font-size:var(--font-size-lg);line-height:1}.public-quote-card{gap:var(--space-5);width:100%;max-width:720px;padding:var(--space-5);border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-bg-surface);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.public-quote-card--centered{justify-content:center;align-items:stretch;min-height:220px}.public-quote__header{border-bottom:1px solid var(--colour-border);padding-bottom:var(--space-4)}.public-quote__eyebrow{margin:0 0 var(--space-1);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--colour-text-muted);font-weight:600}.public-quote__business{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--colour-text);margin:0 0 var(--space-2);font-weight:600}.public-quote__ref{color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0}.public-quote__expiry{margin:var(--space-2) 0 0;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.public-quote__steps{gap:var(--space-2);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.public-quote__step{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex;position:relative}.public-quote__step:not(:last-child):after{content:"";background:var(--colour-border);z-index:0;width:calc(100% - 36px);height:2px;position:absolute;top:14px;left:calc(50% + 18px)}.public-quote__step--done:not(:last-child):after{background:color-mix(in srgb, var(--colour-success) 55%, var(--colour-border))}.public-quote__step-marker{z-index:1;width:28px;height:28px;font-size:var(--font-size-xs);border:2px solid var(--colour-border);background:var(--colour-bg-elevated);color:var(--colour-text-muted);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative}.public-quote__step--active .public-quote__step-marker{border-color:var(--colour-primary);background:var(--colour-primary-tint);color:var(--colour-text)}.public-quote__step--done .public-quote__step-marker{border-color:var(--colour-success);background:color-mix(in srgb, var(--colour-success) 18%, var(--colour-bg-surface));color:var(--colour-success)}.public-quote__step-label{font-size:var(--font-size-xs);color:var(--colour-text-muted);font-weight:600}.public-quote__step--active .public-quote__step-label{color:var(--colour-text)}.public-quote__step--done .public-quote__step-label{color:var(--colour-success)}.public-quote__section{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-bg-elevated);padding:var(--space-5)}.public-quote__section-title{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--colour-text);font-weight:600}.public-quote__summary-title{margin:0 0 var(--space-3);color:var(--colour-text);font-weight:600}.public-quote__summary-list{padding-left:var(--space-5);color:var(--colour-text);margin:0}.public-quote__summary-list li+li{margin-top:var(--space-1)}.public-quote__amount-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border);display:flex}.public-quote__amount-label{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.public-quote__amount-value{font-size:var(--font-size-2xl);color:var(--colour-text);font-variant-numeric:tabular-nums;font-weight:700}.public-quote__amount-note{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted);text-align:right}.public-quote__pdf-link{margin:var(--space-4) 0 0}.public-quote__tier-list{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.public-quote__tier-hint{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}.public-quote__tier{border:2px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:left;background:var(--colour-bg-surface);color:var(--colour-text);cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition)}.public-quote__tier:hover{border-color:var(--colour-border-emphasis);background:var(--colour-bg-hover)}.public-quote__tier--selected{border-color:var(--colour-primary);background:var(--colour-primary-tint);box-shadow:var(--shadow-glow)}.public-quote__tier-label{margin:0 0 var(--space-2);font-weight:600}.public-quote__tier ul{padding-left:var(--space-5);color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0}.public-quote__tier-total{margin:var(--space-3) 0 0;font-weight:700;font-size:var(--font-size-lg)}.public-quote__signature-wrap{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.public-quote__signature-canvas{border:2px dashed var(--colour-border-emphasis);border-radius:var(--radius-md);background:var(--colour-field-inset);width:100%;max-width:100%}.public-quote__signature-clear{align-self:flex-end}.public-quote__field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.public-quote__field label{font-size:var(--font-size-sm);color:var(--colour-text-label);font-weight:500}.public-quote__field input{padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--colour-bg-surface);color:var(--colour-text);transition:border-color var(--transition), box-shadow var(--transition)}.public-quote__field input:focus{border-color:var(--colour-primary);box-shadow:0 0 0 3px var(--colour-primary-tint);outline:none}.public-quote__field input:disabled{opacity:.65;cursor:not-allowed}.public-quote__primary-action{margin-top:var(--space-3);width:100%}.public-quote__section--payment{background:color-mix(in srgb, var(--colour-primary) 4%, var(--colour-bg-elevated))}.public-quote__payment-hero{align-items:center;gap:var(--space-1);padding:var(--space-5);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--colour-bg-surface);border:1px solid var(--colour-border);flex-direction:column;display:flex}.public-quote__payment-hero-label{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.public-quote__payment-hero-amount{font-size:var(--font-size-3xl);color:var(--colour-text);font-variant-numeric:tabular-nums;font-weight:700}.public-quote__payment-options{gap:var(--space-3);display:grid}.public-quote__payment-option{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border:2px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface);color:var(--colour-text);text-align:left;cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);display:flex}.public-quote__payment-option:hover:not(:disabled){border-color:var(--colour-primary);background:var(--colour-primary-tint);box-shadow:var(--shadow-sm)}.public-quote__payment-option:active:not(:disabled){transform:scale(.995)}.public-quote__payment-option:disabled{opacity:.6;cursor:not-allowed}.public-quote__payment-option-icon{border-radius:var(--radius-md);background:var(--colour-bg-hover);width:44px;height:44px;font-size:var(--font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.public-quote__payment-option-copy{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.public-quote__payment-option-title{font-weight:600;font-size:var(--font-size-base)}.public-quote__payment-option-desc{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.public-quote__bank-details{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--colour-bg-surface);border:1px solid var(--colour-border);gap:var(--space-4);display:grid}.public-quote__bank-intro{color:var(--colour-text);margin:0}.public-quote__bank-grid{gap:var(--space-3);margin:0;display:grid}.public-quote__bank-item{gap:var(--space-1);display:grid}.public-quote__bank-item dt{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);font-weight:600}.public-quote__bank-item dd{font-size:var(--font-size-base);color:var(--colour-text);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.public-quote__bank-note{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}.public-quote__status-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb, var(--colour-border) 25%, var(--colour-bg-surface));border:1px solid var(--colour-border);display:flex}.public-quote__status-banner--info{background:color-mix(in srgb, var(--colour-info) 12%, var(--colour-bg-surface));border-color:color-mix(in srgb, var(--colour-info) 35%, var(--colour-border))}.public-quote__status-banner--success{background:color-mix(in srgb, var(--colour-success) 14%, var(--colour-bg-surface));border-color:color-mix(in srgb, var(--colour-success) 40%, var(--colour-border))}.public-quote__status-banner--error{background:color-mix(in srgb, var(--colour-error) 10%, var(--colour-bg-surface));border-color:color-mix(in srgb, var(--colour-error) 35%, var(--colour-border))}.public-quote__status-icon{width:32px;height:32px;font-size:var(--font-size-base);background:var(--colour-bg-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.public-quote__status-banner--success .public-quote__status-icon{background:color-mix(in srgb, var(--colour-success) 22%, transparent);color:var(--colour-success)}.public-quote__status-banner--info .public-quote__status-icon{background:color-mix(in srgb, var(--colour-info) 18%, transparent);color:var(--colour-info)}.public-quote__status-title{color:var(--colour-text);margin:0;font-weight:600}.public-quote__status-body{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.public-quote__error{color:var(--colour-error);margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}.public-quote__inline-loading{margin-top:calc(var(--space-2) * -1)}.public-quote__loading-panel{gap:var(--space-4);padding:var(--space-6) var(--space-4);flex-direction:column;display:flex}.public-quote__loading-title{text-align:center;font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--colour-text);margin:0;font-weight:600}@media (width>=640px){.public-quote__bank-grid{grid-template-columns:repeat(2,1fr)}.public-quote__primary-action{align-self:flex-start;width:auto}}@media (width<=480px){.public-quote-page{padding:var(--space-3)}.public-quote-card{padding:var(--space-4)}.public-quote__payment-hero-amount{font-size:var(--font-size-2xl)}.public-quote__step-label{font-size:.65rem}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.timeframe-pills{display:inline-block;position:relative}.timeframe-pills__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.timeframe-pill{align-items:center;gap:var(--space-1);padding:var(--space-1-5) var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);font-size:var(--font-size-sm);color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);white-space:nowrap;font-family:inherit;display:inline-flex}.timeframe-pill:hover:not(.timeframe-pill--active){background:var(--colour-bg-hover);color:var(--colour-text)}.timeframe-pill--active:hover{background:color-mix(in srgb, var(--colour-primary) 16%, var(--colour-bg-elevated))}.timeframe-pill--active{background:var(--colour-primary-tint);border-color:var(--colour-primary);color:var(--colour-primary);font-weight:500}.timeframe-pill__chevron{opacity:.7;margin-top:1px;font-size:.6em}.timeframe-picker-popover{top:calc(100% + var(--space-2));z-index:200;background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex;position:absolute;left:0;box-shadow:0 8px 32px #00000024,0 2px 8px #00000014}.timeframe-picker-popover__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--colour-border);display:flex}.timeframe-picker-popover .rdp-root{--rdp-accent-color:var(--colour-primary);--rdp-accent-background-color:var(--colour-primary-tint);--rdp-range_start-color:var(--colour-on-primary);--rdp-range_end-color:var(--colour-on-primary);--rdp-day-height:38px;--rdp-day-width:38px;--rdp-day_button-height:36px;--rdp-day_button-width:36px;font-size:var(--font-size-sm);color:var(--colour-text);font-family:inherit}.tech-scatter__wrap{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.tech-scatter__legend{font-size:var(--font-size-xs);text-align:center;padding:0 var(--space-2)}@keyframes tech-scatter-dot-enter{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.tech-scatter__dot-enter,.tech-scatter__ghost-enter{transform-box:fill-box;transform-origin:50%;animation:.6s ease-out both tech-scatter-dot-enter}.tech-scatter__tooltip{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);min-width:180px;box-shadow:0 4px 16px #0000001f}.tech-scatter__tooltip-name{color:var(--colour-text);font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--space-2);padding-bottom:var(--space-1-5);border-bottom:1px solid var(--colour-border)}.tech-scatter__tooltip-row{color:var(--colour-text-muted);font-family:var(--font-mono);line-height:1.6}.tech-scatter__tooltip-row strong{color:var(--colour-text)}.tech-scatter__tooltip-sub{color:var(--colour-text-muted);font-size:.9em}.tech-trend{gap:var(--space-4);flex-direction:column;display:flex}.tech-trend__metric-row{align-items:center;display:flex}.tech-trend__tooltip{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);min-width:160px;box-shadow:0 4px 16px #0000001f}.tech-trend__tooltip-label{font-family:var(--font-mono);color:var(--colour-text-muted);margin-bottom:var(--space-2);padding-bottom:var(--space-1-5);border-bottom:1px solid var(--colour-border);font-size:var(--font-size-xs)}.tech-trend__tooltip-period{opacity:.7}.tech-trend__tooltip-row{justify-content:space-between;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.7;display:flex}.tech-trend__tooltip-name{color:inherit;opacity:.85}.tech-trend__tooltip-row strong{color:inherit}.tech-trend__chips{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tech-trend__chip{align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2);background:color-mix(in srgb, var(--chip-color,var(--colour-primary)) 10%, var(--colour-bg-elevated));border:1px solid color-mix(in srgb, var(--chip-color,var(--colour-primary)) 30%, transparent);border-radius:var(--radius-xl);font-size:var(--font-size-xs);color:var(--colour-text);white-space:nowrap;display:inline-flex}.tech-trend__chip-dot{background:var(--chip-color,var(--colour-primary));border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tech-trend__chip-remove{cursor:pointer;width:14px;height:14px;color:var(--colour-text-muted);transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.tech-trend__chip-remove:hover{color:var(--colour-text);background:#ffffff14}.tech-trend__add-wrap{position:relative}.tech-trend__add-btn{padding:var(--space-1) var(--space-2);border:1px dashed var(--colour-border-emphasis);border-radius:var(--radius-xl);font-size:var(--font-size-xs);color:var(--colour-text-muted);cursor:pointer;transition:border-color var(--transition), color var(--transition);white-space:nowrap;background:0 0;align-items:center;font-family:inherit;display:inline-flex}.tech-trend__add-btn:hover{border-color:var(--colour-primary);color:var(--colour-primary)}.tech-trend__add-dropdown{bottom:calc(100% + var(--space-2));z-index:200;background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-1);flex-direction:column;min-width:160px;display:flex;position:absolute;left:0;box-shadow:0 4px 16px #00000024}.tech-trend__add-option{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;text-align:left;transition:background var(--transition);white-space:nowrap;background:0 0;border:none;font-family:inherit;display:flex}.tech-trend__add-option:hover{background:var(--colour-bg-hover)}.tech-trend__scatter-note{text-align:center;margin:0 0 var(--space-2);font-size:.75rem}.tech-trend__metric-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tech-trend__smoothing{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.tech-trend__smoothing-label{white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.7rem}.tech-trend__smoothing-slider{appearance:none;background:var(--colour-border);cursor:pointer;border-radius:2px;outline:none;width:90px;height:3px}.tech-trend__smoothing-slider::-webkit-slider-thumb{appearance:none;background:var(--colour-primary);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:transform .1s}.tech-trend__smoothing-slider::-moz-range-thumb{background:var(--colour-primary);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.tech-trend__smoothing-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.tech-trend__smoothing-slider:focus::-webkit-slider-thumb{transform:scale(1.2)}.tech-cat-chart{gap:var(--space-4);flex-direction:column;display:flex}.tech-cat-chart__controls{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tech-cat-chart__legend{align-items:center;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--colour-text-muted);display:flex}.tech-cat-chart__legend-item{align-items:center;gap:var(--space-2);display:flex}.tech-cat-chart__legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.tech-cat-chart__legend-dot--won{background:var(--colour-success)}.tech-cat-chart__legend-dot--lost{background:var(--colour-error)}.tech-cat-chart__sort.view-toggle{flex-shrink:0}.tech-cat-chart__rows{gap:var(--space-3);flex-direction:column;display:flex}.tech-cat-row__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.tech-cat-row__name{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tech-cat-row__meta{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));border-radius:var(--radius-sm);color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0}.tech-cat-row__meta:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.tech-cat-row__meta:focus-visible{outline:2px solid var(--colour-primary);outline-offset:1px}.tech-cat-row__meta--selected{background:color-mix(in srgb, var(--colour-primary) 10%, transparent);color:var(--colour-primary)}.tech-cat-bar__track--split{background:0 0;height:10px;display:flex;overflow:visible}.tech-cat-bar__track--efficiency{background:var(--colour-bg-hover);border-radius:4px;align-items:center;height:14px;display:flex;position:relative;overflow:hidden}.tech-cat-bar__fill{z-index:1;min-width:0;height:100%;transition:width var(--transition);border-radius:4px;flex-shrink:0;position:relative}.tech-cat-bar__fill--high{background:var(--colour-success)}.tech-cat-bar__fill--mid{background:var(--colour-primary)}.tech-cat-bar__fill--low{background:color-mix(in srgb, var(--colour-error) 75%, var(--colour-primary))}.tech-cat-bar__fill--none{background:0 0}.tech-cat-bar__efficiency-markers{pointer-events:none;z-index:0;position:absolute;inset:0}.tech-cat-bar__efficiency-mark{background:color-mix(in srgb, var(--colour-border-emphasis) 55%, transparent);width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.tech-cat-bar__efficiency-label{right:var(--space-2);z-index:2;font-family:var(--font-mono);color:var(--colour-text);text-shadow:0 0 4px var(--colour-bg-hover), 0 0 4px var(--colour-bg-hover);pointer-events:none;font-size:10px;font-weight:600;position:absolute}.tech-cat-chart__efficiency-scale{font-family:var(--font-mono);color:var(--colour-text-muted);grid-template-columns:repeat(5,1fr);padding:0 1px;font-size:10px;display:grid}.tech-cat-chart__efficiency-scale span:first-child{text-align:left}.tech-cat-chart__efficiency-scale span:last-child{text-align:right}.tech-cat-chart__efficiency-scale span:not(:first-child):not(:last-child){text-align:center}.tech-cat-bar__half{background:var(--colour-bg-hover);flex:1;min-width:0;height:100%;display:flex}.tech-cat-bar__half--left{border-right:1px solid var(--colour-border-emphasis);border-radius:4px 0 0 4px;justify-content:flex-end}.tech-cat-bar__half--right{border-radius:0 4px 4px 0;justify-content:flex-start}.tech-cat-bar__wins{background:var(--colour-success);border-radius:4px 0 0 4px;flex-shrink:0;height:100%}.tech-cat-bar__wins--full{border-radius:4px;max-width:100%}.tech-cat-bar__losses{background:var(--colour-error);border-radius:0 4px 4px 0;flex-shrink:0;height:100%}.tech-cat-chart__pagination{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tech-cat-chart__page-btn{font-size:var(--font-size-sm)}.tech-cat-chart__page-btn:disabled{opacity:.45;cursor:not-allowed}.tech-cat-chart__empty{font-size:var(--font-size-sm);margin:0;font-style:italic}.calendar-event-detail{background:var(--colour-bg-surface);flex-direction:column;min-width:0;height:100%;display:flex}.calendar-event-detail__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);flex-shrink:0;display:flex}.calendar-event-detail__header-left,.calendar-event-detail__header-right{align-items:center;gap:var(--space-2);min-width:0;display:flex}.calendar-event-detail__header--with-return{align-items:flex-start}.calendar-event-detail__header--with-return .calendar-event-detail__header-right{flex-direction:column;flex:1;align-items:stretch}.calendar-event-detail__header--with-return .calendar-event-detail__edit-actions{justify-content:flex-end}.calendar-event-detail__edit-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-event-create__return-btn{text-align:center;white-space:normal;width:100%;padding:var(--space-2) var(--space-3);line-height:1.35}.calendar-event-detail__close{min-width:36px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xl);line-height:1}.calendar-event-detail__body{min-height:0;padding:var(--space-4) var(--space-5) var(--space-6);flex:1;overflow-y:auto}.calendar-event-detail__error{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--colour-error)}.calendar-event-detail__title-row{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.calendar-event-detail__title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--colour-text);flex:1;min-width:0;margin:0;font-weight:600;line-height:1.3}.calendar-event-detail__lock-badge,.calendar-event-detail__visibility-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--colour-border-emphasis);flex-shrink:0;font-weight:700}.calendar-event-detail__lock-badge{background:color-mix(in srgb, var(--colour-text-muted) 14%, transparent);color:var(--colour-text-muted)}.calendar-event-detail__visibility-badge{background:color-mix(in srgb, var(--colour-warning,#d97706) 16%, transparent);color:var(--colour-text);border-color:color-mix(in srgb, var(--colour-warning,#d97706) 45%, var(--colour-border-emphasis));align-items:center;gap:var(--space-1);display:inline-flex}.calendar-event-detail__visibility-badge-icon{flex-shrink:0}.calendar-event-detail__type-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);border:1px solid;align-items:center;font-weight:700;display:inline-flex}.calendar-event-detail__fields{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.calendar-event-detail__field{gap:var(--space-1);flex-direction:column;display:flex}.calendar-event-detail__field dt{margin:0}.calendar-event-detail__field dd{font-size:var(--font-size-sm);color:var(--colour-text);margin:0;line-height:1.45}.calendar-event-detail__note,.calendar-event-detail__job{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.calendar-event-detail__note h3,.calendar-event-detail__job h3{margin:0 0 var(--space-2)}.calendar-event-detail__note-body{font-size:var(--font-size-sm);color:var(--colour-text);white-space:pre-wrap;margin:0;line-height:1.55}.calendar-event-detail__job-title{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.calendar-event-detail__job-go{width:100%}.calendar-event-detail__job-missing{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.calendar-event-detail__job-missing-label{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}.calendar-event-detail__job-pull{flex-shrink:0}.calendar-event-detail__title-match{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted,var(--colour-bg-subtle))}.calendar-event-detail__title-match-intro,.calendar-event-detail__title-match-label{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text-muted)}.calendar-event-detail__title-match-task{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.calendar-event-detail__title-match-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-event-app-visibility__hint{margin:var(--space-1) 0 0}.calendar-event-detail__job--readonly .calendar-event-detail__job-title{margin-bottom:0}.calendar-event-detail__form-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.calendar-event-detail__form-field--typeahead{position:relative;overflow:visible}.calendar-event-detail__time-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.calendar-event-detail__time-row--time-duration{gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-event-detail__time-row--time-duration .calendar-event-detail__time-start{flex:2 12.5rem;min-width:0}.calendar-event-detail__time-end-group{gap:var(--space-3);flex:2 12.5rem;min-width:0;display:flex}.calendar-event-detail__time-end-group .calendar-event-detail__form-field{flex:1 1 0;min-width:0;margin-bottom:0}.calendar-event-detail__time-row .calendar-event-detail__form-field{margin-bottom:0}.duration-segment{padding:var(--space-1-5) var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-elevated);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;cursor:default;-webkit-user-select:none;user-select:none;transition:border-color var(--transition);outline:none;align-items:center;gap:2px;min-width:0;display:inline-flex}.duration-segment--focused{border-color:var(--colour-primary);outline:2px solid color-mix(in srgb, var(--colour-primary) 25%, transparent);outline-offset:0}.duration-segment__part{border-radius:var(--radius-sm);text-align:center;min-width:1.8em;color:var(--colour-text);padding:1px 3px;display:inline-block}.duration-segment__part--active{background:var(--colour-primary);color:#fff}.duration-segment__sep{color:var(--colour-text-muted);font-size:var(--font-size-xs);padding:0 1px}.calendar-event-detail__time-hint{margin:calc(-1 * var(--space-2)) 0 var(--space-3)}.calendar-event-detail input[type=time]::-webkit-calendar-picker-indicator{display:none}.calendar-event-detail__textarea{resize:vertical;min-height:5rem;line-height:1.5}.calendar-event-detail__edit-hint{margin:var(--space-2) 0 0;font-size:var(--font-size-xs)}.tech-cat-jobs-panel__loading{padding:var(--space-4) 0;justify-content:center;display:flex}.tech-cat-jobs-panel__spinner{animation:1s linear infinite spin;display:block}.tech-cat-jobs-panel__list{margin-top:var(--space-3);flex-direction:column;gap:2px;display:flex}.tech-cat-jobs-panel__row{grid-template-columns:1fr auto auto}.tech-cat-jobs-panel__amount--won{color:var(--colour-success)}.tech-cat-jobs-panel__amount--lost{color:var(--colour-error)}.dashboard{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard__header-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard__greeting{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--colour-text);margin-top:var(--space-1);font-weight:600}.dashboard__stats{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=800px){.dashboard__stats{grid-template-columns:1fr}}.stat-card__comparison{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-family:var(--font-mono);line-height:1.3;display:flex}.stat-card__comparison-arrow{font-size:var(--font-size-sm);font-weight:700;line-height:1}.stat-card__comparison--up{color:var(--colour-success)}.stat-card__comparison--down{color:var(--colour-error)}.stat-card__comparison--flat{color:var(--colour-text-muted)}.stat-card__sub{font-size:var(--font-size-xs)}.dashboard__grid{gap:var(--space-4);grid-template-columns:1fr 340px;align-items:start;display:grid}@media (width<=1000px){.dashboard__grid{grid-template-columns:1fr}}.dashboard__side,.dashboard__panel{gap:var(--space-4);flex-direction:column;display:flex}.dashboard__panel-header{justify-content:space-between;align-items:center;display:flex}.dashboard__see-all{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-primary);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;padding:0}.dashboard__see-all:hover{color:var(--colour-primary-hover)}.recent-orders{flex-direction:column;gap:2px;display:flex}.recent-order-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border:none;border-bottom:1px solid var(--colour-border);cursor:pointer;text-align:left;transition:background var(--transition);border-radius:var(--radius-sm);background:0 0;grid-template-columns:90px 1fr auto auto;display:grid}.recent-order-row:last-child{border-bottom:none}.recent-order-row:hover{background:var(--colour-bg-hover)}.recent-order-row__id{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-primary);font-weight:600}.recent-order-row__party{font-size:var(--font-size-sm);color:var(--colour-text)}.recent-order-row__total{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);white-space:nowrap}.recent-jobs{flex-direction:column;gap:2px;display:flex}.recent-job-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border:none;border-bottom:1px solid var(--colour-border);cursor:pointer;text-align:left;transition:background var(--transition);border-radius:var(--radius-sm);background:0 0;grid-template-columns:1fr auto auto auto;width:100%;display:grid}.recent-job-row:last-child{border-bottom:none}.recent-job-row:hover{background:var(--colour-bg-hover)}.recent-job-row__title{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.recent-job-row__client{font-size:var(--font-size-sm);color:var(--colour-text-muted);white-space:nowrap}.recent-job-row__total{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);white-space:nowrap}.dashboard__seller-category-breakdown{min-height:280px}.dashboard__category-split{gap:0}.dashboard__category-split--open{gap:var(--space-4)}.dashboard__category-split>.calendar-board{width:100%;transition:width var(--transition-slow);flex-shrink:0}.dashboard__category-split--open>.calendar-board{width:calc((100% - var(--space-4)) / 2)}.dashboard__category-details-panel{opacity:0;pointer-events:none;width:0;min-width:0;transition:width var(--transition-slow), opacity var(--transition-slow);border-color:#0000;flex:none;padding:0;animation:none;overflow:hidden}.dashboard__category-split--open>.dashboard__category-details-panel{width:calc((100% - var(--space-4)) / 2);opacity:1;pointer-events:auto;padding:var(--space-5);border-color:var(--colour-border)}.dashboard__category-details-panel__inner{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.dashboard__category-split--open>.dashboard__category-details-panel .dashboard__category-details-panel__inner{animation:slideIn var(--transition-slow) ease}.dev-mock-toggle{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);font-size:var(--font-size-xs);font-family:var(--font-mono);cursor:pointer;color:var(--colour-text-muted);transition:background var(--transition), border-color var(--transition), color var(--transition);white-space:nowrap;display:inline-flex}.dev-mock-toggle:hover{background:var(--colour-bg-hover)}.dev-mock-toggle--mock{border-color:var(--colour-primary);color:var(--colour-primary);background:color-mix(in srgb, var(--colour-primary) 8%, var(--colour-bg-elevated))}.spend-chart{align-items:flex-end;gap:var(--space-2);height:100px;padding-bottom:var(--space-4);display:flex;position:relative}.spend-chart__col{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-direction:column;flex:1;height:100%;display:flex}.spend-chart__bar{background:var(--colour-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;opacity:.8;width:100%;transition:opacity var(--transition);min-height:4px}.spend-chart__col:hover .spend-chart__bar{opacity:1}.spend-chart__label{font-size:var(--font-size-xs);color:var(--colour-text-label);text-align:center;position:absolute;bottom:0}.spend-chart__col:first-child .spend-chart__label{left:calc(16.6667% - 10px)}.spend-chart__col:nth-child(2) .spend-chart__label{left:calc(50% - 10px)}.spend-chart__col:nth-child(3) .spend-chart__label{right:calc(16.6667% - 10px)}.top-suppliers{gap:var(--space-3);flex-direction:column;display:flex}.top-supplier__info{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.top-supplier__name{font-size:var(--font-size-sm);color:var(--colour-text)}.top-supplier__total{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted)}.top-supplier__track{background:var(--colour-bg-hover);border-radius:3px;height:6px;overflow:hidden}.top-supplier__fill{background:var(--colour-primary);opacity:.7;height:100%;transition:width var(--transition-slow);border-radius:3px}.dashboard__seller-stats-section{gap:var(--space-3);flex-direction:column;display:flex}.dashboard__seller-stats-header{align-items:center;gap:var(--space-3);display:flex}.dashboard__tech-select{appearance:none;background:var(--colour-bg-elevated) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right var(--space-2) center;border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-1) var(--space-6) var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;min-width:160px;transition:border-color var(--transition);font-family:inherit}.dashboard__tech-select:hover,.dashboard__tech-select:focus{border-color:var(--colour-primary);outline:none}.dashboard__seller-stats-row{gap:var(--space-4);grid-template-columns:repeat(5,1fr);display:grid}@media (width<=1200px){.dashboard__seller-stats-row{grid-template-columns:repeat(3,1fr)}}@media (width<=800px){.dashboard__seller-stats-row{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.dashboard__seller-stats-row{grid-template-columns:1fr}}.stat-card--coming-soon{opacity:.5;pointer-events:none;position:relative}.stat-card__coming-soon-badge{font-size:10px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);background:var(--colour-bg);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-sm);margin-top:var(--space-1);padding:2px 6px;font-weight:600;display:inline-block}.dashboard__profit-stats-section{gap:var(--space-3);flex-direction:column;display:flex}.dashboard__profit-stats-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard__profit-stats-row{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1200px){.dashboard__profit-stats-row{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.dashboard__profit-stats-row{grid-template-columns:1fr}}.dashboard__panel-coming-soon-badge{font-size:10px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);background:var(--colour-bg);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.dashboard__seller-scatter{overflow:visible}.dashboard__seller-scatter .dashboard__panel-header{gap:var(--space-3);flex-wrap:wrap}.dashboard__seller-trend{overflow:visible}.dashboard__seller-top{gap:var(--space-4);grid-template-columns:1fr 2fr;align-items:start;display:grid}.dashboard__seller-stats{gap:var(--space-4);flex-direction:column;display:flex}.dashboard__graph-card{gap:var(--space-4);flex-direction:column;min-height:400px;display:flex;overflow:visible}.dashboard__graph-heading{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.dashboard__graph-placeholder{border-radius:var(--radius-md);flex:1;height:100%;max-height:392px}@media (width<=900px){.dashboard__seller-top{grid-template-columns:1fr}}.dashboard__chart-wrap{gap:var(--space-2);flex-direction:column;display:flex}.dashboard__chart-note{font-size:var(--font-size-xs);text-align:center;padding:0 var(--space-2)}.dashboard__chart-tooltip{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs)}.dashboard__chart-tooltip-label{color:var(--colour-text-muted);margin-bottom:var(--space-1)}.dashboard__chart-tooltip-value{color:var(--colour-text)}.dashboard__chart-tooltip-hint{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--colour-border);font-family:inherit;font-size:var(--font-size-xs);color:var(--colour-text-muted);max-width:220px;line-height:1.4}.dashboard__buyer-top{gap:var(--space-4);grid-template-columns:1fr 2fr;align-items:start;display:grid}.dashboard__buyer-stats{gap:var(--space-4);flex-direction:column;display:flex}.dashboard__buyer-bottom,.dashboard__seller-bottom{gap:var(--space-4);grid-template-columns:2fr 1fr;align-items:start;display:grid}.dashboard__seller-left{gap:var(--space-4);flex-direction:column;display:flex}.dashboard__seller-refresh-bar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:.8rem;display:flex}.dashboard__seller-refresh-age{font-size:.8rem}.dashboard__seller-refresh-btn{color:var(--colour-accent,var(--colour-primary));cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.dashboard__seller-refresh-btn:hover{opacity:.75}@media (width<=900px){.dashboard__buyer-top,.dashboard__buyer-bottom,.dashboard__seller-bottom{grid-template-columns:1fr}}.xero-accounting-beta--embedded,.xero-payroll-beta--embedded{width:100%}.xero-accounting-beta{gap:var(--space-3);flex-direction:column;display:flex}.xero-accounting-beta__header{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.xero-accounting-beta__header>div:first-child{align-items:center;gap:var(--space-2);display:flex}.xero-accounting-beta__badge{border-radius:var(--radius-pill);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-accent);background:color-mix(in srgb, var(--colour-accent) 12%, transparent);align-items:center;padding:.1rem .45rem;font-weight:600;display:inline-flex}.xero-accounting-beta__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.xero-accounting-beta__period-toggle{border:1px solid var(--colour-border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.xero-accounting-beta__period-btn{color:var(--colour-text-muted);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);cursor:pointer;background:0 0;border:0}.xero-accounting-beta__period-btn--active{background:color-mix(in srgb, var(--colour-accent) 12%, transparent);color:var(--colour-text);font-weight:600}.xero-accounting-beta__sync-btn{white-space:nowrap}.xero-accounting-beta__hint,.xero-accounting-beta__meta,.xero-accounting-beta__empty-sync{margin:0;line-height:1.55}.xero-accounting-beta__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=900px){.xero-accounting-beta__stats{grid-template-columns:1fr}}.xero-accounting-beta__table-wrap{overflow-x:auto}.xero-accounting-beta__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.xero-accounting-beta__table th,.xero-accounting-beta__table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}.xero-accounting-beta__table th{color:var(--colour-text-muted);white-space:nowrap;font-weight:600}.xero-accounting-beta__num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.xero-accounting-beta__manage-link{font-size:var(--font-size-sm);margin:0}.xero-accounting-beta__manage-link a{color:var(--colour-accent);font-weight:600;text-decoration:none}.xero-accounting-beta__manage-link a:hover{text-decoration:underline}.xero-payroll-beta--embedded{width:100%}.xero-payroll-beta{gap:var(--space-3);flex-direction:column;display:flex}.xero-payroll-beta__header{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.xero-payroll-beta__header>div:first-child{align-items:center;gap:var(--space-2);display:flex}.xero-payroll-beta__badge{border-radius:var(--radius-pill);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-accent);background:color-mix(in srgb, var(--colour-accent) 12%, transparent);align-items:center;padding:.1rem .45rem;font-weight:600;display:inline-flex}.xero-payroll-beta__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.xero-payroll-beta__period-toggle{border:1px solid var(--colour-border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.xero-payroll-beta__period-btn{color:var(--colour-text-muted);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);cursor:pointer;background:0 0;border:0}.xero-payroll-beta__period-btn--active{background:color-mix(in srgb, var(--colour-accent) 12%, transparent);color:var(--colour-text);font-weight:600}.xero-payroll-beta__sync-btn{white-space:nowrap}.xero-payroll-beta__hint,.xero-payroll-beta__meta,.xero-payroll-beta__empty-sync{margin:0;line-height:1.55}.xero-payroll-beta__stats{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1100px){.xero-payroll-beta__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.xero-payroll-beta__stats{grid-template-columns:1fr}}.xero-payroll-beta__table-wrap{overflow-x:auto}.xero-payroll-beta__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.xero-payroll-beta__table th,.xero-payroll-beta__table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}.xero-payroll-beta__table th{color:var(--colour-text-muted);white-space:nowrap;font-weight:600}.xero-payroll-beta__num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.xero-payroll-beta__notice{padding:var(--space-3);border-radius:var(--radius-md);margin:0;line-height:1.55}.xero-payroll-beta__notice p{margin:0 0 var(--space-2)}.xero-payroll-beta__notice p:last-child{margin-bottom:0}.xero-payroll-beta__notice-title{font-weight:600}.xero-payroll-beta__notice--info{background:color-mix(in srgb, var(--colour-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--colour-accent) 25%, transparent)}.xero-payroll-beta__notice--warn{background:#c2410c1a;border:1px solid #c2410c40}.xero-payroll-beta__manage-link{font-size:var(--font-size-sm);margin:0}.xero-payroll-beta__manage-link a{color:var(--colour-accent);font-weight:600;text-decoration:none}.xero-payroll-beta__manage-link a:hover{text-decoration:underline}.integration-sync-log{width:100%;padding:var(--space-5);box-sizing:border-box}.integration-sync-log__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.integration-sync-log__heading{font-size:var(--font-size-lg);margin:0;font-weight:600}.integration-sync-log__header-badge{font-size:var(--font-size-xs);background:color-mix(in srgb, var(--colour-warning,#c47d00) 18%, transparent);color:var(--colour-warning,#c47d00);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-weight:600}.integration-sync-log__hint{margin:0 0 var(--space-4);font-size:var(--font-size-sm);line-height:1.55}.integration-sync-log__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.integration-sync-log__item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--colour-surface-muted)}.integration-sync-log__item-main{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.integration-sync-log__label{font-weight:600}.integration-sync-log__state{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.integration-sync-log__state--ok{color:var(--colour-success)}.integration-sync-log__state--error{color:var(--colour-danger)}.integration-sync-log__state--never{color:var(--colour-text-muted)}.integration-sync-log__meta{font-size:var(--font-size-sm);margin:0}.integration-sync-log__error{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--colour-danger);line-height:1.45}.integration-sync-log__error-code{margin-right:var(--space-2);font-family:var(--font-mono);opacity:.85;font-size:.75rem;display:inline-block}.integration-health-strip{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.integration-health-strip__content{flex:12rem;min-width:0}.integration-health-strip__title{margin:0 0 var(--space-2)}.integration-health-strip__pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.integration-health-strip__pill{font-size:var(--font-size-sm);border-radius:999px;align-items:center;padding:.35rem .75rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.integration-health-strip__pill:hover{opacity:.88}.integration-health-strip__pill--ok{background:color-mix(in srgb, var(--colour-success) 16%, transparent);color:var(--colour-success)}.integration-health-strip__pill--warn{background:color-mix(in srgb, var(--colour-warning,#c47d00) 16%, transparent);color:var(--colour-warning,#c47d00)}.integration-health-strip__pill--neutral,.integration-health-strip__pill--muted{background:var(--colour-surface-muted);color:var(--colour-text-muted)}.integration-health-strip__detail{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);line-height:1.45}.integration-health-strip__manage{flex-shrink:0}.calendar-page{gap:var(--space-4);flex-direction:column;display:flex}.calendar-toolbar{align-items:center;gap:var(--space-3);display:flex}.calendar-toolbar .list-page__search-wrap{flex:1}.calendar-toolbar__actions,.calendar-toolbar__dev-copy{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.calendar-toolbar__dev-copy-feedback{white-space:nowrap;font-size:.8125rem}.calendar-toolbar__quick-schedule{position:relative}.calendar-toolbar__quick-schedule-badge{background:var(--colour-primary);min-width:16px;height:16px;color:var(--colour-on-primary);font-size:10px;font-weight:700;font-family:var(--font-mono);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:-4px;right:-4px}.calendar-filter{padding:var(--space-4)}.calendar-filter__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.calendar-filter__header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.calendar-tasks-filter{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.calendar-tasks-only-toggle,.calendar-tasks-color-mode{flex-shrink:0}.calendar-category-legend{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.calendar-category-legend__item{align-items:center;gap:var(--space-2);display:inline-flex}.calendar-category-legend__swatch{border-radius:var(--radius-xs);border:2px solid;flex-shrink:0;width:12px;height:12px}.calendar-category-legend__label{font-size:var(--font-size-xs);color:var(--colour-text-muted);white-space:nowrap}.calendar-layout{align-items:stretch;gap:var(--space-4);display:flex}.calendar-board{gap:var(--space-3);min-width:0;padding:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.calendar-board__meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.calendar-board__meta-left{align-items:center;gap:var(--space-3);display:flex}.calendar-column-width{align-items:center;gap:var(--space-2);min-width:0;display:flex}.calendar-column-width__label{font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:600}.calendar-column-width__slider{flex-shrink:0;width:120px;height:28px}.calendar-column-width__value{font-size:var(--font-size-xs);text-align:right;white-space:nowrap;min-width:4.5rem}.calendar-hover-tooltip{z-index:1000;width:max-content;max-width:min(420px,100vw - 24px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--colour-border-emphasis);background:var(--colour-bg-elevated);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);color:var(--colour-text);pointer-events:none;white-space:normal;overflow-wrap:anywhere;text-align:center;font-weight:600;line-height:1.4;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.calendar-hover-tooltip--label{z-index:1001}.calendar-hover-tooltip--label:not(.calendar-hover-tooltip--positioned){visibility:hidden}.calendar-hover-tooltip--stacked{text-align:left;flex-direction:column;gap:2px;display:flex}.calendar-hover-tooltip__title{font-weight:600}.calendar-hover-tooltip__meta{color:var(--colour-text-muted);font-size:10px;font-weight:500;line-height:1.2}.calendar-hover-tooltip--interactive{pointer-events:auto;text-align:left;padding:var(--space-2);position:static;top:auto;left:auto;overflow:visible;transform:none}.calendar-hover-tooltip-stack{z-index:1000;pointer-events:auto;flex-direction:column;align-items:stretch;display:flex;position:fixed;overflow:visible;transform:translate(-50%,-100%)}.calendar-hover-bridge{z-index:999;pointer-events:auto;background:0 0;display:none;position:fixed}.calendar-header__plumber-cell--initials{font-family:var(--font-mono);letter-spacing:.04em}.calendar-resize-handle{cursor:col-resize;touch-action:none;flex-shrink:0;width:8px;position:relative}.calendar-resize-handle:before{content:"";background:var(--colour-border-emphasis);width:1px;transition:background var(--transition), width var(--transition);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.calendar-resize-handle:hover:before,.calendar-page--resizing .calendar-resize-handle:before{background:var(--colour-primary);width:2px}.calendar-page--resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.calendar-details-panel{min-width:0;animation:slideIn var(--transition-slow) ease;flex-direction:column;flex:1;display:flex;overflow:hidden}.calendar-shell{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface);flex:1;min-height:0;overflow:hidden}.calendar-shell__scroll{width:100%;height:100%;overflow:auto}.calendar-shell__inner{min-height:100%;position:relative}.calendar-header{z-index:7;display:flex;position:sticky;left:0;right:0}.calendar-header--date{height:40px;top:0}.calendar-header--plumber{height:40px;top:40px}.calendar-header__time-corner{border-right:1px solid var(--colour-border);border-bottom:1px solid var(--colour-border);background:var(--colour-bg-elevated);width:88px;color:var(--colour-text-label);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;z-index:9;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:sticky;left:0}.calendar-header__time-corner--date{font-weight:700}.calendar-header__time-corner--button{font:inherit;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-top:none;border-left:none;margin:0;padding:0}.calendar-header__time-corner--button:hover{background:var(--colour-bg-surface);color:var(--colour-text)}.calendar-header__time-corner--button:focus-visible{outline:2px solid var(--colour-focus-ring,var(--colour-primary));outline-offset:-2px}.calendar-header__time-corner--clipped{color:var(--colour-alert-text);background:var(--colour-alert-surface);border-color:var(--colour-alert-border);font-weight:700}.calendar-header__time-corner--clipped:hover{background:var(--colour-alert-surface-hover);color:var(--colour-alert-text)}.calendar-header__date-track,.calendar-header__plumber-track{border-bottom:1px solid var(--colour-border);background:var(--colour-bg-elevated);min-height:100%;display:flex;position:relative}.calendar-header__date-cell{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--colour-text-label);border-right:1px solid var(--colour-border);justify-content:center;align-items:center;display:flex}.calendar-header__date-cell--today{background:color-mix(in srgb, var(--colour-primary) 12%, transparent)}.calendar-header__date-cell--compact{text-transform:none;letter-spacing:0;font-size:10px}.calendar-header__plumber-cell{font-size:var(--font-size-xs);color:var(--colour-text);border-right:1px solid var(--colour-border);background:var(--colour-bg-elevated);white-space:nowrap;text-overflow:ellipsis;padding:0 var(--space-2);font-weight:600;font:inherit;text-align:center;border-top:none;border-bottom:none;border-left:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.calendar-header__plumber-cell--expanded{cursor:pointer;background:var(--colour-bg-subtle);box-shadow:inset 0 -2px 0 var(--colour-accent)}.calendar-header__plumber-cell--expanded:hover,.calendar-header__plumber-cell--expanded:focus-visible{background:color-mix(in srgb, var(--colour-accent) 8%, var(--colour-bg-subtle));outline:none}.calendar-header__plumber-cell--today{background:color-mix(in srgb, var(--colour-primary) 12%, transparent)}.calendar-body{position:absolute;left:0;right:0}.calendar-time-axis{background:var(--colour-bg-surface);border-right:1px solid var(--colour-border);z-index:6;width:88px;height:100%;position:sticky;left:0}.calendar-time-axis__row{border-top:1px solid var(--colour-border);width:100%;height:60px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-label);background:var(--colour-bg-surface);justify-content:center;align-items:flex-start;padding-top:2px;display:flex;position:absolute;left:0}.calendar-columns{background-image:linear-gradient(to bottom, transparent 0, transparent calc(60px - 1px), var(--colour-border) calc(60px - 1px), var(--colour-border) 60px);background-size:100% 60px;position:absolute;top:0;left:88px;overflow:hidden}.calendar-column__now-line{background:var(--colour-error);z-index:5;pointer-events:none;height:2px;position:absolute;left:0;right:0}.calendar-column{border-right:1px solid var(--colour-border);position:absolute;top:0}.calendar-column--today{background:color-mix(in srgb, var(--colour-primary) 7%, transparent)}.calendar-column--expanded{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--colour-accent) 35%, transparent)}.calendar-event{padding:var(--space-1) var(--space-1-5);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1px;display:flex;position:absolute;overflow:hidden}.calendar-event:has(.calendar-event__app-hidden-icon) .calendar-event__title:not(.calendar-event__title--wrap){padding-right:calc(var(--space-3) + 12px)}.calendar-event--ghost{opacity:.92;cursor:grab;touch-action:none;z-index:5;transition:opacity var(--transition), box-shadow var(--transition);border-style:dashed;border-width:2px;overflow:visible}.calendar-event--ghost-highlighted{opacity:.98;z-index:6}.calendar-event--ghost.calendar-event--selected{outline:2px solid var(--colour-primary);outline-offset:1px;box-shadow:var(--shadow-md)}.calendar-page--ghost-multi-edit .calendar-event--ghost-dimmed{opacity:.55;box-shadow:var(--shadow-sm)}.calendar-event--ghost-overlap{background:color-mix(in srgb, var(--colour-danger,#dc2626) 28%, var(--colour-bg-elevated))!important;border-color:var(--colour-danger,#dc2626)!important;color:var(--colour-text)!important}.calendar-event--ghost-overlap.calendar-event--ghost-dimmed{opacity:.9}.calendar-event__app-hidden-icon{z-index:1;color:var(--colour-text-muted);opacity:.9;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;right:2px}.calendar-event__travel-band{background:var(--timesheet-travel-bg);border-bottom:1px solid color-mix(in srgb, var(--timesheet-travel-accent) 40%, transparent);pointer-events:none;z-index:0;position:absolute;top:0;left:0;right:0}.calendar-event--interactive{cursor:pointer;text-align:left;font:inherit;transition:box-shadow var(--transition), outline-color var(--transition)}.calendar-event--interactive:hover{box-shadow:var(--shadow-md)}.calendar-event--interactive:focus-visible{outline:2px solid var(--colour-primary);outline-offset:1px;z-index:3}.calendar-event--selected{outline:2px solid var(--colour-primary);outline-offset:1px;box-shadow:var(--shadow-md);z-index:3}.calendar-event--editable-drag{cursor:grab;touch-action:none}.calendar-page--timeline-dragging,.calendar-page--ghost-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.calendar-page--timeline-dragging .calendar-event--ghost,.calendar-page--timeline-dragging .calendar-event--editable-drag,.calendar-page--ghost-dragging .calendar-event--ghost{cursor:grabbing;z-index:6}.calendar-page--timeline-dragging .calendar-event--ghost{opacity:.82;box-shadow:var(--shadow-md)}.calendar-page--timeline-dragging .calendar-event--ghost-highlighted{opacity:.98}.calendar-page--timeline-dragging .calendar-event--ghost-dimmed{opacity:.58}.calendar-page--timeline-dragging .calendar-event--editable-drag{box-shadow:var(--shadow-md)}.calendar-event--more{font-size:var(--font-size-xs);color:var(--colour-text-muted);border-color:var(--colour-border-emphasis);background:var(--colour-bg-elevated);justify-content:center;align-items:center;padding:0;font-weight:700;display:flex}.calendar-event__title{z-index:1;font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:600;line-height:1.3;display:block;position:relative;overflow:hidden}.calendar-event__distance{z-index:1;color:var(--colour-text-muted);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:10px;font-weight:500;line-height:1.2;display:block;position:relative;overflow:hidden}.calendar-empty{border:1px dashed var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-5);color:var(--colour-text-muted)}.job-detail__core-client-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=900px){.job-detail__core-client-grid{grid-template-columns:1fr}}.job-details-section{margin-bottom:var(--space-4)}.job-details-section__category-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-details-section__category-row .job-category-typeahead{flex:1;min-width:12rem}.job-details-section__manage-categories-btn{flex-shrink:0}.job-detail__linked-job-row{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=900px){.job-detail__linked-job-row{grid-template-columns:1fr}}.job-linked-job-section__link{width:fit-content;max-width:100%;display:block}.job-linked-job-section__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-linked-job-section__list-item{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.job-linked-job-section__remove{min-width:2rem;padding:0 var(--space-1);flex-shrink:0;font-size:1.25rem;line-height:1}.job-linked-job-section__typeahead{margin-top:var(--space-3)}.detail-field__value--link{font:inherit;color:var(--colour-primary);text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.detail-field__value--link:hover{color:var(--colour-primary-hover,var(--colour-primary))}.detail-section__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--colour-border);display:flex}.detail-section__title--header{border-bottom:none;flex:1;min-width:0;margin:0;padding-bottom:0}.detail-section__header-trailing{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.job-detail__json-pre{box-sizing:border-box}.job-detail__quote-toolbar{margin-bottom:var(--space-3);align-items:center;display:flex}.job-detail__quote-picker{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.job-detail__quote-chip{font-size:var(--font-size-xs);padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);font-weight:600}.job-detail__quote-chip:hover{border-color:var(--colour-border-emphasis);color:var(--colour-text)}.job-detail__quote-chip--active{background:var(--colour-primary-tint);color:var(--colour-primary);border-color:color-mix(in srgb, var(--colour-primary) 35%, transparent)}.job-detail__client-summary{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-field-inset)}.job-detail__client-summary h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--colour-text);font-weight:600}.job-detail__client-summary ul{padding-left:var(--space-5);color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0;line-height:1.55}.job-checklist{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-elevated);padding:var(--space-4);margin-bottom:var(--space-4)}.job-checklist__title{margin-bottom:var(--space-2)}.job-checklist__subtitle{margin-bottom:var(--space-3);font-size:var(--font-size-xs)}.job-checklist__items{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.job-checklist__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg-surface);display:flex}.job-checklist__item-label{color:var(--colour-text);font-size:var(--font-size-sm);margin:0;line-height:1.45}.job-checklist__status{text-align:center;min-width:64px;padding:5px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;flex-shrink:0;font-weight:700}.job-checklist__status--positive{background:color-mix(in srgb, var(--colour-success) 16%, transparent);color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 30%, transparent)}.job-checklist__status--negative{background:color-mix(in srgb, var(--colour-error) 16%, transparent);color:var(--colour-error);border-color:color-mix(in srgb, var(--colour-error) 30%, transparent)}.job-checklist__status--na{background:color-mix(in srgb, var(--colour-info) 16%, transparent);color:var(--colour-info);border-color:color-mix(in srgb, var(--colour-info) 30%, transparent)}.job-checklist__empty{margin-top:0;margin-bottom:var(--space-4)}@media (width<=700px){.job-checklist__items{grid-template-columns:1fr}.job-checklist__row{align-items:flex-start}.job-checklist__status{min-width:56px}}.job-detail__chat-placeholder{border:1px dashed var(--colour-border-emphasis);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;color:var(--colour-text-muted);font-size:var(--font-size-sm);line-height:1.5}.job-detail__placeholder-card{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-surface)}.job-detail__pdf-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-detail__pdf-error{color:var(--colour-error);font-size:var(--font-size-sm)}.job-detail__pdf-hint{font-size:var(--font-size-xs);line-height:1.5}.job-detail__pdf-overlay{z-index:1000;padding:var(--space-4);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.job-detail__pdf-overlay-backdrop{cursor:pointer;background:color-mix(in srgb, var(--colour-text) 45%, transparent);border:none;margin:0;padding:0;position:absolute;inset:0}.job-detail__pdf-overlay-panel{z-index:1;border-radius:var(--radius-lg);background:var(--colour-bg-surface);border:1px solid var(--colour-border);width:min(960px,100%);max-height:min(90vh,900px);box-shadow:0 12px 40px color-mix(in srgb, var(--colour-text) 18%, transparent);flex-direction:column;display:flex;position:relative;overflow:hidden}.job-detail__pdf-overlay-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);background:var(--colour-bg-elevated);flex-shrink:0;display:flex}.job-detail__pdf-overlay-title{font-size:var(--font-size-md);color:var(--colour-text);margin:0;font-weight:600}.job-detail__pdf-overlay-close{flex-shrink:0}.job-detail__pdf-iframe{background:var(--colour-field-inset);border:none;flex:1;width:100%;min-height:min(70vh,640px)}.job-internal-notes{gap:var(--space-5);flex-direction:column;display:flex}.job-internal-notes__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.job-internal-notes__toolbar-label{margin:0}.job-internal-notes__legend{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-internal-notes__legend-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text-muted);display:flex}.job-internal-notes__legend-swatch{border-radius:var(--radius-sm);flex-shrink:0;width:12px;height:12px}.job-internal-notes__tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.job-internal-notes__tab{max-width:48%;font-size:var(--font-size-xs);flex:auto}.job-internal-notes__tab--active{background:var(--colour-primary);color:#fff}.job-internal-notes__composer .detail-section__title{margin-top:0}.job-internal-notes__textarea{box-sizing:border-box;width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font-family:inherit;font-size:var(--font-size-sm);resize:vertical;min-height:6rem;line-height:1.5}.job-internal-notes__textarea:focus{border-color:var(--colour-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--colour-primary) 22%, transparent);outline:none}.job-internal-notes__composer-actions{margin-top:var(--space-3);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-internal-notes__inline-error{margin-top:var(--space-2);font-size:var(--font-size-sm);margin-bottom:0}.job-internal-notes__list-heading{margin:0 0 var(--space-3)}.job-internal-notes__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-internal-notes__item{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-elevated);padding:var(--space-4)}.job-internal-notes__item-meta{align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);font-size:var(--font-size-xs);flex-wrap:wrap;display:flex}.job-internal-notes__item-author{color:var(--colour-text);font-weight:600}.job-internal-notes__item-time{color:var(--colour-text-muted)}.job-internal-notes__item-job{color:var(--colour-text-muted);font-weight:500}.job-internal-notes__item-source{text-transform:uppercase;letter-spacing:.06em;color:var(--colour-text-label);margin-left:auto;font-weight:600}@media (width<=520px){.job-internal-notes__item-meta{align-items:flex-start;gap:var(--space-1);flex-direction:column}.job-internal-notes__item-source{margin-left:0}}.job-labour-notes__body{font-size:var(--font-size-sm);color:var(--colour-text);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.55}.job-detail__quote-media-row{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.job-detail__quote-media-row>.job-detail__quote-media-card{min-width:0;margin-top:0}@media (width<=768px){.job-detail__quote-media-row{grid-template-columns:1fr}}.job-detail__photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.job-detail__photo-thumb-wrap{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);overflow:hidden}.job-detail__photo-thumb{object-fit:cover;width:100%;height:auto;max-height:220px;display:block}.job-detail__photo-thumb-placeholder{padding:var(--space-4);font-size:var(--font-size-sm);text-align:center;margin:0}.list-item__unread-dot{background:var(--colour-info);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.list-item__unread-dot--placeholder{visibility:hidden}.list-item--seen:not(.list-item--active){opacity:.72}.job-reports-tab-stack{gap:var(--space-5);flex-direction:column;display:flex}.job-schedules-section{margin-bottom:var(--space-4)}.job-schedules-section__day+.job-schedules-section__day{border-top:1px solid var(--colour-border);margin-top:var(--space-3);padding-top:var(--space-3)}.job-schedules-section__day-label{margin:0 0 var(--space-2);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);font-weight:600}.job-schedules-section__list{gap:var(--space-2);flex-direction:column;display:flex}.job-schedules-section__row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-background-elevated);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s;display:flex}.job-schedules-section__row:hover{border-color:var(--colour-primary);background:var(--colour-background-muted)}.job-schedules-section__row:focus-visible{outline:2px solid var(--colour-primary);outline-offset:2px}.job-schedules-section__type{border-radius:var(--radius-sm);font-size:var(--font-size-xs);border:1px solid #0000;flex-shrink:0;padding:.125rem .5rem;font-weight:600;line-height:1.4}.job-schedules-section__time{min-width:7.5rem;font-size:var(--font-size-sm);color:var(--colour-text);flex-shrink:0;font-weight:600}.job-schedules-section__main{flex:1;min-width:0}.job-schedules-section__title{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.job-schedules-section__app-hidden{margin-left:var(--space-2);padding:1px var(--space-1-5);border-radius:var(--radius-sm);border:1px dashed var(--colour-border-emphasis);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-text-muted);vertical-align:middle;font-weight:700}.job-schedules-section__meta{font-size:var(--font-size-xs);color:var(--colour-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:.125rem 0 0;overflow:hidden}.job-schedules-section__chevron{color:var(--colour-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.follow-ups-plumber-select{width:auto;min-width:10rem;max-width:14rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:600}.follow-ups-settings{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.follow-ups-settings__label{font-size:var(--font-size-xs);color:var(--colour-text-muted);white-space:nowrap;font-weight:600}.follow-ups-settings__input{width:4.5rem;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:600}.follow-ups-settings__save{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.follow-ups-settings__msg{font-size:var(--font-size-xs)}.follow-ups-handler-actions{gap:var(--space-2);margin:var(--space-3) 0 0;display:flex}.follow-ups-outcome-actions{gap:var(--space-2);width:100%;margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.follow-ups-outcome-actions .btn{width:100%}[data-theme=dark] .follow-ups-datetime{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.follow-ups-problem-list{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.follow-ups-problem-list__item{border-top:1px solid var(--colour-border);padding-top:var(--space-2)}.follow-ups-problem-list__head{justify-content:space-between;gap:var(--space-2);align-items:center;display:flex}.follow-ups-problem-list__label{color:var(--colour-text);font-weight:600}.follow-ups-problem-list--open{margin-top:0}.follow-ups-lead-address{white-space:pre-wrap;flex-direction:column;gap:2px;display:flex}.follow-ups-lead-address__line{display:block}.follow-ups-undo-toast{bottom:var(--space-5);z-index:1000;max-width:min(28rem, calc(100vw - var(--space-8)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border-emphasis);background:var(--colour-bg-elevated);color:var(--colour-text);font-size:var(--font-size-sm);box-shadow:0 8px 24px color-mix(in srgb, var(--colour-text) 12%, transparent);text-align:center;pointer-events:none;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.follow-ups-context-card{margin-top:var(--space-4)}.follow-ups-context-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.follow-ups-context-card__title{margin:0}.follow-ups-context-card__title-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.follow-ups-context-card__value{font-size:var(--font-size-md);color:var(--colour-text);font-weight:600}.follow-ups-context-card__body .detail-field:last-child{margin-bottom:0}.follow-ups-context-card__body--pdf{margin-top:var(--space-1)}.follow-ups-quote-detail__top-row{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}.follow-ups-quote-detail__top-row .follow-ups-context-card{margin-top:0}@media (width<=720px){.follow-ups-quote-detail__top-row{grid-template-columns:1fr}}.subcontractors-muted{color:var(--colour-text-muted);font-size:var(--font-size-sm)}.subcontractors-assign-card{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated)}.subcontractors-assign-card__title{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.subcontractors-task-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--colour-border);display:flex}.subcontractors-task-row:last-child{border-bottom:none}.subcontractors-task-row__main{flex:1;min-width:0}.subcontractors-task-row__title{margin:0 0 var(--space-1);font-weight:600;font-size:var(--font-size-sm)}.subcontractors-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=720px){.subcontractors-form-grid{grid-template-columns:1fr}}.subcontractors-inline-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.member-aroflo-tag--unlinked{background:color-mix(in srgb, var(--colour-text-muted) 12%, transparent);color:var(--colour-text-muted);border:1px solid color-mix(in srgb, var(--colour-text-muted) 22%, transparent);text-transform:none;letter-spacing:normal;font-weight:600}.member-aroflo-tag.tag--fulfilled{text-transform:none;letter-spacing:normal;font-weight:600}.member-aroflo-edit-hint{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.member-aroflo-edit-hint__copy{margin:0;font-size:.875rem;line-height:1.45}.member-aroflo-edit-hint__link{align-self:flex-start;font-size:.875rem;font-weight:600;text-decoration:none}.member-aroflo-edit-hint__link:hover{text-decoration:underline}.member-permission-tag{text-transform:none;letter-spacing:normal;font-weight:600}.member-permission-tag--owner{background:color-mix(in srgb, var(--colour-primary) 16%, transparent);color:var(--colour-primary);border:1px solid color-mix(in srgb, var(--colour-primary) 32%, transparent)}.member-permission-tag--super-admin{background:color-mix(in srgb, var(--colour-success) 14%, transparent);color:var(--colour-success);border:1px solid color-mix(in srgb, var(--colour-success) 28%, transparent)}.member-permission-tag--admin{background:color-mix(in srgb, var(--colour-pending) 14%, transparent);color:var(--colour-pending);border:1px solid color-mix(in srgb, var(--colour-pending) 28%, transparent)}.member-permission-tag--read-only{background:color-mix(in srgb, var(--colour-text-muted) 12%, transparent);color:var(--colour-text-muted);border:1px solid color-mix(in srgb, var(--colour-text-muted) 22%, transparent)}.member-permission-tag--tradesperson{background:color-mix(in srgb, var(--colour-text) 8%, transparent);color:var(--colour-text);border:1px solid color-mix(in srgb, var(--colour-border-emphasis) 80%, transparent)}.vendor-child-list{margin:0;padding:0;list-style:none}.vendor-child-list__item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);display:flex}.vendor-child-list__item:last-child{border-bottom:none}.vendor-child-list__item--edit{padding:var(--space-3) 0;align-items:flex-start}.vendor-child-row-fields{flex:1;min-width:0}.vendor-child-add-card{min-height:3.5rem;margin-top:var(--space-2);padding:var(--space-3);border:2px dashed var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text-muted);font-size:var(--font-size-sm);cursor:pointer;box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:100%;font-weight:500;display:flex}.vendor-child-add-card:hover{border-color:var(--colour-text-muted);color:var(--colour-text)}.typeahead-field-wrap{align-items:center;gap:var(--space-2);display:flex}.typeahead-field-wrap .typeahead-search-field{flex:1;min-width:0}.typeahead-field-wrap__clear{flex-shrink:0}.app-access-toggle-pills{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.app-access-toggle-pills__validation{margin:0;font-size:.875rem}.settings-page{max-width:none;padding-bottom:var(--space-6)}.settings-page__layout{gap:var(--space-5);flex-direction:column;display:flex}.settings-page__tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-page__tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-surface);color:var(--colour-text);font:inherit;cursor:pointer}.settings-page__tab--active{border-color:var(--colour-primary);background:color-mix(in srgb, var(--colour-primary) 12%, var(--colour-surface))}.settings-page__column--full{flex:100%;max-width:42rem}.settings-payment-method-toggle{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.text-success{color:var(--colour-success,#15803d)}.settings-page__title{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--colour-text);letter-spacing:-.02em;margin-bottom:var(--space-5);font-weight:700}.settings-page__columns{gap:var(--space-5);flex-flow:wrap;align-items:flex-start;display:flex}.settings-page__column{gap:var(--space-5);flex-direction:column;flex:1;min-width:min(100%,17rem);display:flex}.settings-page__column>.settings-section{box-sizing:border-box;width:100%}@media (width<=900px){.settings-page__column{flex:1 1 calc(50% - var(--space-5) / 2)}}@media (width<=560px){.settings-page__column{flex:100%}}.settings-section__heading{font-size:var(--font-size-lg);color:var(--colour-text);margin-bottom:var(--space-2);font-weight:600}.settings-section__hint{font-size:var(--font-size-sm);margin-bottom:var(--space-4);line-height:1.5}.settings-section__fields{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.settings-section__fields .detail-field:last-child{margin-bottom:0}.settings-section__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.settings-section .view-toggle{flex-wrap:wrap;width:fit-content;max-width:100%}.settings-subheading{font-size:var(--font-size-md);color:var(--colour-text);margin:0 0 var(--space-3);font-weight:600}.settings-org-field{margin-bottom:var(--space-3)}.settings-org-divider{background:var(--colour-border-subtle,#00000014);height:1px;margin:var(--space-5) 0}.settings-org-meta{gap:var(--space-2);flex-direction:column;display:flex}.settings-invite-success{font-size:var(--font-size-sm);color:var(--colour-text);background:var(--colour-surface-muted,#0000000a);padding:var(--space-3);border-radius:var(--radius-md,8px);margin-bottom:var(--space-3);word-break:break-word}.settings-experiment+.settings-experiment{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--colour-border-subtle,#00000014)}.settings-experiment__hint{margin-top:0}.settings-xero-heading-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.settings-xero-heading-row .settings-section__heading{margin-bottom:0}.settings-xero-heading-row--embedded{margin-bottom:var(--space-3);justify-content:flex-end}.settings-xero-status{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.settings-xero-status__line{align-items:center;gap:var(--space-3);margin:0;display:flex}.settings-xero-status__label{font-size:var(--font-size-sm);color:var(--colour-text);min-width:7rem;font-weight:600}.settings-xero-badge{font-size:var(--font-size-xs);border-radius:var(--radius-sm,4px);padding:.15rem .5rem;font-weight:600;display:inline-block}.settings-xero-badge--ok{color:var(--colour-text);background:#228b221f}.settings-xero-badge--warn{color:var(--colour-text);background:#c878001f}.settings-xero-badge--neutral{background:var(--colour-surface-muted,#0000000f);color:var(--colour-text-muted,#666)}.settings-xero-issues{margin:0 0 var(--space-2);font-size:var(--font-size-sm);padding-left:1.25rem}.settings-xero-meta{font-size:var(--font-size-sm);margin:0}.settings-xero-actions{margin-bottom:var(--space-3)}.settings-xero-result{font-size:var(--font-size-sm);padding:var(--space-3);border-radius:var(--radius-md,8px);line-height:1.5}.settings-xero-result--ok{color:var(--colour-text);background:#228b221a}.settings-business-expenses-heading-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.settings-business-expenses-heading-row .settings-section__heading{margin-bottom:0}.settings-currency-input{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-currency-input__prefix{font-size:var(--font-size-sm);color:var(--colour-text-muted,#666);font-weight:600}.settings-currency-input__field{flex:8rem;min-width:0;max-width:12rem}.settings-currency-input__field--percent{max-width:6rem}.settings-currency-input__suffix{font-size:var(--font-size-sm)}.settings-computed-value{align-items:baseline;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md,8px);background:var(--colour-surface-muted,#0000000a);flex-wrap:wrap;display:flex}.settings-computed-value__label{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.settings-computed-value__amount{font-size:var(--font-size-sm);color:var(--colour-text)}.profile-page{gap:var(--space-5);flex-direction:column;max-width:720px;display:flex}.profile-section{gap:var(--space-4);flex-direction:column;display:flex}.profile-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--colour-border);display:flex}.profile-row:last-of-type{border-bottom:none}.profile-row__info{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.profile-row__value{font-size:var(--font-size-base);color:var(--colour-text)}.profile-row__actions{gap:var(--space-2);flex-shrink:0;align-items:center;display:flex}.profile-name-edit{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.profile-active-party{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.profile-active-party__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.profile-active-party__name{font-size:var(--font-size-base);color:var(--colour-text);font-weight:600}.profile-select-row{gap:var(--space-3);align-items:center;display:flex}.profile-select-row .form-input{flex:1}.searchable-multi-select{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.searchable-multi-select__controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.searchable-multi-select__input-wrap{flex:1;min-width:12rem;position:relative}.searchable-multi-select__input{width:100%}.searchable-multi-select__toggle-all{white-space:nowrap;flex-shrink:0}.searchable-multi-select__pill-tray{gap:var(--space-2);flex-wrap:wrap;display:flex}.searchable-multi-select__pill{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:color-mix(in srgb, var(--colour-primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--colour-primary) 30%, transparent);font-size:var(--font-size-xs);font-weight:500;display:inline-flex}.searchable-multi-select__pill-remove{cursor:pointer;width:16px;height:16px;font-size:var(--font-size-sm);color:var(--colour-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.searchable-multi-select__pill-remove:hover{color:var(--colour-text);background:color-mix(in srgb, var(--colour-text) 8%, transparent)}.suggestion-item--selected{background:color-mix(in srgb, var(--colour-primary) 8%, transparent)}.suggestion-item--selected.suggestion-item--active{background:color-mix(in srgb, var(--colour-primary) 14%, transparent)}.suggestion-item__row{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;display:flex}.suggestion-item__check{font-size:var(--font-size-xs);color:var(--colour-primary);flex-shrink:0;font-weight:700}.equipment-muted{color:var(--colour-text-muted);font-size:var(--font-size-sm)}.equipment-variants-stack{gap:var(--space-4);flex-direction:column;display:flex}.equipment-variant-add-card{min-height:4.5rem;margin-top:var(--space-2);padding:var(--space-4);border:2px dashed var(--colour-border);border-radius:var(--radius-md);color:var(--colour-text-muted);font-size:var(--font-size-sm);cursor:pointer;box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:100%;font-weight:500;display:flex}.equipment-variant-add-card:hover{border-color:var(--colour-text-muted);color:var(--colour-text)}.equipment-variant-card--view{padding-top:var(--space-2);padding-bottom:var(--space-2)}.equipment-variant-card--inactive{opacity:.78}.equipment-variant-view-row{align-items:center;column-gap:var(--space-3);row-gap:var(--space-1);grid-template-columns:minmax(0,11rem) auto minmax(0,1fr) auto;min-height:2.25rem;display:grid}.equipment-variant-view-name{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.35;overflow:hidden}.equipment-variant-view-sep{color:var(--colour-text-muted);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none;line-height:1.35}.equipment-variant-view-markup{white-space:nowrap;margin-inline-start:var(--space-3)}.equipment-variant-view-prices{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;margin:0;line-height:1.35;overflow:hidden}.equipment-variant-view-prices--muted{color:var(--colour-text-muted);font-variant-numeric:normal}.equipment-variant-card--material .equipment-variant-view-row{min-height:unset;display:block}.equipment-variant-card--material .equipment-variant-view-name{text-overflow:unset;white-space:normal;word-break:break-word;overflow:visible}.preset-batch-add-modal__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preset-batch-add-modal__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.preset-batch-add-modal__panel{z-index:1;gap:var(--space-4);width:min(100%,40rem);max-height:min(92vh,44rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.preset-batch-add-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-shrink:0;display:flex}.preset-batch-add-modal__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.preset-batch-add-modal__intro{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.preset-batch-add-modal__toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.preset-batch-add-modal__toolbar-spacer{min-width:var(--space-2);flex:1}.preset-batch-add-modal__selection-count{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.preset-batch-add-modal__list-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.preset-batch-add-modal__list{border:1px solid var(--colour-border);border-radius:var(--radius-md);flex:1;min-height:12rem;max-height:min(60vh,28rem);margin:0;padding:0;list-style:none;overflow-y:auto}.preset-batch-add-modal__list--shift-select{-webkit-user-select:none;user-select:none;cursor:crosshair}.preset-batch-add-modal__item{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--colour-border);text-align:left;cursor:pointer;color:inherit;background:0 0;display:flex}.preset-batch-add-modal__item:last-child{border-bottom:none}.preset-batch-add-modal__item:hover{background:var(--colour-surface-muted,#0000000a)}.preset-batch-add-modal__item--selected{background:#2563eb14}.preset-batch-add-modal__item--selected:hover{background:#2563eb1f}.preset-batch-add-modal__item-check{width:1.25rem;color:var(--colour-primary,#2563eb);flex-shrink:0;font-weight:700}.preset-batch-add-modal__item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.preset-batch-add-modal__item-name{font-weight:600}.preset-batch-add-modal__item-meta{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.preset-batch-add-modal__empty{padding:var(--space-4);text-align:center;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.preset-batch-add-modal__error{color:var(--colour-error);font-size:var(--font-size-sm);flex-shrink:0;margin:0}.preset-batch-add-modal__actions{justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.presets-tabs{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--colour-border);display:flex}.presets-tabs__btn{padding:var(--space-2) var(--space-3);color:var(--colour-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600}.presets-tabs__btn--active{color:var(--colour-text);border-bottom-color:var(--colour-primary,#2563eb)}.presets-kind-badge{font-size:var(--font-size-xs);background:var(--colour-surface-muted,#00000014);color:var(--colour-text-muted);border-radius:999px;padding:2px 8px;font-weight:600;display:inline-block}.presets-kind-badge--fixed{color:#2563eb;background:#2563eb1f}.presets-pnl-warnings{margin:0 0 var(--space-3);padding-left:var(--space-4);color:var(--colour-warning,#b45309);font-size:var(--font-size-sm)}.presets-pnl-summary{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.presets-pnl-summary__row{justify-content:space-between;gap:var(--space-3);display:flex}.presets-pnl-summary__row--total,.presets-pnl-summary__row--profit{border-top:1px solid var(--colour-border);padding-top:var(--space-2)}.presets-pnl-lines{margin-top:var(--space-3)}.presets-pnl-line{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--font-size-sm);display:flex}.presets-question-tree{gap:var(--space-3);flex-direction:column;display:flex}.presets-question-node{border-left:3px solid var(--colour-border);padding-left:var(--space-3)}.presets-question-node--child{margin-left:var(--space-4)}.presets-group-active-toggle{align-items:center;gap:var(--space-2);display:inline-flex}.presets-insight-card{margin-top:var(--space-3)}.presets-insight-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.presets-duration-estimate{padding:var(--space-3);border-radius:var(--radius-md);background:var(--colour-surface-muted,#0000000a);margin-top:var(--space-3)}.presets-branch-value-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.presets-branch-value-row .form-input{max-width:8rem}.presets-branch-value-row__unit,.presets-branch-value-row__and{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.typeahead-search-field{width:100%;position:relative}.typeahead-search-field__input{width:100%}.suggestion-dropdown{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);min-width:320px;max-width:480px;box-shadow:var(--shadow-lg);z-index:300;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden auto}.suggestion-dropdown__loading,.suggestion-dropdown__empty{padding:var(--space-4) var(--space-4);font-size:var(--font-size-sm);color:var(--colour-text-muted);gap:var(--space-1);flex-direction:column;display:flex}.suggestion-dropdown__hint{font-size:var(--font-size-xs);color:var(--colour-text-label)}.suggestion-item{width:100%;padding:var(--space-2) var(--space-4);border:none;border-bottom:1px solid var(--colour-border);text-align:left;cursor:pointer;transition:background var(--transition);background:0 0;flex-direction:column;gap:2px;display:flex}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item--active{background:var(--colour-bg-hover)}.suggestion-item__desc{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:500}.suggestion-item__meta{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted)}.suggestion-item__score{color:var(--colour-primary)}.orders-type-selector{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.orders-type-selector__option{align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:2px solid var(--colour-border);background:var(--colour-bg-elevated);cursor:pointer;font:inherit;color:var(--colour-text);flex-direction:column;font-weight:500;transition:border-color .15s,background .15s;display:flex}.orders-type-selector__option:hover{border-color:var(--colour-primary)}.orders-type-selector__option--active{border-color:var(--colour-primary);background:#3b82f614}.orders-create-success__ref{width:100%;padding:var(--space-4);border:2px dashed var(--colour-primary);border-radius:var(--radius-lg);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:center;cursor:pointer;color:var(--colour-text);background:#3b82f60f;font-size:2rem;font-weight:700;display:block}.orders-create-success__ref:hover{background:#3b82f61f}.orders-detail-ref{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.25rem;font-weight:700}.orders-invoice-empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--colour-border);background:var(--colour-field-inset);flex-direction:column;display:flex}.orders-invoice-readonly{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));display:grid}.po-detail{padding:var(--space-4)}.po-detail__error{color:var(--colour-error);margin:0}.po-detail__summary{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);flex-direction:column;display:flex}.po-detail__summary-top{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.po-detail__summary-body{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.po-detail__summary-main{flex:1;min-width:0}.po-detail__supplier{font-size:var(--font-size-lg);color:var(--colour-text);margin:0;font-weight:600}.po-detail__supplier--placeholder{color:var(--colour-text-label);font-style:italic;font-weight:500}.po-detail__meta{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.po-detail__summary-total{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.po-detail__total-value{font-variant-numeric:tabular-nums;color:var(--colour-text);font-size:1.375rem;font-weight:700;line-height:1.2}.po-detail__job-link{font:inherit;font-size:var(--font-size-sm);color:var(--colour-primary);text-align:left;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.po-detail__job-link:hover{color:var(--colour-primary-hover,var(--colour-primary))}.po-detail__notes{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.po-detail__notes-input{resize:vertical;min-height:10rem;line-height:1.5}.po-detail__notes-saving{margin:var(--space-1) 0 0;font-size:var(--font-size-xs)}.po-detail__add-item{padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-field-inset)}.po-detail__add-item-type{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.po-detail__table-wrap{margin:calc(var(--space-1) * -1);overflow-x:auto}.po-detail__table-wrap .items-table th:last-child,.po-detail__table-wrap .items-table td:last-child{text-align:right;white-space:nowrap}.po-detail__table-wrap .items-table th:nth-child(n+2):nth-child(-n+5),.po-detail__table-wrap .items-table td:nth-child(n+2):nth-child(-n+5){text-align:right;font-variant-numeric:tabular-nums}.po-detail__receive-actions{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.po-detail__receive-qty{width:5rem}.po-detail__invoice-actions{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border);flex-wrap:wrap;align-items:center;display:flex}.po-detail__attachment-link{margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}@media (width<=640px){.po-detail__summary-total{align-items:flex-start;width:100%}}.po-import{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.po-import__instructions{margin:0}.po-import__steps{padding-left:var(--space-5);color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0;line-height:1.55}.po-import__steps li+li{margin-top:var(--space-2)}.po-import__prompt-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.po-import__prompt-textarea{resize:vertical;min-height:6rem;max-height:12rem;font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.45}.po-import__json-textarea{resize:vertical;min-height:10rem;font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.45}.po-import__error{color:var(--colour-error);margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}.po-import__match-banner{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated)}.po-import__match-banner--matched{border-color:color-mix(in srgb, var(--colour-primary) 35%, var(--colour-border))}.po-import__match-banner--unmatched{border-color:color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border))}.po-import__match-title{margin:0 0 var(--space-1);font-weight:600;font-size:var(--font-size-sm)}.po-import__match-body{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}.po-import__match-warning{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--colour-pending)}.po-import__match-hint{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text-muted)}.po-import__action-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.po-import__action-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);font-weight:500}.po-import__action-btn:hover{border-color:var(--colour-border-emphasis);background:var(--colour-bg-hover)}.po-import__action-btn--selected{border-color:color-mix(in srgb, var(--colour-primary) 45%, var(--colour-border));background:color-mix(in srgb, var(--colour-primary) 12%, var(--colour-bg-surface));color:var(--colour-primary)}.po-import__job-field{margin-top:var(--space-3)}.po-import__match-list-wrap{margin-bottom:var(--space-3)}.po-import__match-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.po-import__match-item{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition), background var(--transition);display:flex}.po-import__match-item:not(.po-import__match-item--selected):hover{border-color:var(--colour-border-emphasis);background:var(--colour-bg-hover)}.po-import__match-item--selected,.po-import__match-item--selected:hover{border-color:color-mix(in srgb, var(--colour-primary) 45%, var(--colour-border));background:color-mix(in srgb, var(--colour-primary) 10%, var(--colour-bg-surface))}.po-import__match-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.po-import__match-item-supplier{font-size:var(--font-size-sm);font-weight:600}.po-import__match-item-ref,.po-import__match-item-job{font-size:var(--font-size-xs);color:var(--colour-text-muted)}.po-import__match-item-warning{margin:var(--space-1) 0 0;padding-left:var(--space-1);font-size:var(--font-size-xs);color:var(--colour-pending)}.po-import__supplier-input{font-size:var(--font-size-lg);margin-top:var(--space-1);font-weight:600}.po-import__editable-grid .form-field{min-width:0}.po-import__notes-textarea{resize:vertical;width:100%;min-height:6rem}.po-import__line-table-wrap{margin-bottom:var(--space-2)}.po-import__line-table th:first-child,.po-import__line-table td:first-child{width:8rem}.po-import__line-table th:nth-child(3),.po-import__line-table td:nth-child(3){width:4.75rem}.po-import__line-table th:nth-child(4),.po-import__line-table td:nth-child(4){width:5.25rem}.po-import__line-table th:nth-child(5),.po-import__line-table td:nth-child(5),.po-import__line-table th:nth-child(6),.po-import__line-table td:nth-child(6),.po-import__line-table th:nth-child(7),.po-import__line-table td:nth-child(7){width:8rem}.po-import__line-table .po-import__cell-input{width:100%;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.po-import__cell-input--description{min-width:8rem}.po-import__cell-input--qty,.po-import__cell-input--unit{padding-left:var(--space-1);padding-right:var(--space-2)}.po-import__cell-input--number{text-align:right;font-variant-numeric:tabular-nums}.po-import__computed-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.po-import__remove-line{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap}.po-import__add-line{margin-top:var(--space-1)}.po-import__line-table th:last-child,.po-import__line-table td:last-child{text-align:center;width:1%}.po-import__footer{justify-content:space-between;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--colour-border);display:flex}.po-detail__table-wrap--wide .items-table th:nth-child(n+3),.po-detail__table-wrap--wide .items-table td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.po-detail__table-wrap--wide .items-table th:first-child,.po-detail__table-wrap--wide .items-table td:first-child,.po-detail__table-wrap--wide .items-table th:nth-child(2),.po-detail__table-wrap--wide .items-table td:nth-child(2){text-align:left}.invoice-line-item-fields{gap:var(--space-3);text-align:left;flex-direction:column;display:flex}.invoice-line-item-fields__grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.invoice-line-item-fields__field{align-items:flex-start;gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.invoice-line-item-fields__field .form-label{text-align:left}.list-page__toolbar-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.address-line1-autocomplete{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.address-line1-autocomplete__widget{width:100%;overflow:visible}.address-line1-autocomplete__widget--loading{min-height:calc(var(--space-1) * 2 + 1.25 * var(--font-size-sm) + 2px);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset)}.address-line1-autocomplete__hint{margin:0}.address-line1-autocomplete gmp-place-autocomplete{background-color:var(--colour-field-inset);border:1px solid var(--colour-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--colour-text);box-sizing:border-box}.address-line1-autocomplete gmp-place-autocomplete::part(input){box-sizing:border-box;width:100%;padding:var(--space-1) var(--space-3);font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;line-height:1.25}[data-theme=light] .address-line1-autocomplete gmp-place-autocomplete{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark] .address-line1-autocomplete gmp-place-autocomplete{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.address-line1-autocomplete gmp-place-autocomplete:focus-within{border-color:var(--colour-primary);background:var(--colour-bg-hover)}.address-line1-autocomplete gmp-place-autocomplete::part(prediction-list){z-index:2000;background-color:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.address-line1-autocomplete gmp-place-autocomplete::part(prediction-item),.address-line1-autocomplete gmp-place-autocomplete::part(prediction-item-main-text){color:var(--colour-text)}.address-line1-autocomplete gmp-place-autocomplete::part(prediction-item-secondary-text){color:var(--colour-text-muted)}.address-line1-autocomplete gmp-place-autocomplete::part(prediction-item-selected){background-color:var(--colour-bg-hover)}.address-line1-autocomplete gmp-place-autocomplete::part(prediction-item-match){color:var(--colour-primary)}.job-categories-manage__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.job-categories-manage__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.job-categories-manage__panel{z-index:1;gap:var(--space-3);width:min(100%,32rem);max-height:min(85vh,36rem);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.job-categories-manage__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.job-categories-manage__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.job-categories-manage__search-row{align-items:center;gap:var(--space-2);display:flex}.job-categories-manage__search{flex:1;width:auto;min-width:0}.job-categories-manage__new-btn{white-space:nowrap;flex-shrink:0}.job-categories-manage__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.job-categories-manage__item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg);display:flex}.job-categories-manage__item--editing{flex-direction:column;align-items:stretch}.job-categories-manage__item-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.job-categories-manage__item-name{color:var(--colour-text);font-weight:600}.job-categories-manage__item-meta{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.job-categories-manage__badge{margin-top:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-text-muted);background:var(--colour-bg-hover);align-self:flex-start;font-weight:600;display:inline-flex}.job-categories-manage__editor{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.job-categories-manage__editor-field{gap:var(--space-1);flex-direction:column;display:flex}.job-categories-manage__editor-check{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;display:inline-flex}.job-categories-manage__editor-actions{gap:var(--space-2);display:flex}.job-category-typeahead{gap:var(--space-2);flex-direction:column;display:flex}.job-category-typeahead__row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-category-typeahead__input-wrap{flex:1;min-width:12rem;position:relative}.job-category-typeahead__save-toggle{align-items:flex-start;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.job-category-typeahead__save-label{font-size:var(--font-size-xs);color:var(--colour-text-muted);white-space:nowrap}.job-category-typeahead__toggle.view-toggle{flex-shrink:0}.job-category-typeahead__toggle .view-toggle__btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}@media (width<=640px){.job-category-typeahead__row{flex-direction:column;align-items:stretch}.job-category-typeahead__save-toggle{flex-flow:wrap;justify-content:space-between;align-items:center}}.rich-html-editor{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset);width:100%}.rich-html-editor__toolbar{gap:var(--space-1);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.rich-html-editor__toolbar-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);min-height:auto}.rich-html-editor__toolbar-btn--bold{font-weight:700}.rich-html-editor__toolbar-btn--italic{font-style:italic}.rich-html-editor__toolbar .rich-html-editor__toolbar-btn--active.btn-ghost{background:color-mix(in srgb, var(--colour-primary) 14%, var(--colour-field-inset));color:var(--colour-primary);border-color:var(--colour-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--colour-primary) 25%, transparent)}.rich-html-editor__toolbar .rich-html-editor__toolbar-btn--active.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--colour-primary) 20%, var(--colour-field-inset));color:var(--colour-primary);border-color:var(--colour-primary)}.rich-html-editor__content .tiptap{outline:none}.rich-html-editor__prosemirror{min-height:6rem;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--colour-text);word-break:break-word;line-height:1.55}.rich-html-editor__prosemirror p{margin:0 0 .5em}.rich-html-editor__prosemirror p:last-child{margin-bottom:0}.rich-html-editor__prosemirror h2{font-size:var(--font-size-xl);margin:0 0 .5em;font-weight:700;line-height:1.3}.rich-html-editor__prosemirror h3{font-size:var(--font-size-lg);margin:.75em 0 .4em;font-weight:700;line-height:1.35}.rich-html-editor__prosemirror ul,.rich-html-editor__prosemirror ol{margin:0 0 .5em;padding-left:1.25em}.rich-html-editor__prosemirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--colour-text-label);float:left;pointer-events:none;height:0}.job-intake-checklist{margin-bottom:var(--space-4)}.job-intake-checklist__title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-text-muted);font-weight:600}.job-intake-checklist__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-intake-checklist__item{margin:0}.job-intake-checklist__row{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-sm);text-align:left;font:inherit;background:0 0;border:none;display:flex}.job-intake-checklist__row--manual{cursor:pointer;transition:background var(--transition)}.job-intake-checklist__row--manual:hover{background:var(--colour-bg-hover)}.job-intake-checklist__row--manual:focus-visible{outline:2px solid var(--colour-primary);outline-offset:1px}.job-intake-checklist__indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.job-intake-checklist__indicator--unchecked{border:1.5px solid var(--colour-border-emphasis);background:var(--colour-bg-surface)}.job-intake-checklist__indicator--checked{border:1.5px solid color-mix(in srgb, var(--colour-success) 40%, transparent);background:color-mix(in srgb, var(--colour-success) 16%, transparent);color:var(--colour-success)}.job-intake-checklist__label{font-size:var(--font-size-sm);color:var(--colour-text);margin:0;line-height:1.45}.job-intake-checklist__label--checked{color:var(--colour-text-muted)}.job-intake-checklist__label--not-applicable{color:var(--colour-text-muted);text-decoration:line-through}.job-intake-checklist__row--not-applicable{opacity:.75}.job-intake-checklist__row--manual.job-intake-checklist__row--not-applicable{cursor:not-allowed}.job-intake-checklist__row--manual.job-intake-checklist__row--not-applicable:hover{background:0 0}.create-job-panel__field--full{grid-column:1/-1}.create-job-panel__title-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.create-job-panel__use-company-address-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.create-job-panel__use-company-address-title input{cursor:pointer;margin:0}.create-job-panel__typeahead-wrap{position:relative;overflow:visible}.create-job-panel .address-line1-autocomplete,.create-job-panel .address-line1-autocomplete__widget{overflow:visible}.create-job-panel__textarea{resize:vertical;min-height:6rem}.create-job-panel__priority{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.create-job-panel__client-kind{margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.create-job-panel__client-kind .view-toggle{width:fit-content;max-width:100%}.create-job-panel__priority-hint{font-size:var(--font-size-xs);margin:0}.create-job-panel__internal-note{gap:var(--space-2);flex-direction:column;display:flex}.create-job-panel__property-input{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.create-job-panel__intake-groups{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.create-job-panel__label--not-applicable{color:var(--colour-text-muted);text-decoration:line-through}.job-call-recordings__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-call-recordings__item{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.job-call-recordings__filename{font-weight:600}.job-call-recordings__sub{font-size:var(--text-sm);margin-top:var(--space-1);display:block}.job-call-recordings__upload-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.job-call-recordings__upload-form{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.job-call-recordings__upload-hint{font-size:var(--text-sm);margin:0}.job-call-recordings__dropzone{border:2px dashed var(--colour-border-emphasis);border-radius:var(--radius-lg);padding:var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);text-align:center;cursor:pointer;min-height:100%;transition:border-color var(--transition), background var(--transition);flex-direction:column;display:flex}.job-call-recordings__dropzone:hover{border-color:var(--colour-primary);background:#f0a5000a}.job-call-recordings__dropzone--dragging{border-color:var(--colour-primary);background:#f0a50014}.job-call-recordings__dropzone--uploading{cursor:default;opacity:.7;pointer-events:none}.job-call-recordings__dropzone-icon{opacity:.45}.job-call-recordings__dropzone-label{font-size:var(--text-sm);color:var(--colour-text-muted);margin:0}.job-call-recordings__dropzone-sub{font-size:var(--font-size-xs);color:var(--colour-text-label);margin:0}@media (width<=768px){.job-call-recordings__upload-grid{grid-template-columns:1fr}.job-call-recordings__dropzone{min-height:10rem}}.job-pnl{gap:var(--space-4);padding:var(--space-4) 0;flex-direction:column;display:flex}.job-pnl__intro{font-size:var(--font-size-sm);max-width:52rem;margin:0}.job-pnl__hours-summary{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.job-pnl__hours-grid{margin:0}.job-pnl__hours-value{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--colour-text);font-weight:600}.job-pnl__hours-detail{font-size:var(--font-size-xs)}.job-pnl__gate{padding:var(--space-4) 0}.job-pnl__card{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.job-pnl__card--coming-soon{opacity:.65}.job-pnl__card--muted{opacity:.85}.job-pnl__card-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-pnl__card-title{font-family:var(--font-display);font-size:var(--font-size-lg);margin:0;font-weight:600}.job-pnl__badge{font-size:10px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);background:var(--colour-bg);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.job-pnl__revenue-row{padding-bottom:var(--space-3);border-bottom:1px solid var(--colour-border)}.job-pnl__revenue-value{font-family:var(--font-display);font-size:var(--font-size-2xl);margin:var(--space-1) 0 0;font-weight:600}.job-pnl__revenue-detail{font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.job-pnl__warnings{padding-left:var(--space-4);font-size:var(--font-size-sm);color:var(--colour-warning,var(--colour-text-muted));margin:0}.job-pnl__section{gap:var(--space-2);flex-direction:column;display:flex}.job-pnl__section-title{margin:0}.job-pnl__lines{gap:var(--space-2);flex-direction:column;display:flex}.job-pnl__line{justify-content:space-between;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);display:flex}.job-pnl__line-label{flex-direction:column;gap:2px;min-width:0;display:flex}.job-pnl__line-detail{font-size:var(--font-size-xs)}.job-pnl__line-amount{font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.job-pnl__line--subtotal{padding-top:var(--space-2);border-top:1px dashed var(--colour-border);font-weight:600}.job-pnl__empty-line{font-size:var(--font-size-sm);margin:0;font-style:italic}.job-pnl__summary{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--colour-border-emphasis);flex-direction:column;display:flex}.job-pnl__summary-row{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);display:flex}.job-pnl__summary-row--net{font-size:var(--font-size-base);padding-top:var(--space-2);font-weight:600}.job-pnl__net--pos{color:var(--colour-success,var(--colour-primary))}.job-pnl__net--neg{color:var(--colour-danger,#c0392b)}.job-pnl__coming-soon-copy{font-size:var(--font-size-sm);margin:0}.job-reports-tab{gap:var(--space-4);flex-direction:column;display:flex}.job-reports-tab__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.job-reports-tab__header h3{font-size:var(--font-size-base);color:var(--colour-text);margin:0;font-weight:600}.job-reports-tab__list{gap:var(--space-2);flex-direction:column;display:flex}.job-reports-tab__list-item{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);cursor:pointer;transition:border-color var(--transition), background var(--transition);display:flex}.job-reports-tab__list-item:hover{background:var(--colour-bg-hover);border-color:var(--colour-border-emphasis)}.job-reports-tab__list-item--selected{border-color:var(--colour-primary);background:var(--colour-primary-tint)}.job-reports-tab__list-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.job-reports-tab__list-item-title{font-weight:600;font-size:var(--font-size-sm)}.job-reports-tab__list-item-meta{font-size:var(--font-size-xs);color:var(--colour-text-muted)}.job-reports-tab__editor{gap:var(--space-4);flex-direction:column;display:flex}.job-reports-tab__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.job-reports-tab__fields{gap:var(--space-3);flex-direction:column;display:flex}.job-reports-tab__section{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset);flex-direction:column;display:flex}.job-reports-tab__section-title{font-weight:700}.job-reports-tab__send{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--colour-border);flex-direction:column;display:flex}.job-reports-tab__textarea{resize:vertical;min-height:96px}.job-reports-tab__office-editor{gap:var(--space-2);flex-direction:column;display:flex}.job-reports-tab__office-editor-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.job-reports-tab__copy-btn--copied,.job-reports-tab__copy-btn--copied:hover:not(:disabled){color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 40%, var(--colour-border));background:color-mix(in srgb, var(--colour-success) 12%, transparent)}.job-reports-tab__rich-html{width:100%}.job-reports-tab__composed-preview{border:1px solid var(--colour-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--colour-field-inset);color:var(--colour-text);min-height:160px}.job-reports-tab__composed-preview h2{font-size:var(--font-size-xl);margin:0 0 var(--space-3)}.job-reports-tab__composed-preview h3{font-size:var(--font-size-lg);margin:var(--space-4) 0 var(--space-2)}.job-reports-tab__composed-preview p{margin:0 0 var(--space-2)}.job-invoices{gap:var(--space-5);flex-direction:column;display:flex}.job-invoices__list-section{gap:var(--space-4);flex-direction:column;display:flex}.job-invoices__card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.job-invoices__summary{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.job-invoices__summary-stat{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.job-invoices__summary-label{font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.job-invoices__summary-value{font-size:var(--font-size-base);color:var(--colour-text);font-weight:600}.job-invoices__payment-complete{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--colour-success) 28%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--colour-success) 12%, var(--colour-bg-surface));flex-direction:column;display:flex}.job-invoices__line-items{margin-bottom:var(--space-3)}.job-invoices__line-items-toggle{color:var(--colour-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.job-invoices__line-items-toggle:hover{color:var(--colour-primary-hover)}.job-invoices__line-items-table-wrap{margin-top:var(--space-2);overflow-x:auto}.job-invoices__line-items-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.job-invoices__line-items-table th,.job-invoices__line-items-table td{padding:var(--space-2);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}.job-invoices__line-items-table th{color:var(--colour-text-label);text-transform:uppercase;font-weight:600;font-size:var(--font-size-xs);letter-spacing:.06em}.job-invoices__payments{margin-bottom:var(--space-3)}.job-invoices__payment-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-invoices__payment-item{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.job-invoices__send-email{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset)}.job-invoices__send-success{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.job-invoices__record-payment{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--colour-border)}.job-invoices__record-row{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}@media (width<=640px){.job-invoices__summary{grid-template-columns:1fr}}.job-qi{gap:var(--space-3);flex-direction:column;display:flex}.job-qi__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.job-qi__drafts-toggle{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.job-qi__card{padding:var(--space-4);flex-direction:column;gap:0;display:flex}.job-qi__card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.job-qi__card-title-block{flex:12rem;min-width:0}.job-qi__card-title{font-size:var(--font-size-lg);color:var(--colour-text);align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;font-weight:650;line-height:1.25;display:flex}.job-qi__card-total{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.job-qi__card-meta{margin:var(--space-2) 0 0;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.job-qi__money-strip{gap:var(--space-3) var(--space-4);flex:none;grid-template-columns:repeat(3,minmax(4.5rem,auto));margin:0;display:grid}.job-qi__money-strip>div{flex-direction:column;gap:2px;min-width:0;display:flex}.job-qi__money-strip dt{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-label);margin:0;font-weight:600}.job-qi__money-strip dd{font-size:var(--font-size-base);font-variant-numeric:tabular-nums;color:var(--colour-text);margin:0;font-weight:650}.job-qi__due--open{color:var(--colour-pending)}.job-qi__card-body{gap:var(--space-4) var(--space-5);padding-top:var(--space-4);grid-template-columns:minmax(0,1.6fr) minmax(14rem,.9fr);align-items:start;display:grid}.job-qi__main,.job-qi__aside{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.job-qi__block{gap:var(--space-3);flex-direction:column;display:flex}.job-qi__block-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.job-qi__block-title{font-size:var(--font-size-sm);letter-spacing:.02em;text-transform:uppercase;color:var(--colour-text-label);margin:0;font-weight:650}.job-qi__email-row{align-items:flex-end;gap:var(--space-2);display:flex}.job-qi__email-field{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.job-qi__send-submit{white-space:nowrap;flex:none}.job-qi__send-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.job-qi__send-cell{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset);min-width:0;display:flex}.job-qi__send-cell-meta{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.job-qi__send-kind{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.job-qi__send-hint{font-size:var(--font-size-xs)}.job-qi__pdf-list{gap:var(--space-2);flex-direction:column;display:flex}.job-qi__pdf-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.job-qi__pdf-row:last-child{border-bottom:none;padding-bottom:0}.job-qi__pdf-row:first-child{padding-top:0}.job-qi__pdf-label{font-size:var(--font-size-sm);color:var(--colour-text);min-width:3.5rem;font-weight:600}.job-qi__pdf-row .job-detail__pdf-actions{gap:var(--space-1)}.job-qi__pdf-row .btn{padding-inline:var(--space-2)}.job-qi__payment-list{color:var(--colour-text);font-size:var(--font-size-sm);margin:0;padding-left:1.1rem;line-height:1.45}.job-qi__empty-line{font-size:var(--font-size-sm);margin:0}.job-qi__record-payment{margin-top:var(--space-2)}.job-qi__record-row{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.job-qi__disclosure{border-top:1px solid var(--colour-border);padding-top:var(--space-2)}.job-qi__disclosure--aside{border-top:none;padding-top:0}.job-qi__disclosure>summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--colour-primary);-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.job-qi__disclosure>summary::-webkit-details-marker{display:none}.job-qi__disclosure>summary:before{content:"▸";margin-right:.35em;transition:transform .12s;display:inline-block}.job-qi__disclosure[open]>summary:before{transform:rotate(90deg)}.job-qi__disclosure>:not(summary){margin-top:var(--space-2)}.job-qi__history-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.job-qi__history-item{align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--colour-text);flex-wrap:wrap;line-height:1.4;display:flex}.doc-send-tag{border:1px solid var(--colour-border);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.doc-send-tag--idle{color:var(--colour-text-muted);background:0 0}.doc-send-tag--sent{color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 28%, transparent);background:color-mix(in srgb, var(--colour-success) 12%, transparent)}.doc-send-tag--failed{color:var(--colour-error);border-color:color-mix(in srgb, var(--colour-error) 28%, transparent);background:color-mix(in srgb, var(--colour-error) 12%, transparent)}.doc-send-tag--loading{color:var(--colour-text-muted);background:0 0}.job-qi__office{margin-top:var(--space-1);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface)}.job-qi__office>summary{cursor:pointer;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text);-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.job-qi__office>summary::-webkit-details-marker{display:none}.job-qi__office>summary:before{content:"▸";color:var(--colour-text-muted);margin-right:.4em;display:inline-block}.job-qi__office[open]>summary:before{content:"▾"}.job-qi__office-body{padding:0 var(--space-3) var(--space-3)}.job-qi__office-body>.card.detail-section{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.job-qi__office-body .detail-section__header{margin-bottom:var(--space-2)}.job-qi__office-body .detail-section__title--header{display:none}@media (width<=900px){.job-qi__card-body{grid-template-columns:1fr}.job-qi__aside{padding-top:var(--space-3);border-top:1px solid var(--colour-border)}}@media (width<=640px){.job-qi__send-grid,.job-qi__record-row,.job-qi__money-strip{grid-template-columns:1fr}.job-qi__money-strip{width:100%}}.job-visit-tl-scroll{box-sizing:border-box;width:100%;min-width:0;padding-top:var(--space-3);position:relative;overflow-y:visible}.job-visit-tl-scroll--scrollable{-webkit-overflow-scrolling:touch;overflow:auto hidden}.job-visit-tl-wires-overlay{z-index:1;pointer-events:none;display:block;position:absolute;top:0;left:0;overflow:visible}.job-visit-tl-wires-path--muted{fill:none;stroke:var(--colour-border-emphasis);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.job-visit-tl-wires-path--accent{fill:none;stroke:var(--colour-primary);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.job-visit-tl-track{box-sizing:border-box;width:100%;padding-left:var(--space-3);padding-right:var(--space-3);--job-visit-tl-pill-min-height:36px;--job-visit-tl-axis-to-nearest-pill-gap:calc(1.5 * var(--job-visit-tl-pill-min-height));position:relative}.job-visit-tl-trackStrut{pointer-events:none;visibility:hidden;flex-shrink:0;width:100%}.job-visit-tl-track:before{content:"";left:var(--space-4);right:var(--space-4);background:var(--colour-border-emphasis);z-index:0;pointer-events:none;border-radius:1px;height:2px;position:absolute;top:50%;transform:translateY(-50%)}.job-visit-tl-track.job-visit-tl-track--axis-measured:before{top:var(--job-visit-tl-axis-y-px)}.job-visit-tl-axisDayTicks{z-index:1;pointer-events:none;position:absolute;inset:0}.job-visit-tl-axisDayTick{background:color-mix(in srgb, var(--colour-border-emphasis) 75%, var(--colour-text) 25%);border-radius:1px;width:1px;height:10px;margin-top:-5px;position:absolute;top:50%;transform:translate(-50%)}.job-visit-tl-track.job-visit-tl-track--axis-measured .job-visit-tl-axisDayTick{top:var(--job-visit-tl-axis-y-px)}.job-visit-tl-node{z-index:2;pointer-events:none;box-sizing:border-box;flex-direction:column;align-items:stretch;display:flex;position:absolute;top:0;transform:translate(-50%)}.job-visit-tl-node--above .job-visit-tl-nodePills{margin-bottom:var(--job-visit-tl-axis-to-nearest-pill-gap);align-self:stretch;width:100%;min-width:0}.job-visit-tl-node--above .job-visit-tl-nodeDotCell{align-self:center}.job-visit-tl-node--above .job-visit-tl-nodeDate{margin-top:var(--space-2);align-self:center}.job-visit-tl-node--below .job-visit-tl-nodeDate{margin-bottom:var(--space-2);align-self:center}.job-visit-tl-node--below .job-visit-tl-nodeDotCell{align-self:center}.job-visit-tl-node--below .job-visit-tl-nodePills{margin-top:var(--job-visit-tl-axis-to-nearest-pill-gap);align-self:stretch;width:100%;min-width:0}.job-visit-tl-nodePills{pointer-events:auto;gap:var(--space-1);flex-direction:column;display:flex}.job-visit-tl-nodeDotCell{pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:flex}.job-visit-tl-dot-btn{cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;display:flex}.job-visit-tl-dot-btn:hover{background:var(--colour-bg-elevated)}.job-visit-tl-dot-btn--active{background:var(--colour-primary-tint)}.job-visit-tl-nodeDate{pointer-events:auto;flex-direction:column;align-items:center;display:flex}.job-visit-tl-date-btn{padding:2px var(--space-2);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition);background:0 0;border:none;margin:0}.job-visit-tl-date-btn:hover{background:var(--colour-bg-elevated)}.job-visit-tl-date-btn--active{background:var(--colour-primary-tint)}.job-visit-tl-date-btn--active .job-visit-tl-date{color:var(--colour-primary)}.job-visit-tl-date{font-size:var(--font-size-xs);color:var(--colour-text);white-space:nowrap;font-weight:600}.job-visit-tl-dot{background:var(--colour-bg-surface);border:2px solid var(--colour-primary);box-sizing:border-box;border-radius:50%;flex-shrink:0;width:12px;height:12px}.job-visit-tl-dot-btn--active .job-visit-tl-dot{background:var(--colour-primary-tint)}.job-visit-tl-name-btn{text-align:center;width:100%;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);min-height:var(--job-visit-tl-pill-min-height);box-sizing:border-box;border-radius:var(--radius-sm);color:var(--colour-text);cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;line-height:1.35;display:flex;position:relative}.job-visit-tl-name-btn.btn.btn-ghost:hover:not(:disabled){border-color:var(--colour-border);background:var(--colour-bg-elevated);color:var(--colour-text)}.job-visit-tl-name-btn.btn.btn-ghost.job-visit-tl-name-btn--active{background:var(--colour-primary-tint);color:var(--colour-primary);border-color:color-mix(in srgb, var(--colour-primary) 35%, transparent)}.job-visit-tl-name-btn.btn.btn-ghost.job-visit-tl-name-btn--active:hover:not(:disabled){background:var(--colour-primary-tint);color:var(--colour-primary);border-color:color-mix(in srgb, var(--colour-primary) 45%, transparent)}.job-visit-tl-name-btn__ongoing-dot{left:var(--space-2);background:var(--colour-success);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.job-visit-tl-name-btn__label{text-align:center;min-width:0}.job-visit-detail__summary{gap:var(--space-3);flex-direction:column;display:flex}.job-visit-detail__summary-row{align-items:center;gap:var(--space-3);min-height:1.5rem;display:flex}.job-visit-detail__summary-mark{border-radius:var(--radius-sm);border:1px solid var(--colour-border);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.875rem;font-weight:700;line-height:1;display:inline-flex}.job-visit-detail__summary-mark--done{color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 35%, transparent);background:color-mix(in srgb, var(--colour-success) 12%, transparent)}.job-visit-detail__summary-mark--pending{color:var(--colour-text-muted);border-color:var(--colour-border);background:var(--colour-bg-elevated);font-weight:600}.job-visit-detail__summary-mark--warning{color:var(--colour-warning,var(--colour-error));border-color:color-mix(in srgb, var(--colour-warning,var(--colour-error)) 35%, transparent);background:color-mix(in srgb, var(--colour-warning,var(--colour-error)) 12%, transparent)}.job-visit-detail__summary-text{font-size:var(--font-size-sm);color:var(--colour-text);line-height:1.45}.seller-order-detail{gap:var(--space-4);margin-right:var(--space-3);flex-direction:column;display:flex}.seller-order-detail__actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.seller-order-detail__left-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.seller-order-detail__tab-btn-wrap{display:inline-flex;position:relative}.seller-order-detail__tab-badge{background:var(--colour-primary);pointer-events:none;border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.2rem;right:.15rem}.seller-order-detail__tab-btn--active{background:var(--colour-primary-tint)!important;color:var(--colour-primary)!important;border-color:#f0a5004d!important}.seller-order-detail__more-btn{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.seller-order-detail__tags{gap:var(--space-2);flex-wrap:wrap;min-height:24px;display:flex}.seller-order-detail__dropdown-wrap{position:relative}.seller-order-detail__dropdown{top:calc(100% + var(--space-2));background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-lg);z-index:200;padding:var(--space-2);position:absolute;left:0;overflow:hidden}.seller-order-detail__dropdown--right{left:auto;right:0}.seller-order-detail__dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;display:flex}.seller-order-detail__dropdown-item:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.seller-order-detail__loading{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);flex-direction:column;min-height:200px;display:flex}.app-main:has(.timesheets-page){padding-bottom:0;overflow:hidden}.timesheets-page{height:calc(100vh - var(--topbar-height));margin:calc(-1 * var(--space-6));padding:var(--space-6) var(--space-6) 0;flex-direction:row;gap:0;display:flex;overflow:hidden}.timesheets-grid-panel,.timesheets-detail-panel{background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);border-bottom-right-radius:0;border-bottom-left-radius:0;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.timesheets-detail-panel{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.timesheets-detail-panel>.timesheets-detail__body{flex:1;min-height:0}.timesheets-grid-panel{border-top-right-radius:0;border-bottom-right-radius:0}.timesheets-week-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);flex-shrink:0;display:flex}.timesheets-week-header__mock{flex-shrink:0}.timesheets-grid-panel__loading,.timesheets-grid-panel__error{padding:var(--space-3) var(--space-4);flex-shrink:0}.timesheets-grid-panel__error{color:var(--colour-error,#b91c1c)}.timesheets-week-header__nav{min-width:36px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xl);line-height:1}.timesheets-week-header__label{text-align:center;font-family:var(--font-display);font-size:var(--font-size-base);color:var(--colour-text);flex:1;font-weight:600}.timesheets-week-header__today{font-size:var(--font-size-xs);margin-left:auto}.timesheets-week-header__today--active,.timesheets-week-header__today:disabled{opacity:.45;cursor:default}.timesheets-grid__scroll{min-height:0;padding:var(--space-4) var(--space-3) var(--space-5);flex:1;overflow:auto}.timesheets-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.timesheets-grid th,.timesheets-grid td{border-right:1px solid var(--colour-border);border-bottom:1px solid var(--colour-border);vertical-align:middle;padding:0}.timesheets-grid__corner{z-index:4;background:var(--colour-bg-surface);border-bottom:1px solid var(--colour-border);width:140px;min-width:140px;position:sticky;top:0;left:0}.timesheets-grid__day-head,.timesheets-grid__week-head{z-index:2;background:var(--colour-bg-surface);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2) var(--space-1);text-align:center;height:36px;font-weight:600;position:sticky;top:0}.timesheets-grid__week-head{z-index:2;width:72px}.timesheets-grid__plumber{z-index:1;background:var(--colour-bg-surface);align-items:center;gap:var(--space-2);width:140px;min-width:140px;padding:var(--space-2) var(--space-3);text-align:left;font-weight:500;font-size:var(--font-size-sm);display:flex;position:sticky;left:0}.timesheets-grid__avatar{border-radius:var(--radius-sm);background:var(--colour-primary-tint);width:28px;height:28px;color:var(--colour-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.timesheets-grid__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timesheets-grid__cell-td{width:72px;min-width:64px}.timesheets-grid__cell-td--week{width:80px}.timesheets-grid__cell{width:100%;min-height:60px;padding:var(--space-2) var(--space-1-5) var(--space-2);padding-bottom:calc(var(--space-2) + 6px);cursor:pointer;font:inherit;text-align:center;transition:background var(--transition), box-shadow var(--transition);background:0 0;border:none;flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex;position:relative}.timesheets-grid__cell:disabled{cursor:default}.timesheets-grid__cell-hours{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text);flex:1;justify-content:center;align-items:center;font-weight:600;line-height:1.3;display:flex}.timesheets-grid__cell--selected{outline:2px solid var(--colour-primary);outline-offset:-2px;z-index:1}.timesheets-grid__cell--approved{background:color-mix(in srgb, var(--colour-success) 10%, transparent)}.timesheets-grid__cell--pending_review{background:color-mix(in srgb, var(--colour-pending) 12%, transparent)}.timesheets-grid__cell--flagged{background:color-mix(in srgb, var(--colour-error) 10%, transparent)}.timesheets-grid__cell--incomplete{background:color-mix(in srgb, var(--colour-warning,#ea580c) 12%, var(--colour-bg-surface))}.timesheets-grid__cell--in_progress{background:color-mix(in srgb, var(--colour-info) 12%, transparent)}.timesheets-grid__cell--in_progress:before{content:"";background:var(--colour-info);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite timesheet-pulse;position:absolute;top:6px;right:6px}@keyframes timesheet-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}.timesheets-grid__cell--empty{background:var(--colour-field-inset);opacity:.7}.timesheets-grid__cell--week-summary{cursor:default;background:var(--colour-bg-elevated)}.timesheet-stacked-bar{left:var(--space-1-5);right:var(--space-1-5);bottom:var(--space-1-5);border-radius:2px;flex-direction:row;height:6px;display:flex;position:absolute;overflow:hidden}.timesheet-stacked-bar__segment{min-width:0;height:100%}.timesheet-cell-tooltip-wrap{width:100%;height:100%;display:block}.timesheet-cell-tooltip{z-index:300;pointer-events:none;background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-3);min-width:160px;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.timesheet-cell-tooltip__row{justify-content:space-between;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--colour-text);margin:2px 0;display:flex}.timesheets-detail__body{min-height:0;padding:var(--space-5) var(--space-6) var(--space-6);flex:1;overflow-y:auto}.timesheets-detail__title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--colour-text);margin-bottom:var(--space-1);font-weight:600}.timesheets-detail__subtitle{font-size:var(--font-size-sm);color:var(--colour-text-label);margin:var(--space-5) 0 var(--space-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.timesheets-detail__date{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.timesheets-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.timesheets-detail__toolbar-zone{margin-bottom:var(--space-5)}.timesheets-detail__toolbar{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.timesheets-detail__flag-toggle--active{background:var(--colour-primary-tint);color:var(--colour-primary)}.timesheets-detail__flag-panel{transition:grid-template-rows var(--transition-slow);grid-template-rows:0fr;display:grid}.timesheets-detail__flag-panel--open{grid-template-rows:1fr}.timesheets-detail__flag-panel-inner{min-height:0;overflow:hidden}.timesheets-detail__flag-card{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-lg);gap:var(--space-3);opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);flex-direction:column;display:flex;transform:translateY(-6px)}.timesheets-detail__flag-panel--open .timesheets-detail__flag-card{opacity:1;transform:translateY(0)}.timesheets-detail__flag-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.timesheets-detail__flag-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;margin:0}.timesheets-detail__flag-input{resize:vertical;width:100%;min-height:96px;line-height:1.5}.timesheets-detail__flag-footer{gap:var(--space-2);display:flex}.timesheets-detail__flag-footer--end{justify-content:flex-end}.timesheets-detail__flag-footer--start{justify-content:flex-start}.timesheets-detail__flag-card--persistent{opacity:1;transform:none}.timesheets-detail__flag-readonly{white-space:pre-wrap;line-height:1.5;font-size:var(--font-size-sm);margin:0}.timesheets-detail__action-error{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--colour-danger,#c0392b)}.timesheets-detail__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.timesheets-detail__scale{align-items:center;gap:var(--space-3);min-width:200px;max-width:320px;padding:var(--space-1) 0;flex:1;margin-left:auto;display:flex}.timesheets-detail__scale-label{white-space:nowrap;font-size:var(--font-size-xs);flex-shrink:0;margin:0}.timesheets-detail__scale-slider{flex:1;min-width:100px;height:28px}.timesheets-detail__scale-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);text-align:right;flex-shrink:0;min-width:2.75rem;font-weight:600}.timesheets-detail__stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=1100px){.timesheets-detail__stats{grid-template-columns:repeat(4,1fr)}}.timesheets-detail__stat .stat-card__value{font-size:var(--font-size-2xl)}.stat-card{gap:var(--space-2);flex-direction:column;display:flex}.stat-card__value{font-family:var(--font-display);font-size:var(--font-size-4xl);color:var(--colour-text);letter-spacing:-.02em;font-weight:700;line-height:1}.timesheets-detail__attention-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.timesheets-detail__attention-row{gap:var(--space-1) var(--space-3);padding:var(--space-3);background:var(--colour-bg-elevated);border:1px solid var(--colour-border);border-radius:var(--radius-md);grid-template-rows:auto auto;grid-template-columns:1fr auto auto;align-items:center;display:grid}.timesheets-detail__attention-name{grid-area:1/1;font-weight:600}.timesheets-detail__attention-date{font-size:var(--font-size-xs);grid-area:2/1}.timesheets-detail__attention-row .tag{grid-area:1/2/span 2;align-self:center}.timesheets-detail__attention-hours{font-family:var(--font-mono);font-size:var(--font-size-sm);grid-area:1/3/span 2;font-weight:600}.timesheet-timeline-split{margin-bottom:var(--space-5);transition:grid-template-columns var(--transition-slow), gap var(--transition-slow);grid-template-columns:minmax(0,1fr) minmax(0,0fr);align-items:start;gap:0;display:grid}.timesheet-timeline-split--open{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(260px,2fr)}.timesheet-timeline-split__timeline{min-width:0;transition:opacity var(--transition-slow)}.timesheet-timeline-split__detail{opacity:0;min-width:0;transition:opacity var(--transition-slow), transform var(--transition-slow);overflow:hidden;transform:translate(20px)}.timesheet-timeline-split--open .timesheet-timeline-split__detail{opacity:1;transform:translate(0)}.timesheet-block-detail{padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-lg);min-height:120px}.timesheet-block-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.timesheet-block-detail__title{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--colour-text);font-weight:600}.timesheet-block-detail__close{min-width:32px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xl);line-height:1}.timesheet-block-detail__meta{font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.timesheet-block-detail__note{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.timesheet-block-detail__note-label{margin-bottom:var(--space-2);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.timesheet-block-detail__note-body{font-size:var(--font-size-sm);color:var(--colour-text);white-space:pre-wrap;line-height:1.5}.timesheet-block-detail__note-empty{font-size:var(--font-size-sm);font-style:italic}.timesheet-block-detail__job{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.timesheet-block-detail__job-label{margin-bottom:var(--space-3);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.timesheet-block-detail__job-fields{gap:var(--space-3);margin:0 0 var(--space-4);flex-direction:column;display:flex}.timesheet-block-detail__job-field{gap:var(--space-1);flex-direction:column;display:flex}.timesheet-block-detail__job-field dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.timesheet-block-detail__job-field dd{font-size:var(--font-size-sm);color:var(--colour-text);margin:0;line-height:1.45}.timesheet-block-detail__job-go{width:100%}.timesheet-block-detail__job-empty{font-size:var(--font-size-sm);font-style:italic}.timesheet-day-timeline{flex-shrink:0;min-width:0}.timesheet-day-timeline__card{--timeline-label-width:56px;--timeline-gutter-left:var(--space-4);--timeline-padding-top:var(--space-3);--timeline-padding-bottom:var(--space-6);box-sizing:border-box;background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);padding-top:var(--timeline-padding-top);padding-bottom:var(--timeline-padding-bottom);position:relative;overflow:hidden}.timesheet-day-timeline__card-inner{box-sizing:border-box;width:100%;height:100%;padding-bottom:var(--space-5);position:relative}.timesheet-day-timeline__tick-row{pointer-events:none;z-index:1;border-top:1px solid var(--colour-border);flex-direction:row;align-items:flex-start;display:flex;position:absolute;left:0;right:0}.timesheet-day-timeline__tick-row--hour{border-top-color:var(--colour-border)}.timesheet-day-timeline__tick-row--last{transform:translateY(-100%)}.timesheet-day-timeline__tick-label{box-sizing:border-box;width:calc(var(--timeline-label-width) + var(--timeline-gutter-left));padding:1px var(--space-2) 2px var(--timeline-gutter-left);font-family:var(--font-mono);color:var(--colour-text-muted);white-space:nowrap;background:var(--colour-bg-surface);flex-shrink:0;font-size:10px;font-weight:500;line-height:14px}.timesheet-day-timeline__tick-row--hour .timesheet-day-timeline__tick-label{color:var(--colour-text-label);font-weight:600}.timesheet-day-timeline__tick-line{flex:1;min-width:0;min-height:1px}.timesheet-day-timeline__block{left:calc(var(--timeline-gutter-left) + var(--timeline-label-width) + var(--space-2));right:var(--space-2);box-sizing:border-box;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:2;flex-direction:row;align-items:flex-start;display:flex;position:absolute;overflow:hidden}.timesheet-day-timeline__block--interactive{cursor:pointer;font:inherit;text-align:left;transition:box-shadow var(--transition), outline-color var(--transition), transform var(--transition);border:none;padding:0}.timesheet-day-timeline__block--interactive:hover{box-shadow:var(--shadow-md)}.timesheet-day-timeline__block--interactive:focus-visible{outline:2px solid var(--colour-primary);outline-offset:2px;z-index:3}.timesheet-day-timeline__block--selected{outline:2px solid var(--colour-primary);outline-offset:1px;box-shadow:var(--shadow-md);z-index:3}.timesheet-day-timeline__accent{flex-shrink:0;align-self:stretch;width:4px}.timesheet-day-timeline__block-inner{min-width:0;padding:var(--space-1) var(--space-2);flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:2px;display:flex;overflow:hidden}.timesheet-day-timeline__block-inner--inline{justify-content:flex-start;align-items:flex-start;gap:var(--space-1) var(--space-2);flex-flow:row}.timesheet-day-timeline__block-inner--inline .timesheet-day-timeline__block-label{flex-shrink:0;max-width:38%}.timesheet-day-timeline__block-meta-row{align-items:flex-start;gap:var(--space-1);opacity:.92;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:500;line-height:1.27;display:inline-flex;overflow:hidden}.timesheet-day-timeline__block-meta-row .timesheet-day-timeline__block-meta{flex-shrink:1;min-width:0}.timesheet-day-timeline__block-meta-row .timesheet-day-timeline__block-meta:last-child{flex-shrink:0}.timesheet-day-timeline__block-meta-sep{opacity:.65;flex-shrink:0;font-size:11px;line-height:1}.timesheet-day-timeline__block-label{font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.25;overflow:hidden}.timesheet-day-timeline__block-meta{opacity:.92;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;line-height:1.27;overflow:hidden}.timesheets-detail__summary-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.timesheets-detail__summary-card{padding:var(--space-4)}.timesheets-detail__summary-value{font-family:var(--font-display);font-size:var(--font-size-2xl);margin-top:var(--space-2);font-weight:700}.timesheets-detail__breakdown{margin-top:var(--space-2);list-style:none}.timesheets-detail__breakdown li{font-size:var(--font-size-sm);padding:var(--space-1) 0;justify-content:space-between;display:flex}.timesheets-detail__job-ids{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs);list-style:none}.timesheets-detail__empty{padding:var(--space-4) 0}@media (width<=900px){.timesheets-page{height:calc(100vh - var(--topbar-height));margin:calc(-1 * var(--space-4));padding:var(--space-4) var(--space-4) 0;flex-direction:column}.timesheets-grid-panel,.timesheets-detail-panel{border-radius:var(--radius-md);border:1px solid var(--colour-border);border-bottom-right-radius:0;border-bottom-left-radius:0;flex:1}.timesheets-detail-panel{border-top:none;border-bottom-right-radius:0;border-bottom-left-radius:0}}.app-main:has(.inspections-page){height:calc(100vh - var(--topbar-height));padding-bottom:0;overflow:hidden}.inspections-page{height:calc(100vh - var(--topbar-height));margin:calc(-1 * var(--space-6));padding:var(--space-6) var(--space-6) 0;flex-direction:row;gap:0;display:flex;overflow:hidden}.inspections-left-panel,.inspections-right-panel{background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);border-bottom-right-radius:0;border-bottom-left-radius:0;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.inspections-left-panel{border-top-right-radius:0;border-bottom-right-radius:0}.inspections-right-panel{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.inspections-tab-bar{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);background:var(--colour-bg-surface);flex-shrink:0;align-items:center;gap:2px;display:flex}.inspections-tab-bar__btn{padding:var(--space-1-5) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-xs);cursor:pointer;color:var(--colour-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:600}.inspections-tab-bar__btn:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.inspections-tab-bar__btn--active{background:var(--colour-primary-tint);color:var(--colour-primary);font-weight:700}.inspections-tab-bar__dev-toggle{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-xs);color:var(--colour-text-muted);-webkit-user-select:none;user-select:none;padding-right:var(--space-1);flex-shrink:0;margin-left:auto;display:inline-flex}.inspections-tab-bar__dev-toggle__text{font-weight:600}.inspections-tab-bar__dev-toggle__input{width:2.25rem;height:1.125rem;accent-color:var(--colour-primary);cursor:pointer}.inspection-item-card__edit-title--global{color:var(--colour-warning,#b45309)}.inspections-left-panel__body{min-height:0;padding:var(--space-4);flex:1;overflow-y:auto}.inspections-left-panel__body>*+*{margin-top:var(--space-4)}.inspection-category-card{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface);overflow:hidden}.inspection-category-card__header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--colour-bg-elevated);border-bottom:1px solid var(--colour-border);display:flex}.inspection-category-card__title{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.inspection-category-card__count{font-size:var(--font-size-xs);color:var(--colour-text-muted);font-weight:400}.inspection-category-card__items{flex-direction:column;display:flex}.inspection-item-card{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);background:var(--colour-bg-surface);transition:background var(--transition)}.inspection-item-card:last-child{border-bottom:none}.inspection-item-card--inactive{opacity:.5}.inspection-item-card__view{align-items:center;gap:var(--space-3);display:flex}.inspection-item-card__code{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);background:var(--colour-bg-hover);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:2px var(--space-2);text-align:center;flex-shrink:0;min-width:38px;font-weight:600}.inspection-item-card__label{min-width:0;font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.inspection-item-card--inactive .inspection-item-card__label{color:var(--colour-text-muted);text-decoration:line-through}.inspection-item-card__type-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.inspection-item-card__type-badge--rating{background:color-mix(in srgb, var(--colour-success) 12%, transparent);color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 28%, transparent)}.inspection-item-card__type-badge--binary{background:color-mix(in srgb, var(--colour-info) 12%, transparent);color:var(--colour-info);border-color:color-mix(in srgb, var(--colour-info) 28%, transparent)}.inspection-item-card__type-badge--numeric{background:var(--colour-primary-tint);color:var(--colour-primary);border-color:color-mix(in srgb, var(--colour-primary) 28%, transparent)}.inspection-item-card__view-actions{flex-shrink:0;align-items:center;display:flex}.inspection-item-card__edit{gap:var(--space-3);flex-direction:column;display:flex}.inspection-item-card__edit-header{align-items:center;gap:var(--space-3);display:flex}.inspection-item-card__edit-code{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);background:var(--colour-bg-hover);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:2px var(--space-2);text-align:center;flex-shrink:0;min-width:38px;font-weight:600}.inspection-item-card__edit-title{font-size:var(--font-size-xs);color:var(--colour-text-muted);flex:1}.inspection-item-card__edit-fields{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.inspection-item-card__field-span-full{grid-column:1/-1}.inspection-item-card__notes-prefill{resize:none;field-sizing:content;min-height:4.5rem;overflow:hidden}.inspection-item-card__notes-prefill-preview{min-width:0;font-size:var(--font-size-xs);color:var(--colour-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.form-select{padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);background:var(--colour-field-inset);color:var(--colour-text);cursor:pointer;width:100%;transition:border-color var(--transition)}.form-select:focus{border-color:var(--colour-primary);outline:none}.inspection-item-card__active-row{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.inspection-item-card__active-label{font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;-webkit-user-select:none;user-select:none}.inspection-item-card__active-label--inactive{color:var(--colour-error)}.inspection-item-card__edit-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--colour-border);display:flex}.inspection-item-card__save-error{font-size:var(--font-size-xs);color:var(--colour-error);flex:1}.inspections-right-panel__header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--colour-border);flex-shrink:0;display:flex}.inspections-right-panel__title{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.inspections-right-panel__soon{font-size:var(--font-size-xs);color:var(--colour-text-muted);background:var(--colour-bg-hover);border:1px solid var(--colour-border);border-radius:var(--radius-sm);padding:2px var(--space-2)}.inspections-right-panel__body{background:var(--colour-bg);min-height:0;padding:var(--space-6) var(--space-5);align-items:center;gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.inspection-a4-page{aspect-ratio:1/1.4142;width:100%;max-width:460px;padding-bottom:var(--space-4);background:#fff;border-radius:2px;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex;position:relative;box-shadow:0 2px 12px #0000001f,0 1px 3px #00000014}.inspection-a4-page__number{color:silver;font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}.inspection-report-design__body{gap:var(--space-4);flex-direction:column;display:flex}.inspection-report-section{gap:var(--space-3);flex-direction:column;display:flex}.inspection-report-section__logo-preview{border:2px dashed var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-hover);flex-shrink:0;justify-content:center;align-items:center;width:100px;height:60px;display:flex}.inspection-report-section__logo-placeholder{font-size:var(--font-size-xs);color:var(--colour-text-muted);text-align:center}.inspection-report-section__logo-row{align-items:center;gap:var(--space-4);display:flex}.inspection-report-section__colour-row{align-items:center;gap:var(--space-3);display:flex}.inspection-report-section__colour-input{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-field-inset);cursor:pointer;flex-shrink:0;width:44px;height:44px;padding:2px}.inspection-report-section__colour-hex{flex:1;max-width:140px}.inspection-report-section__colour-grid{gap:var(--space-4);flex-direction:column;display:flex}.inspection-report-section__colour-field{align-items:center;gap:var(--space-4);display:flex}.inspection-report-section__colour-field-label{flex:1;min-width:0}.inspection-report-section__colour-pair{gap:var(--space-5);flex-wrap:wrap;display:flex}.inspection-report-section__colour-swatches{gap:var(--space-3) var(--space-6);grid-template-columns:1fr 1fr;display:grid}.inspection-report-section__colour-swatch-item{align-items:center;gap:var(--space-3);display:flex}.inspection-report-section__colour-swatch{border-radius:var(--radius-md);border:1px solid var(--colour-border);flex-shrink:0;width:32px;height:32px}.app-main:has(.list-page){height:calc(100vh - var(--topbar-height));padding-bottom:0;overflow:hidden}.list-page{gap:var(--space-4);height:calc(100vh - var(--topbar-height) - var(--space-6));flex-direction:column;display:flex}.list-page__toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}.list-page__search-wrap{flex:1;min-width:180px;position:relative}.list-page__search-icon{left:var(--space-3);color:var(--colour-text-label);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.list-page__search{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-7);background:var(--colour-bg-elevated);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text);transition:border-color var(--transition)}.list-page__search:focus{border-color:var(--colour-primary);outline:none}.list-page__search::placeholder{color:var(--colour-text-label)}.list-page__filterbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.filter-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--colour-border);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);text-transform:uppercase;letter-spacing:.06em;background:0 0;font-weight:600}.filter-chip:hover{background:var(--colour-bg-hover);color:var(--colour-text);border-color:var(--colour-border-emphasis)}.filter-chip--active{background:var(--colour-primary-tint);color:var(--colour-primary);border-color:#f0a50059}.filter-spacer{flex:1}.list-page__filterbar-stack{gap:var(--space-2);flex-direction:column;flex-shrink:0;width:100%;display:flex}.list-page__filterbar-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.filter-group-label{min-width:3.25rem;font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--colour-text-label);flex-shrink:0;font-weight:600}.sort-wrap{position:relative}.sort-btn{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);text-transform:uppercase;letter-spacing:.06em;font-weight:600;display:flex}.sort-btn:hover,.sort-btn--open{background:var(--colour-bg-hover);color:var(--colour-text);border-color:var(--colour-border-emphasis)}.sort-dropdown{top:calc(100% + var(--space-2));background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-lg);z-index:150;padding:var(--space-2);position:absolute;right:0;overflow:hidden}.sort-option{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.sort-option:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.sort-option--active{color:var(--colour-primary)}.sort-option__check{font-size:var(--font-size-xs);color:var(--colour-primary)}.list-page__body{gap:var(--space-4);flex:1;min-height:0;display:flex;position:relative}.list-panel{width:100%;min-width:0;transition:width var(--transition-slow), opacity var(--transition-slow);flex-direction:column;flex-shrink:0;display:flex}.list-panel--split{flex-shrink:0;width:340px}.list-panel--collapsed{opacity:0;pointer-events:none;width:0;overflow:hidden}.list-panel__inner{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.detail-panel{gap:var(--space-4);min-width:0;animation:slideIn var(--transition-slow) ease;flex-direction:column;flex:1;display:flex;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.detail-panel__header{align-items:center;gap:var(--space-3);margin-right:var(--space-3);flex-wrap:wrap;display:flex}.detail-panel__back{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-text-label);cursor:pointer;padding:var(--space-1) 0;transition:color var(--transition);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;display:flex}.detail-panel__back:hover{color:var(--colour-text)}.detail-panel__title{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--colour-text);flex:1;font-weight:600}.detail-panel__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.doc-tabs{background:var(--colour-bg-elevated);border:1px solid var(--colour-border);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.doc-tab{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--colour-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:600}.doc-tab--active{background:var(--colour-bg-surface);color:var(--colour-text)}.share-wrap{position:relative}.share-dropdown{top:calc(100% + var(--space-2));background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);min-width:160px;box-shadow:var(--shadow-lg);z-index:150;padding:var(--space-2);position:absolute;right:0;overflow:hidden}.share-option{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text-muted);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;display:flex}.share-option:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.collapse-btn{border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);width:28px;height:28px;color:var(--colour-text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.collapse-btn:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.list-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition), border-color var(--transition);text-align:left;outline:none;width:100%;display:flex}.list-item:focus-visible:not(.list-item--active){border-color:var(--colour-border-emphasis);box-shadow:0 0 0 2px #f0a50040}.list-item:hover{background:var(--colour-bg-hover);border-color:var(--colour-border-emphasis)}.list-item--active{background:var(--colour-primary-tint);border-color:#f0a5004d}.list-item--muted{opacity:.72}.list-item__main{flex:1;min-width:0}.list-item__id{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--colour-primary);margin-bottom:2px;font-weight:600}.list-item__title{font-size:var(--font-size-sm);color:var(--colour-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.list-item__sub{font-size:var(--font-size-xs);color:var(--colour-text-label);margin-top:2px}.list-item__right{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.list-item__amount{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.detail-section{gap:var(--space-3);flex-direction:column;display:flex}.detail-section__title{font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.1em;padding-bottom:var(--space-2);border-bottom:1px solid var(--colour-border);font-weight:600}.detail-grid{gap:var(--space-4) var(--space-5);grid-template-columns:1fr 1fr;display:grid}.detail-field{flex-direction:column;gap:3px;display:flex}.detail-field__label{font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.detail-field__value{font-size:var(--font-size-sm);color:var(--colour-text)}.detail-field__value--empty{color:var(--colour-text-label);font-style:italic}.integration-html-body{word-break:break-word;margin:0;line-height:1.55}.integration-html-body p{margin:0 0 .5em}.integration-html-body p:last-child{margin-bottom:0}.integration-html-body ul,.integration-html-body ol{margin:0 0 .5em;padding-left:1.25em}.items-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.items-table th{text-align:left;font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);font-weight:600}.items-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);color:var(--colour-text);vertical-align:middle}.items-table td input,.items-table td select{background:var(--colour-bg-hover);border:1px solid var(--colour-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--colour-text);padding:var(--space-1) var(--space-2);width:100%}.items-table td input:focus,.items-table td select:focus{border-color:var(--colour-primary);outline:none}.items-table tr:last-child td{border-bottom:none}.items-table__remove{color:var(--colour-text-label);cursor:pointer;font-size:var(--font-size-lg);padding:0 var(--space-2);transition:color var(--transition);background:0 0;border:none;line-height:1}.items-table__remove:hover{color:var(--colour-error)}.items-table__remove:disabled{opacity:.3;cursor:not-allowed}.order-total{justify-content:flex-end;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border);display:flex}.order-total__label{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.order-total__value{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--colour-text);font-weight:700}.form-grid-2{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.form-grid-3{gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;display:grid}.list-empty{padding:var(--space-8) var(--space-5);color:var(--colour-text-label);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;flex:1;display:flex}.list-empty__icon{opacity:.4;font-size:2rem}.dropzone{border:2px dashed var(--colour-border-emphasis);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-5);justify-content:center;align-items:center;gap:var(--space-3);cursor:pointer;transition:border-color var(--transition), background var(--transition);text-align:center;flex-direction:column;display:flex}.dropzone:hover,.dropzone--over{border-color:var(--colour-primary);background:var(--colour-primary-tint)}.dropzone__icon{opacity:.5;font-size:2rem}.dropzone__label{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.dropzone__sub{font-size:var(--font-size-xs);color:var(--colour-text-label)}@media (width<=768px){.list-panel--split{opacity:0;pointer-events:none;width:0;overflow:hidden}.detail-panel{animation:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.job-reports-page{max-width:none;padding:0}.job-reports-page>.presets-tabs{flex-shrink:0}.job-reports-catalog{flex:1;min-height:0}.job-reports-section-toolbar{padding:0 0 var(--space-2);flex-wrap:nowrap}.job-reports-section-toolbar .form-input{flex:1;min-width:0}.job-reports-empty{padding:var(--space-3)}.job-reports-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.job-reports-field__label{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--colour-text-label);font-weight:600}.job-reports-textarea{resize:vertical;min-height:96px;font-family:var(--font-sans)}.job-reports-presets-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.job-reports-presets-header .detail-section__title{margin:0}.job-reports-preset-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.job-reports-preset-card{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-elevated);padding:var(--space-3)}.job-reports-preset-card__view{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.job-reports-preset-card__text{flex:1;min-width:0}.job-reports-preset-card__body{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted);white-space:pre-wrap;word-break:break-word}.job-reports-preset-editor{gap:var(--space-1);flex-direction:column;display:flex}.job-reports-preset-editor__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.job-reports-assign-row{gap:var(--space-2);flex-direction:column;align-items:stretch;min-width:180px;display:flex}.job-reports-settings{max-width:640px}.job-reports-settings__toggle{align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--colour-text);cursor:pointer;display:flex}.job-reports-settings__toggle input{margin-top:3px}.job-reports-pending{gap:var(--space-3);flex-direction:column;max-width:720px;display:flex}.job-reports-pending-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.job-reports-error{color:var(--colour-error);font-size:var(--font-size-sm);flex-shrink:0;margin:0}.job-reports-hint{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}@media (width<=860px){.job-reports-catalog{flex-direction:column}.job-reports-catalog .list-panel--split{width:100%;max-height:240px}}.app-main:has(.invoice-design-page){height:calc(100vh - var(--topbar-height));padding-bottom:0;overflow:hidden}.invoice-design-page{height:calc(100vh - var(--topbar-height));margin:calc(-1 * var(--space-6));padding:var(--space-6) var(--space-6) 0;flex-direction:row;gap:0;display:flex;overflow:hidden}.invoice-design-left-panel,.invoice-design-right-panel{background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-md);border-bottom-right-radius:0;border-bottom-left-radius:0;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.invoice-design-left-panel{border-top-right-radius:0;border-bottom-right-radius:0}.invoice-design-right-panel{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.invoice-design-tab-bar{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);background:var(--colour-bg-surface);flex-shrink:0;align-items:center;gap:2px;display:flex}.invoice-design-tab-bar__btn{padding:var(--space-1-5) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-xs);cursor:pointer;color:var(--colour-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:600}.invoice-design-tab-bar__btn:hover{background:var(--colour-bg-hover);color:var(--colour-text)}.invoice-design-tab-bar__btn--active{background:var(--colour-primary-tint);color:var(--colour-primary);font-weight:700}.invoice-design-left-panel__body{min-height:0;padding:var(--space-4);flex:1;overflow-y:auto}.invoice-design-right-panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);flex-shrink:0;display:flex}.invoice-design-right-panel__title{font-size:var(--font-size-sm);color:var(--colour-text);margin:0;font-weight:700}.invoice-design-right-panel__body{background:var(--colour-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.invoice-design-preview-iframe{background:var(--colour-bg);border:none;flex:1;width:100%}.invoice-design-preview-empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.invoice-design-logo-preview{object-fit:contain;border:1px solid var(--colour-border);border-radius:var(--radius-md);max-width:200px;max-height:80px;padding:var(--space-2);background:var(--colour-bg)}.invoice-design-logo-scale{width:100%;max-width:20rem;display:block}.invoice-design-logo-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.invoice-design-content{max-width:36rem}.invoice-design-content h3{margin:0 0 var(--space-2);font-size:var(--font-size-md)}.invoice-design-content__hint{margin:0 0 var(--space-4);line-height:1.5}.invoice-design-content__toggles{gap:var(--space-3);flex-direction:column;display:flex}.invoice-design-content__toggle{align-items:flex-start;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);line-height:1.4;display:flex}.invoice-design-content__toggle input{margin-top:.2rem}.invoice-design-content__toggle strong{display:block}.calendar-event__content{z-index:1;-webkit-box-orient:vertical;align-self:stretch;width:100%;line-height:1.3;display:-webkit-box;position:relative;overflow:hidden}.calendar-event__content-header{width:100%;display:block;overflow:hidden}.calendar-event__content-header .calendar-event__app-hidden-icon{float:right;margin:0 0 1px 2px;position:static}.calendar-event__title--wrap{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:hidden}.calendar-event:has(.calendar-event__content) .calendar-event__title--wrap{padding-right:0}.calendar-event__meta{z-index:1;color:var(--colour-text-muted);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;width:100%;font-size:10px;font-weight:500;line-height:1.2;display:block;position:relative;overflow:hidden}.calendar-event__content--compact{line-height:1.15}.calendar-event__content--compact .calendar-event__title--wrap{font-size:8px;line-height:1.15}.calendar-event__content--compact .calendar-event__meta{font-size:7px;line-height:1.1}.calendar-quick-schedule-selected-event{border-top:none;flex-shrink:0;margin-top:0;padding-top:0}.calendar-quick-schedule-selected-event__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.calendar-quick-schedule-selected-event__clear{flex-shrink:0}.calendar-quick-schedule-selected-event__body{padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-elevated)}.calendar-quick-schedule-selected-event__title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.calendar-quick-schedule-selected-event__title{font-size:var(--text-base);margin:0;font-weight:600;line-height:1.3}.calendar-quick-schedule-selected-event__type-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);border:1px solid;flex-shrink:0;font-weight:500}.calendar-quick-schedule-selected-event__meta{margin:0 0 var(--space-2);font-size:var(--text-sm)}.calendar-quick-schedule-selected-event__fields{gap:var(--space-2);margin:0;display:grid}.calendar-quick-schedule-selected-event__field{gap:2px;display:grid}.calendar-quick-schedule-selected-event__field dd{font-size:var(--text-sm);margin:0}.info-icon-help-dialog{flex-shrink:0;display:inline-flex;position:relative}.info-icon-help-dialog__trigger{z-index:401;border-radius:var(--radius-full);width:1.5rem;height:1.5rem;color:var(--colour-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.info-icon-help-dialog__trigger:hover{color:var(--colour-text);background:var(--colour-bg-hover)}.info-icon-help-dialog__hover-bridge{z-index:399;pointer-events:auto;background:0 0;position:absolute}.info-icon-help-dialog__card{top:calc(100% + var(--space-1));z-index:400;width:min(16rem, calc(100vw - var(--space-6)));padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg);box-shadow:var(--shadow-lg,0 12px 32px #0000002e);position:absolute;right:0}.info-icon-help-dialog__title{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.info-icon-help-dialog__body{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0;line-height:1.5}.calendar-quick-schedule__job-list{border:1px solid var(--colour-border);border-radius:var(--radius-md);max-height:180px;margin-bottom:var(--space-4);overflow-y:auto}.calendar-quick-schedule__job-row{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;font:inherit;color:var(--colour-text);border:none;border-bottom:1px solid var(--colour-border);background:0 0;display:flex}.calendar-quick-schedule__job-row:last-child{border-bottom:none}.calendar-quick-schedule__job-row:hover{background:var(--colour-bg-hover)}.calendar-quick-schedule__job-row--active{background:color-mix(in srgb, var(--colour-primary) 10%, transparent)}.calendar-quick-schedule__job-title{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.calendar-quick-schedule__job-hours{font-size:var(--font-size-xs);color:var(--colour-text-muted);font-family:var(--font-mono);flex-shrink:0}.calendar-quick-schedule__job-hours-spinner{border:2px solid var(--colour-border);border-top-color:var(--colour-primary);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite calendar-quick-schedule-spin;display:inline-block}@keyframes calendar-quick-schedule-spin{to{transform:rotate(360deg)}}.calendar-quick-schedule__field-row{align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.calendar-quick-schedule__field-row .calendar-event-detail__form-field{flex:1;min-width:0;margin-bottom:0}.calendar-quick-schedule__field-row-narrow{flex:0 5.5rem}.calendar-quick-schedule__pill-tray{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.calendar-quick-schedule__pill{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:color-mix(in srgb, var(--colour-primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--colour-primary) 30%, transparent);font-size:var(--font-size-xs);font-weight:500;display:inline-flex}.calendar-quick-schedule__pill-remove{cursor:pointer;width:16px;height:16px;font-size:var(--font-size-sm);color:var(--colour-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.calendar-quick-schedule__pill-remove:hover{color:var(--colour-text);background:var(--colour-bg-hover)}.calendar-quick-schedule__auto-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-quick-schedule__auto-block{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.calendar-quick-schedule__auto-toggles{gap:var(--space-2)}.calendar-quick-schedule__auto-row .calendar-event-detail__form-field{flex:none;width:5rem;margin-bottom:0}.calendar-quick-schedule__auto-row .btn{flex-shrink:0}.calendar-quick-schedule__cutoff-row{align-items:flex-end;gap:var(--space-2);display:flex}.calendar-quick-schedule__cutoff-row .calendar-event-detail__form-field{flex:1;min-width:0}.calendar-quick-schedule__travel-section{margin-bottom:var(--space-4);overflow:visible}.calendar-quick-schedule__travel-heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex;overflow:visible}.calendar-quick-schedule__travel-default{margin-bottom:var(--space-2);justify-content:flex-start;display:flex}.calendar-quick-schedule__travel-toggle{align-items:center;gap:var(--space-2);display:flex}.calendar-quick-schedule__labour-balance-wrap{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.calendar-quick-schedule__labour-breakdown{font-size:var(--text-sm);margin:0}.calendar-quick-schedule__travel-list{gap:var(--space-2);flex-direction:column;display:flex}.calendar-quick-schedule__travel-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.calendar-quick-schedule__travel-name{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.calendar-quick-schedule__travel-input{flex-shrink:0}.calendar-quick-schedule__warning{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--colour-warning,#d97706) 12%, transparent);border:1px solid color-mix(in srgb, var(--colour-warning,#d97706) 35%, transparent);font-size:var(--font-size-sm);color:var(--colour-text)}.calendar-quick-schedule__plan-summary{margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.calendar-quick-schedule__find-row{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.calendar-quick-schedule__plumbers-block{margin-bottom:var(--space-4)}.calendar-quick-schedule__plumbers-title{margin-bottom:var(--space-3);display:block}.calendar-quick-schedule__plumbers-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.calendar-quick-schedule__pick-toggle{flex-shrink:0}.calendar-quick-schedule__auto-count-field{margin-bottom:var(--space-3)}.calendar-quick-schedule__mode-hint{margin:0 0 var(--space-3)}.calendar-quick-schedule__auto-count-field .form-input{width:5rem}.calendar-quick-schedule__schedule-actions{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--colour-border);flex-direction:column;display:flex}.calendar-quick-schedule__auto-schedule-btn{align-self:flex-start}.calendar-quick-schedule__mode-actions{margin-top:var(--space-2);justify-content:flex-end;display:flex}.calendar-quick-schedule__mode-card{padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-subtle)}.calendar-quick-schedule__mode-card+.calendar-quick-schedule__or-divider{margin-top:var(--space-3)}.calendar-quick-schedule__mode-card-title{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600}.calendar-quick-schedule__mode-card--muted{opacity:.55}.calendar-quick-schedule__or-divider{margin:var(--space-3) 0;text-align:center;font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--colour-text-muted);font-weight:600}.calendar-quick-schedule__empty{padding:var(--space-4);text-align:center}.calendar-quick-schedule__footer{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--colour-border);flex-shrink:0}.calendar-quick-schedule__select-hint{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--colour-border);font-size:var(--font-size-sm);flex-shrink:0;margin:0}.calendar-ghost-resize-handle{z-index:2;touch-action:none;cursor:ns-resize;position:absolute;left:0;right:0}.calendar-ghost-resize-handle--top{top:0}.calendar-ghost-resize-handle--travel{cursor:row-resize}.calendar-ghost-resize-handle--bottom{bottom:0}.calendar-event--ghost-resizable:hover .calendar-ghost-resize-handle{background:color-mix(in srgb, var(--colour-primary) 18%, transparent)}.calendar-page--timeline-resizing .calendar-event--ghost-resizable{cursor:ns-resize}.calendar-ghost-last-toolbar{z-index:4;flex-direction:column;gap:2px;display:none;position:absolute;top:2px;right:2px}.calendar-ghost-last-toolbar--corner{position:absolute;top:2px;right:2px}.calendar-ghost-last-toolbar--inline{flex-flow:wrap;justify-content:center;gap:4px;display:flex;position:relative;top:auto;right:auto}.calendar-ghost-hover-card{flex-direction:column;gap:6px;min-width:140px;display:flex}.calendar-ghost-segment-duration{border-bottom:1px solid var(--colour-border);flex-direction:column;gap:2px;padding-bottom:2px;display:flex}.calendar-ghost-hover-card--duration-only .calendar-ghost-segment-duration{border-bottom:none;padding-bottom:0}.calendar-ghost-segment-duration__total{color:var(--colour-text);margin:0;font-size:11px;font-weight:700;line-height:1.3}.calendar-ghost-segment-duration__breakdown{color:var(--colour-text-muted);margin:0;font-size:10px;font-weight:500;line-height:1.3}.calendar-event--ghost-resizable:hover .calendar-ghost-last-toolbar--corner,.calendar-ghost-last-toolbar--corner.calendar-ghost-last-toolbar--open,.calendar-ghost-last-toolbar--inline.calendar-ghost-last-toolbar--open{display:flex}.calendar-ghost-last-toolbar--inline .calendar-ghost-last-toolbar__picker{top:100%;left:50%;right:auto;transform:translate(-50%)}.calendar-ghost-last-toolbar__btn{border:1px solid var(--colour-border);background:var(--colour-bg-elevated);color:var(--colour-text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1.2}.calendar-ghost-last-toolbar__btn:hover{border-color:var(--colour-primary)}.calendar-ghost-last-toolbar__picker{border:1px solid var(--colour-border-emphasis);background:var(--colour-bg-elevated);min-width:120px;box-shadow:var(--shadow-md);z-index:1100;border-radius:6px;margin-top:2px;padding:4px;position:absolute;top:100%;right:0}.calendar-ghost-last-toolbar__picker-btn{text-align:left;background:var(--colour-bg-elevated);width:100%;color:var(--colour-text);cursor:pointer;border:none;border-radius:4px;padding:4px 6px;font-size:11px;display:block}.calendar-ghost-last-toolbar__picker-btn:hover{background:var(--colour-bg-hover)}.calendar-ghost-restore-travel-btn{z-index:4;border:1px solid var(--colour-border);background:var(--colour-bg-elevated);cursor:pointer;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1.2;position:absolute;top:10px;left:2px}.calendar-ghost-restore-travel-btn:hover{border-color:var(--colour-primary)}.calendar-quick-schedule__confirm{border:1px solid var(--colour-border);background:color-mix(in srgb, var(--colour-warning,#f59e0b) 12%, var(--colour-bg-elevated));border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:13px;display:flex}.calendar-quick-schedule__labour-balance{margin:0 0 8px;font-size:13px}.calendar-quick-schedule__labour-balance--over{color:var(--colour-error)}.calendar-quick-schedule__labour-balance--under{color:var(--colour-warning,#b45309)}.calendar-plumber-batch-modal__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calendar-plumber-batch-modal__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.calendar-plumber-batch-modal__panel{z-index:1;gap:var(--space-4);width:min(100%,40rem);max-height:min(92vh,44rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.calendar-plumber-batch-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-shrink:0;display:flex}.calendar-plumber-batch-modal__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.calendar-plumber-batch-modal__intro{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.calendar-plumber-batch-modal__toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.calendar-plumber-batch-modal__toolbar-spacer{min-width:var(--space-2);flex:1}.calendar-plumber-batch-modal__selection-count{font-size:var(--font-size-sm);color:var(--colour-text-muted)}.calendar-plumber-batch-modal__list-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calendar-plumber-batch-modal__list{border:1px solid var(--colour-border);border-radius:var(--radius-md);flex:1;min-height:12rem;max-height:min(60vh,28rem);margin:0;padding:0;list-style:none;overflow-y:auto}.calendar-plumber-batch-modal__list--shift-select{-webkit-user-select:none;user-select:none;cursor:crosshair}.calendar-plumber-batch-modal__item{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--colour-border);text-align:left;cursor:pointer;color:inherit;background:0 0;display:flex}.calendar-plumber-batch-modal__item:last-child{border-bottom:none}.calendar-plumber-batch-modal__item:hover{background:var(--colour-surface-muted,#0000000a)}.calendar-plumber-batch-modal__item--selected{background:#2563eb14}.calendar-plumber-batch-modal__item--selected:hover{background:#2563eb1f}.calendar-plumber-batch-modal__item-check{width:1.25rem;color:var(--colour-primary,#2563eb);flex-shrink:0;font-weight:700}.calendar-plumber-batch-modal__item-name{font-weight:600}.calendar-plumber-batch-modal__empty{padding:var(--space-4);text-align:center;color:var(--colour-text-muted);font-size:var(--font-size-sm)}.calendar-plumber-batch-modal__actions{justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.calendar-view-hours-modal__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calendar-view-hours-modal__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.calendar-view-hours-modal__panel{z-index:1;gap:var(--space-4);width:min(100%,28rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.calendar-view-hours-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.calendar-view-hours-modal__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.calendar-view-hours-modal__intro{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.calendar-view-hours-modal__warning{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--colour-alert-border);background:var(--colour-alert-surface);color:var(--colour-alert-text);font-size:var(--font-size-sm);flex-direction:column;display:flex}.calendar-view-hours-modal__warning p{margin:0}.calendar-view-hours-modal__fields{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.calendar-view-hours-modal__field{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--colour-text-muted);flex-direction:column;display:flex}.calendar-view-hours-modal__field input{font:inherit;padding:var(--space-2);border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:var(--colour-bg-surface);color:var(--colour-text)}.calendar-view-hours-modal__error{font-size:var(--font-size-sm);color:var(--colour-error);margin:0}.calendar-view-hours-modal__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-view-hours-modal__actions-spacer{flex:1}.calendar-overlap-preview-stack{z-index:1002;pointer-events:auto;flex-direction:column;display:flex;position:fixed;overflow:visible}.calendar-overlap-preview-bridge{z-index:1001;pointer-events:auto;background:0 0;position:fixed}.calendar-overlap-preview{border-radius:var(--radius-md);border:1px solid var(--colour-border-emphasis);background:var(--colour-bg-elevated);width:280px;max-width:min(320px,100vw - 24px);box-shadow:var(--shadow-md);overflow:hidden}.calendar-overlap-preview__header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border)}.calendar-overlap-preview__plumber{font-size:var(--font-size-sm);color:var(--colour-text);margin:0;font-weight:700}.calendar-overlap-preview__meta{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--colour-text-muted)}.calendar-overlap-preview__column-wrap{max-height:min(360px,100vh - 120px);overflow:hidden auto}.calendar-overlap-preview__timeline{margin:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-bg-subtle);display:flex;position:relative;overflow:hidden}.calendar-overlap-preview__time-axis{border-right:1px solid var(--colour-border);background:var(--colour-bg-surface);flex:0 0 52px;position:relative}.calendar-overlap-preview__time-row{font-family:var(--font-mono);color:var(--colour-text-label);pointer-events:none;justify-content:center;align-items:flex-start;padding-top:2px;font-size:10px;line-height:1.2;display:flex;position:absolute;left:0;right:0;transform:translateY(-1px)}.calendar-overlap-preview__column{flex:auto;min-width:0;position:relative}.calendar-overlap-preview__hour-line{border-top:1px solid var(--colour-border);pointer-events:none;z-index:0;height:0;position:absolute;left:0;right:0}.calendar-overlap-preview__column .calendar-event{z-index:1;min-height:18px;position:absolute}.calendar-overlap-preview__column .calendar-event--interactive:hover{filter:brightness(.97);box-shadow:var(--shadow-sm)}.calendar-event--more-interactive{cursor:pointer;touch-action:manipulation}.calendar-event--more-interactive:hover,.calendar-event--more-interactive:focus-visible{color:var(--colour-text);border-color:var(--colour-border-strong);background:var(--colour-bg-subtle);outline:none}.calendar-resize-handle__grip{padding:var(--space-1) var(--space-1);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-sm);background:var(--colour-bg-elevated);box-shadow:var(--shadow-sm);pointer-events:none;z-index:1;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);align-items:center;gap:1px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-resize-handle:hover .calendar-resize-handle__grip,.calendar-page--resizing .calendar-resize-handle__grip{border-color:var(--colour-primary);background:color-mix(in srgb, var(--colour-primary) 10%, var(--colour-bg-elevated));box-shadow:var(--shadow-md)}.calendar-resize-handle__chevron{color:var(--colour-text-muted);-webkit-user-select:none;user-select:none;font-size:10px;font-weight:700;line-height:1}.calendar-resize-handle:hover .calendar-resize-handle__chevron,.calendar-page--resizing .calendar-resize-handle__chevron{color:var(--colour-primary)}.calendar-month-view{gap:var(--space-3);flex-direction:column;display:flex}.calendar-month-view__meta{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2rem;display:flex}.calendar-month-view__meta-left{align-items:center;gap:var(--space-3);display:flex}.calendar-board__loading-status{text-align:right;white-space:nowrap;flex-shrink:0;width:9.5rem;margin:0}.calendar-month-grid-shell{border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:var(--colour-bg-surface);align-items:flex-start;display:flex;overflow:hidden}.calendar-month-plumber-col{border-right:1px solid var(--colour-border);background:var(--colour-bg-surface);z-index:2;flex-shrink:0}.calendar-month-corner{border-bottom:1px solid var(--colour-border);background:var(--colour-bg-elevated)}.calendar-month-plumber-row{padding:0 var(--space-3);border-bottom:1px solid var(--colour-border);align-items:center;display:flex}.calendar-month-plumber-row:last-child{border-bottom:none}.calendar-month-plumber-name{font-size:var(--font-size-sm);color:var(--colour-text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.calendar-month-scroll{flex:1;align-items:flex-start;min-width:0;display:flex;position:relative;overflow:auto hidden}.calendar-month-inner{position:relative}.calendar-month-header{z-index:3;background:var(--colour-bg-elevated);border-bottom:1px solid var(--colour-border);flex-direction:column;display:flex;position:sticky;top:0}.calendar-month-header__months{border-bottom:1px solid var(--colour-border);flex-shrink:0;height:26px;position:relative}.calendar-month-header__month-label{height:100%;padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--colour-text-muted);white-space:nowrap;align-items:center;font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.calendar-month-header__days{flex:1;position:relative}.calendar-month-header__day{border-right:1px solid var(--colour-border);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;display:flex;position:absolute;top:0}.calendar-month-header__day--today{background:color-mix(in srgb, var(--colour-primary) 12%, var(--colour-bg-elevated))}.calendar-month-header__weekday{color:var(--colour-text-muted);text-transform:uppercase;font-size:9px;font-weight:500;line-height:1}.calendar-month-header__daynum{font-size:var(--font-size-sm);color:var(--colour-text);font-weight:600;line-height:1}.calendar-month-header__day--today .calendar-month-header__daynum{color:var(--colour-primary)}.calendar-month-body{position:absolute;left:0}.calendar-month-col{border-right:1px solid var(--colour-border);position:absolute;top:0}.calendar-month-col--today{background:color-mix(in srgb, var(--colour-primary) 4%, transparent)}.calendar-month-cell{border-bottom:1px solid var(--colour-border);cursor:pointer;font:inherit;transition:filter var(--transition);justify-content:center;align-items:flex-end;padding-bottom:3px;display:flex;position:absolute;left:0;right:0}.calendar-month-cell:last-child{border-bottom:none}.calendar-month-cell:hover{filter:brightness(.92)}.calendar-month-cell__hours{color:var(--colour-text-muted);opacity:.8;font-size:9px;font-weight:600;line-height:1}.calendar-month-phantom{background:var(--colour-bg-surface);border-left:1px solid var(--colour-border);border-right:1px solid var(--colour-border);flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-month-phantom--left{border-left:none;order:-1}.calendar-month-phantom--right{border-right:none}.calendar-month-phantom__spinner{border:2px solid var(--colour-border);border-top-color:var(--colour-primary);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.8s linear infinite calendar-month-spin}@keyframes calendar-month-spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){.calendar-month-grid-shell{background:var(--colour-bg-surface)}}.add-integration-card{justify-content:center;align-items:center;gap:var(--space-2);min-height:10rem;padding:var(--space-5);text-align:center;cursor:pointer;border:2px dashed var(--colour-border);color:inherit;font:inherit;background:0 0;flex-direction:column;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.add-integration-card:hover{border-color:var(--colour-accent);background:color-mix(in srgb, var(--colour-accent) 6%, transparent);box-shadow:var(--shadow-sm)}.add-integration-card:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.add-integration-card__icon{width:2.5rem;height:2.5rem;color:var(--colour-accent);background:color-mix(in srgb, var(--colour-accent) 12%, transparent);border-radius:999px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:300;line-height:1;display:flex}.add-integration-card__label{font-size:var(--font-size-lg);font-weight:600}.add-integration-card__hint{max-width:14rem;font-size:var(--font-size-sm);margin:0;line-height:1.45}.add-integration-picker__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-integration-picker__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.add-integration-picker__panel{z-index:1;gap:var(--space-4);width:min(100%,28rem);max-height:min(85vh,32rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.add-integration-picker__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.add-integration-picker__title{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:600}.add-integration-picker__intro{font-size:var(--font-size-sm);margin:0;line-height:1.55}.add-integration-picker__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.add-integration-picker__item{margin:0}.add-integration-picker__option{align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-surface-muted);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;transition:border-color .15s,background .15s;display:flex}.add-integration-picker__option:hover:not(:disabled){border-color:var(--colour-accent);background:color-mix(in srgb, var(--colour-accent) 8%, var(--colour-surface-muted))}.add-integration-picker__option:disabled{opacity:.65;cursor:not-allowed}.add-integration-picker__option:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.add-integration-picker__option-main{align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.add-integration-picker__option-name{font-weight:600}.add-integration-picker__option-description{font-size:var(--font-size-sm);margin:0;line-height:1.45}.add-integration-picker__option-cta{font-size:var(--font-size-sm);color:var(--colour-accent);font-weight:600}.add-integration-picker__badge{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-weight:600}.add-integration-picker__badge--ok{background:color-mix(in srgb, var(--colour-success) 18%, transparent);color:var(--colour-success)}.add-integration-picker__badge--warn{background:color-mix(in srgb, var(--colour-warning,#c47d00) 18%, transparent);color:var(--colour-warning,#c47d00)}.add-integration-picker__badge--neutral,.add-integration-picker__badge--muted{background:var(--colour-bg-elevated);color:var(--colour-text-muted)}.add-integration-picker__footer{font-size:var(--font-size-sm);margin:0;line-height:1.45}.integration-catalog-card{gap:var(--space-3);padding:var(--space-5);color:inherit;flex-direction:column;min-height:10rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.integration-catalog-card:not(.integration-catalog-card--static):hover{border-color:var(--colour-border-strong);box-shadow:var(--shadow-sm)}.integration-catalog-card--static{opacity:.72}.integration-catalog-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.integration-catalog-card__name{font-size:var(--font-size-lg);margin:0;font-weight:600}.integration-catalog-card__badge{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-weight:600}.integration-catalog-card__badge--ok{background:color-mix(in srgb, var(--colour-success) 18%, transparent);color:var(--colour-success)}.integration-catalog-card__badge--warn{background:color-mix(in srgb, var(--colour-warning,#c47d00) 18%, transparent);color:var(--colour-warning,#c47d00)}.integration-catalog-card__badge--neutral,.integration-catalog-card__badge--muted{background:var(--colour-surface-muted);color:var(--colour-text-muted)}.integration-catalog-card__description{flex:1;margin:0;line-height:1.55}.integration-catalog-card__detail{font-size:var(--font-size-sm);margin:0;line-height:1.45}.integration-catalog-card__cta{font-size:var(--font-size-sm);color:var(--colour-accent);font-weight:600}.integrations-page{padding-bottom:var(--space-6)}.integrations-page__header{margin-bottom:var(--space-5)}.integrations-page__title{font-family:var(--font-display);font-size:var(--font-size-2xl);letter-spacing:-.02em;margin:0 0 var(--space-2);font-weight:700}.integrations-page__intro{max-width:42rem;margin:0;line-height:1.55}.integrations-page__grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));display:grid}.integration-detail{width:100%;padding-bottom:var(--space-6)}.integration-detail__breadcrumb{margin-bottom:var(--space-4)}.integration-detail__back{font-size:var(--font-size-sm);color:var(--colour-accent);font-weight:600;text-decoration:none}.integration-detail__back:hover{text-decoration:underline}.integration-detail__header{margin-bottom:var(--space-5)}.integration-detail__title-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.integration-detail__title{font-family:var(--font-display);font-size:var(--font-size-2xl);letter-spacing:-.02em;margin:0;font-weight:700}.integration-detail__subtitle{margin:0;line-height:1.55}.integration-detail__sections{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.integration-detail__section{width:100%;padding:var(--space-5);box-sizing:border-box}.integration-detail__section-heading{font-size:var(--font-size-lg);margin:0 0 var(--space-2);font-weight:600}.integration-detail__section-hint{margin:0 0 var(--space-4);line-height:1.55;font-size:var(--font-size-sm)}.integration-detail__status-badge{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.25rem .65rem;font-weight:600}.integration-detail__status-badge--ok{background:color-mix(in srgb, var(--colour-success) 18%, transparent);color:var(--colour-success)}.integration-detail__status-badge--warn{background:color-mix(in srgb, var(--colour-warning,#c47d00) 18%, transparent);color:var(--colour-warning,#c47d00)}.integration-detail__status-badge--neutral{background:var(--colour-surface-muted);color:var(--colour-text-muted)}.entity-sync-card{width:100%;padding:var(--space-5);box-sizing:border-box}.entity-sync-card[id]{scroll-margin-top:var(--space-6)}.entity-sync-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.entity-sync-card__title{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600}.entity-sync-card__hint{font-size:var(--font-size-sm);max-width:42rem;margin:0;line-height:1.55}.entity-sync-card__compare-btn{flex-shrink:0}.entity-sync-card__meta{gap:var(--space-4);font-size:var(--font-size-sm);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.entity-sync-card__coming-soon{margin:0 0 var(--space-4);font-size:var(--font-size-sm);line-height:1.55}.entity-sync-card__error{margin:0 0 var(--space-3);color:var(--colour-error);font-size:var(--font-size-sm)}.entity-sync-card__success{margin:0 0 var(--space-3);color:var(--colour-success);font-size:var(--font-size-sm)}.entity-sync-card__chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.entity-sync-card__chip{align-items:center;gap:var(--space-2);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font:inherit;font-size:var(--font-size-xs);border-radius:999px;padding:.35rem .65rem;line-height:1.2;display:inline-flex}.entity-sync-card__chip--clickable{cursor:pointer}.entity-sync-card__chip--clickable:hover{border-color:var(--colour-primary);background:var(--colour-bg-hover)}.entity-sync-card__chip--active{border-color:var(--colour-primary);background:var(--colour-primary-tint);color:var(--colour-text)}.entity-sync-card__chip--ok.entity-sync-card__chip--active{border-color:color-mix(in srgb, var(--colour-success) 55%, var(--colour-border));background:color-mix(in srgb, var(--colour-success) 14%, var(--colour-bg-surface))}.entity-sync-card__chip--warn.entity-sync-card__chip--active{border-color:color-mix(in srgb, var(--colour-pending) 55%, var(--colour-border));background:color-mix(in srgb, var(--colour-pending) 14%, var(--colour-bg-surface))}.entity-sync-card__chip--info.entity-sync-card__chip--active{border-color:color-mix(in srgb, var(--colour-info) 55%, var(--colour-border));background:color-mix(in srgb, var(--colour-info) 14%, var(--colour-bg-surface))}.entity-sync-card__chip--ok:not(.entity-sync-card__chip--active){border-color:color-mix(in srgb, var(--colour-success) 35%, var(--colour-border))}.entity-sync-card__chip--warn:not(.entity-sync-card__chip--active){border-color:color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border))}.entity-sync-card__chip--info:not(.entity-sync-card__chip--active){border-color:color-mix(in srgb, var(--colour-info) 35%, var(--colour-border))}.entity-sync-card__chip-count{font-weight:700}.entity-sync-card__chip-label{font-weight:500}.entity-sync-card__footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.table-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.table-pagination__size{align-items:center;gap:var(--space-2);display:flex}.table-pagination__size-label{font-size:var(--font-size-sm);white-space:nowrap}.table-pagination__select{min-width:7rem}.table-pagination__nav{align-items:center;gap:var(--space-2);display:flex}.table-pagination__arrow{min-width:2.25rem;padding-left:var(--space-2);padding-right:var(--space-2)}.table-pagination__status{font-size:var(--font-size-sm);white-space:nowrap}.xero-accounting-documents__chips{margin-bottom:var(--space-4)}.xero-accounting-groups__form,.xero-accounting-groups__pl{margin-bottom:var(--space-5)}.xero-accounting-groups__pl-heading{margin:0 0 var(--space-2)}.xero-accounting-groups__pl-hint{margin:0 0 var(--space-4);font-size:var(--font-size-sm);max-width:42rem;line-height:1.55}.xero-accounting-groups__fields{gap:var(--space-4);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.xero-accounting-groups__field{gap:var(--space-2);flex-direction:column;display:flex}.xero-accounting-groups__field input,.xero-accounting-groups__field select{box-sizing:border-box;width:100%}.xero-accounting-groups__form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.xero-accounting-groups__list{gap:var(--space-4);flex-direction:column;display:flex}.xero-accounting-group{padding:var(--space-4)}.xero-accounting-group__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.xero-accounting-group__toggle{align-items:flex-start;gap:var(--space-1);min-width:12rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex}.xero-accounting-group__toggle:hover .xero-accounting-group__name{color:var(--colour-primary)}.xero-accounting-group__name{font-size:var(--font-size-md);font-weight:600}.xero-accounting-group__meta{font-size:var(--font-size-sm)}.xero-accounting-group__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.xero-accounting-group__filters{margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}.xero-accounting-group__table-wrap{margin-top:var(--space-4)}.xero-accounting-group__empty{margin:var(--space-3) 0 0}.xero-pl-quick{padding:var(--space-5);margin-bottom:var(--space-5);border:1px solid color-mix(in srgb, var(--colour-primary) 35%, var(--colour-border));background:color-mix(in srgb, var(--colour-primary) 4%, var(--colour-bg-surface))}.xero-pl-quick__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.xero-pl-quick__title{margin:0 0 var(--space-1)}.xero-pl-quick__stats{font-size:var(--font-size-sm);margin:0}.xero-pl-quick__chips{margin-bottom:var(--space-3)}.xero-pl-quick__hotkey{background:var(--colour-primary-tint);border:1px solid var(--colour-primary);min-width:1.35rem;height:1.35rem;font-size:var(--font-size-xs);border-radius:999px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.xero-pl-quick__hotkey--esc{min-width:auto;height:auto;padding:.15rem .45rem}.xero-pl-quick__hint{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.xero-pl-quick__contact{margin:0 0 var(--space-3)}.xero-pl-quick__detail{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0;display:grid}.xero-pl-quick__detail dt{font-size:var(--font-size-xs);color:var(--colour-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0;font-weight:600}.xero-pl-quick__detail dd{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.xero-pl-quick__reference-note{margin:var(--space-4) 0 0;font-size:var(--font-size-sm);line-height:1.55}.xero-pl-categories__rollup{margin-bottom:var(--space-5)}.xero-pl-categories__toolbar{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-5);flex-direction:column;display:flex}.xero-pl-categories__toolbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.xero-pl-categories__flow-hint{font-size:var(--font-size-sm)}.xero-pl-categories__flow-select-label{margin:0 0 var(--space-3)}.xero-pl-categories__flow-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.xero-pl-flow-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.xero-pl-flow-chip:hover{border-color:color-mix(in srgb, var(--colour-primary) 45%, var(--colour-border));background:var(--colour-bg-hover)}.xero-pl-flow-chip--active{border-color:var(--colour-primary);background:color-mix(in srgb, var(--colour-primary) 12%, var(--colour-bg-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--colour-primary) 25%, transparent)}.xero-pl-flow-chip__key{background:var(--colour-primary-tint);border:1px solid var(--colour-primary);min-width:1.35rem;height:1.35rem;font-size:var(--font-size-xs);border-radius:999px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.xero-pl-flow-chip__key--esc{min-width:auto;height:auto;padding:.15rem .45rem}.xero-pl-flow-chip__label{white-space:nowrap}.xero-pl-categories__bulk-actions{align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.xero-pl-categories__bulk-bills{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.xero-pl-categories__select{min-width:14rem}.xero-pl-categories__add-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.xero-pl-categories__add-field{gap:var(--space-2);flex-direction:column;flex:1;min-width:14rem;max-width:20rem;display:flex}.xero-pl-categories__add-field input{box-sizing:border-box;width:100%}.xero-pl-categories__list-heading{margin:0 0 var(--space-2)}.xero-pl-categories__list-subheading{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.xero-pl-categories__list{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.xero-pl-category{padding:var(--space-4)}.xero-pl-category__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.xero-pl-category__summary{flex:1;min-width:12rem}.xero-pl-category__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.xero-pl-category__view-btn--active{border-color:var(--colour-primary);background:color-mix(in srgb, var(--colour-primary) 10%, var(--colour-bg-surface));color:var(--colour-primary)}.xero-pl-category__name{margin:0 0 var(--space-1);font-size:var(--font-size-md);font-weight:600}.xero-pl-category__meta{font-size:var(--font-size-sm);margin:0}.xero-pl-category__documents{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--colour-border)}.xero-pl-category__documents-heading{margin:0 0 var(--space-3)}.xero-pl-categories__rules{margin-bottom:var(--space-5)}.xero-pl-categories__rules .text-label{margin:0 0 var(--space-3)}.xero-burden__intro{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.xero-burden__intro .text-muted{flex:1;min-width:16rem;margin:0}.xero-burden__readonly-note{margin:0 0 var(--space-4)}.xero-burden__result{padding:var(--space-5);margin-bottom:var(--space-5)}.xero-burden__result-label{margin:0 0 var(--space-2)}.xero-burden__result-value{margin:0 0 var(--space-3);font-size:var(--font-size-xl);font-weight:700}.xero-burden__result-breakdown{gap:var(--space-4);margin-bottom:var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.xero-burden__result-meta{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.xero-burden__warnings{margin:0 0 var(--space-4);color:var(--colour-warn,#b45309);font-size:var(--font-size-sm);padding-left:1.25rem}.xero-burden__example{align-items:flex-end;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.xero-burden__example-field{gap:var(--space-2);flex-direction:column;min-width:8rem;display:flex}.xero-burden__example-field input{max-width:6rem}.xero-burden__example-result{font-size:var(--font-size-sm);margin:0}.xero-burden__grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));display:grid}.xero-burden__panel{padding:var(--space-4)}.xero-burden__panel-title{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:600}.xero-burden__panel-hint{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.xero-burden__fields{gap:var(--space-3);flex-direction:column;display:flex}.xero-burden__field{margin:0}.xero-burden__field-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-xs)}.xero-burden__actions{justify-content:flex-start;display:flex}.integration-sub-tabs{gap:var(--space-2);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--colour-border);flex-wrap:wrap;display:flex}.integration-sub-tabs__btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--colour-text-muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:600;transition:color .15s,background .15s,border-color .15s}.integration-sub-tabs__btn:hover{color:var(--colour-text);background:var(--colour-surface-muted)}.integration-sub-tabs__btn--active{color:var(--colour-text);background:var(--colour-surface-muted);border-color:var(--colour-border)}.integration-sub-tabs__btn:focus-visible{outline:2px solid var(--colour-accent);outline-offset:2px}.integration-sub-tabs__panel{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.contact-sync-diff__warn{margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--colour-pending) 14%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border));color:var(--colour-text);font-size:var(--font-size-sm);line-height:1.5}.contact-sync-diff__bulk{margin-bottom:var(--space-3)}.contact-sync-diff__empty{font-size:var(--font-size-sm);margin:0}.contact-sync-diff__table-wrap{overflow-x:auto}.contact-sync-diff__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.contact-sync-diff__table th,.contact-sync-diff__table td{padding:var(--space-3);border-bottom:1px solid var(--colour-border);vertical-align:top;text-align:left}.contact-sync-diff__table th{color:var(--colour-text-muted);font-weight:600}.contact-sync-diff__row--mismatch{background:color-mix(in srgb, var(--colour-pending) 10%, var(--colour-bg-surface))}.contact-sync-diff__primary{color:var(--colour-text);font-weight:600}.contact-sync-diff__secondary{color:var(--colour-text-muted);font-size:var(--font-size-xs)}.contact-sync-diff__link{font-size:var(--font-size-xs);color:var(--colour-primary)}.contact-sync-diff__status{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--colour-border);border-radius:999px;padding:.15rem .45rem;font-weight:600;display:inline-block}.contact-sync-diff__status--synced{color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 40%, var(--colour-border));background:color-mix(in srgb, var(--colour-success) 12%, var(--colour-bg-surface))}.contact-sync-diff__status--mismatched{color:var(--colour-pending);border-color:color-mix(in srgb, var(--colour-pending) 40%, var(--colour-border));background:color-mix(in srgb, var(--colour-pending) 12%, var(--colour-bg-surface))}.contact-sync-diff__status--suggested_match{color:var(--colour-info);border-color:color-mix(in srgb, var(--colour-info) 40%, var(--colour-border));background:color-mix(in srgb, var(--colour-info) 12%, var(--colour-bg-surface))}.contact-sync-diff__status--app_only,.contact-sync-diff__status--xero_only{color:var(--colour-text-muted);background:var(--colour-bg-hover)}.contact-sync-diff__conflicts{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--colour-text-muted);padding-left:1.1rem;line-height:1.45}.contact-sync-diff__actions{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.contact-sync-diff__pagination{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.aroflo-connection-card__title{margin:0 0 var(--space-4);font-size:var(--font-size-lg);font-weight:600}.aroflo-connection-card__facts{gap:var(--space-3);margin:0 0 var(--space-4);display:grid}.aroflo-connection-card__facts div{gap:var(--space-1);display:grid}.aroflo-connection-card__facts dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-text-muted);font-weight:600}.aroflo-connection-card__facts dd{font-size:var(--font-size-sm);margin:0}.aroflo-connection-card__hint{margin:0 0 var(--space-3);font-size:var(--font-size-sm);line-height:1.55}.aroflo-connection-card__success{margin:0 0 var(--space-3);color:var(--colour-success);font-size:var(--font-size-sm)}.aroflo-connection-card__setup{margin-bottom:var(--space-4)}.aroflo-connection-card__form{gap:var(--space-3);margin-top:var(--space-3);display:grid}.aroflo-connection-card__field{gap:var(--space-1);font-size:var(--font-size-sm);display:grid}.aroflo-connection-card__field span{font-weight:600}.aroflo-connection-card__field input,.aroflo-connection-card__field select{font:inherit;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg);color:var(--colour-text);padding:.45rem .6rem}.aroflo-connection-card__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.aroflo-write-test__row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.aroflo-write-test__divider{margin:var(--space-5) 0;border:0;border-top:1px solid var(--colour-border)}.aroflo-write-test__subtitle{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:600}.aroflo-technician-mapping__intro{margin:0 0 var(--space-4);font-size:var(--font-size-sm);line-height:1.55}.aroflo-technician-mapping__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.aroflo-technician-mapping__item{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);display:grid}.aroflo-technician-mapping__name{font-weight:600}.aroflo-technician-mapping__row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.aroflo-technician-mapping__input{flex:12rem;min-width:10rem;max-width:24rem}.aroflo-technician-mapping__input:disabled{opacity:.6;cursor:not-allowed}.aroflo-technician-mapping__status{font-size:var(--font-size-xs);font-weight:600}.aroflo-technician-mapping__status--ok{color:var(--colour-success)}.aroflo-technician-mapping__status--missing{color:var(--colour-text-muted)}.aroflo-technician-mapping__footer{margin-top:var(--space-4)}.aroflo-api-probe__form{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.aroflo-api-probe__row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.aroflo-api-probe__result{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.aroflo-api-probe__query{font-size:var(--font-size-sm);word-break:break-all;margin:0}.aroflo-api-probe__section-title{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);font-weight:600}.aroflo-api-probe__hits{font-size:var(--font-size-sm);gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.1rem;display:flex}.aroflo-api-probe__hit-keyword{margin-right:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--colour-border);background:var(--colour-bg-surface);font-weight:600;font-size:var(--font-size-xs);padding:.1rem .4rem;display:inline-block}.aroflo-api-probe__hit-path{font-size:var(--font-size-xs);color:var(--colour-text-muted);margin:.15rem 0;display:block}.aroflo-api-probe__hit-snippet{color:var(--colour-text);display:block}.aroflo-api-probe__empty-hits{font-size:var(--font-size-sm);margin:0}.aroflo-api-probe__raw{max-height:28rem;padding:var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface);font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.45;overflow:auto}.aroflo-api-probe__sanitize-note{font-size:var(--font-size-xs);margin:0}@media (width<=640px){.aroflo-api-probe__row{grid-template-columns:1fr}}.invite-member-modal__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.invite-member-modal__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.invite-member-modal__panel{z-index:1;gap:var(--space-4);width:min(100%,28rem);max-height:min(90vh,40rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow-y:auto}.invite-member-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.invite-member-modal__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.invite-member-modal__intro{font-size:var(--font-size-sm);margin:0;line-height:1.55}.invite-member-modal__aroflo-meta{padding:var(--space-3);border-radius:var(--radius-md);background:var(--colour-field-inset);border:1px solid var(--colour-border);font-size:var(--font-size-sm);margin:0;line-height:1.5}.invite-member-modal__aroflo-meta dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-text-muted);margin-bottom:var(--space-1);font-weight:600}.invite-member-modal__aroflo-meta dd{margin:0 0 var(--space-2)}.invite-member-modal__aroflo-meta dd:last-child{margin-bottom:0}.invite-member-modal__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.invite-member-modal__success{color:var(--colour-success);font-size:var(--font-size-sm);margin:0;line-height:1.5}.sync-pull-confirm__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sync-pull-confirm__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.sync-pull-confirm__panel{z-index:1;gap:var(--space-4);width:min(100%,36rem);max-height:min(92vh,40rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.sync-pull-confirm__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-shrink:0;display:flex}.sync-pull-confirm__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.sync-pull-confirm__intro{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.sync-pull-confirm__table-wrap{flex:1;min-height:0;overflow:auto}.sync-pull-confirm__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.sync-pull-confirm__table th,.sync-pull-confirm__table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--colour-border);text-align:left;vertical-align:top}.sync-pull-confirm__table th{color:var(--colour-text-muted);font-weight:600}.sync-pull-confirm__row--change td{background:color-mix(in srgb, var(--colour-pending) 10%, var(--colour-bg-surface))}.sync-pull-confirm__row--reference td{color:var(--colour-text-muted)}.sync-pull-confirm__footnote{font-size:var(--font-size-sm);color:var(--colour-text-muted);margin:0}.sync-pull-confirm__actions{justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.aroflo-link-member__overlay{z-index:1200;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.aroflo-link-member__backdrop{cursor:pointer;background:#00000073;border:none;position:absolute;inset:0}.aroflo-link-member__panel{z-index:1;gap:var(--space-4);width:min(100%,42rem);max-height:min(92vh,44rem);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--colour-border);background:var(--colour-bg-elevated);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.aroflo-link-member__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-shrink:0;display:flex}.aroflo-link-member__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.aroflo-link-member__intro{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--colour-text-muted)}.aroflo-link-member__search{box-sizing:border-box;flex-shrink:0;width:100%}.aroflo-link-member__search::-webkit-search-cancel-button{appearance:none}.aroflo-link-member__search:disabled{opacity:.65;cursor:not-allowed}.aroflo-link-member__list{border:1px solid var(--colour-border);border-radius:var(--radius-md);flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.aroflo-link-member__item{text-align:left;width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--colour-border);background:var(--colour-bg-surface);cursor:pointer;display:block}.aroflo-link-member__item:last-child{border-bottom:none}.aroflo-link-member__item:hover{background:color-mix(in srgb, var(--colour-primary) 8%, var(--colour-bg-surface))}.aroflo-link-member__item--selected{background:color-mix(in srgb, var(--colour-primary) 14%, var(--colour-bg-surface));outline:2px solid color-mix(in srgb, var(--colour-primary) 50%, transparent);outline-offset:-2px}.aroflo-link-member__item-name{color:var(--colour-text);font-weight:600}.aroflo-link-member__item-meta{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--colour-text-muted)}.aroflo-link-member__badge{margin-top:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--colour-pending);background:color-mix(in srgb, var(--colour-pending) 14%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border));display:inline-block}.aroflo-link-member__empty{padding:var(--space-4);text-align:center;color:var(--colour-text-muted);font-size:var(--font-size-sm);margin:0}.aroflo-link-member__warn{padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--colour-text);background:color-mix(in srgb, var(--colour-pending) 14%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border));margin:0}.aroflo-link-member__actions{justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.aroflo-quotes-explore__summary{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.aroflo-quotes-explore__chip{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--colour-border);font-size:var(--font-size-xs);background:var(--colour-bg-surface);padding:.35rem .65rem;display:inline-flex}.aroflo-quotes-explore__chip--ok{border-color:color-mix(in srgb, var(--colour-success) 40%, var(--colour-border));color:var(--colour-success)}.aroflo-quotes-explore__chip--warn{border-color:color-mix(in srgb, var(--colour-pending) 40%, var(--colour-border));color:var(--colour-pending)}.aroflo-quotes-explore__chip--neutral{color:var(--colour-text-muted)}.aroflo-quotes-explore__errors{margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--colour-pending) 14%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border));font-size:var(--font-size-sm)}.aroflo-quotes-explore__errors ul{margin:var(--space-2) 0 0;padding-left:1.25rem}.aroflo-quotes-explore__section-title{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-sm);font-weight:600}.aroflo-quotes-explore__list{gap:var(--space-2);flex-direction:column;display:flex}.aroflo-quotes-explore__item{border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-bg-surface)}.aroflo-quotes-explore__item summary{cursor:pointer;padding:var(--space-3);align-items:center;gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.aroflo-quotes-explore__item summary::-webkit-details-marker{display:none}.aroflo-quotes-explore__item-id{font-weight:600;font-size:var(--font-size-sm)}.aroflo-quotes-explore__job-badge{font-size:var(--font-size-xs);border:1px solid var(--colour-border);border-radius:999px;padding:.15rem .45rem;font-weight:600}.aroflo-quotes-explore__job-badge--known{color:var(--colour-success);border-color:color-mix(in srgb, var(--colour-success) 40%, var(--colour-border))}.aroflo-quotes-explore__job-badge--unknown{color:var(--colour-pending);border-color:color-mix(in srgb, var(--colour-pending) 40%, var(--colour-border))}.aroflo-quotes-explore__job-badge--none{color:var(--colour-text-muted)}.aroflo-quotes-explore__raw{padding:var(--space-3);border-top:1px solid var(--colour-border);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;background:var(--colour-field-inset);max-height:24rem;margin:0;line-height:1.45;overflow:auto}.aroflo-quotes-explore__empty{font-size:var(--font-size-sm);margin:0}.aroflo-sync-result{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.5}.aroflo-sync-result--ok{background:color-mix(in srgb, var(--colour-success) 12%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-success) 35%, var(--colour-border))}.aroflo-sync-result--warn{background:color-mix(in srgb, var(--colour-pending) 12%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-pending) 35%, var(--colour-border))}.aroflo-sync-result--error{background:color-mix(in srgb, var(--colour-error) 12%, var(--colour-bg-surface));border:1px solid color-mix(in srgb, var(--colour-error) 35%, var(--colour-border));color:var(--colour-error)}.aroflo-sync-result__line{margin:0 0 var(--space-2)}.aroflo-sync-result__line:last-child{margin-bottom:0}.aroflo-sync-result__error-list{margin:var(--space-2) 0 0;padding-left:1.25rem}.aroflo-sync-result__progress{margin-top:var(--space-3)}.aroflo-sync-result__progress-track{background:var(--colour-border);border-radius:999px;height:6px;overflow:hidden}.aroflo-sync-result__progress-fill{background:var(--colour-primary);height:100%;transition:width .2s}.aroflo-sync-result__progress-label{margin:var(--space-2) 0 0;font-size:var(--font-size-sm)}.sync-date-range{width:100%;padding:var(--space-5);box-sizing:border-box}.sync-date-range__heading{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600}.sync-date-range__hint{margin:0 0 var(--space-4);font-size:var(--font-size-sm);max-width:42rem;line-height:1.55}.sync-date-range__presets{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sync-date-range__preset{border-radius:var(--radius-md);border:1px solid var(--colour-border);background:var(--colour-bg-surface);color:var(--colour-text);font:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:.4rem .75rem}.sync-date-range__preset:hover:not(:disabled){border-color:var(--colour-primary);background:var(--colour-bg-hover)}.sync-date-range__preset--active{border-color:var(--colour-primary);background:var(--colour-primary-tint)}.sync-date-range__preset:disabled{opacity:.6;cursor:not-allowed}.sync-date-range__custom{gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.sync-date-range__field{gap:var(--space-2);flex-direction:column;min-width:10rem;display:flex}.sync-date-range__summary{font-size:var(--font-size-sm);margin:0}.sync-date-range__summary--invalid{color:var(--colour-error)}.sync-date-range__day-count{font-weight:600}.range-slider{cursor:pointer;appearance:none;background:0 0;margin:0;padding:0}.range-slider:focus{outline:none}.range-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--colour-primary-tint), var(--shadow-sm)}.range-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--colour-primary-tint), var(--shadow-sm)}.range-slider::-webkit-slider-runnable-track{border:1px solid var(--colour-border);background:linear-gradient(to right, var(--colour-primary) 0%, var(--colour-primary) var(--slider-fill-percent,0%), var(--colour-field-inset) var(--slider-fill-percent,0%), var(--colour-field-inset) 100%);border-radius:4px;height:8px}.range-slider::-moz-range-progress{background:var(--colour-primary);border-radius:4px 0 0 4px;height:8px}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--colour-primary);border:2px solid var(--colour-bg-surface);width:22px;height:22px;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);border-radius:50%;margin-top:-8px}.range-slider:hover::-webkit-slider-thumb{box-shadow:var(--shadow-md);transform:scale(1.08)}.range-slider:active::-webkit-slider-thumb{transform:scale(1.12)}.range-slider::-moz-range-track{background:var(--colour-field-inset);border:1px solid var(--colour-border);border-radius:4px;height:8px}.range-slider::-moz-range-thumb{border:2px solid var(--colour-bg-surface);background:var(--colour-primary);width:22px;height:22px;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);border-radius:50%}.range-slider:hover::-moz-range-thumb{box-shadow:var(--shadow-md);transform:scale(1.08)}.range-slider:active::-moz-range-thumb{transform:scale(1.12)}:root{--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.75rem;--font-size-5xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition:.15s ease;--transition-slow:.3s ease;--sidebar-width:220px;--topbar-height:84px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-display:var(--font-sans)}[data-theme=light]{--colour-bg:#f2f5f9;--colour-bg-surface:#fff;--colour-bg-elevated:#fff;--colour-bg-hover:#e2e8f0;--colour-field-inset:#eaf0f6;--colour-border:#d4dde8;--colour-border-emphasis:#bcc8d8;--colour-primary:#f97316;--colour-primary-hover:#ea580c;--colour-on-primary:#0f172a;--colour-primary-highlight:#fed7aa;--colour-primary-tint:#f9731624;--colour-text:#111827;--colour-text-muted:#5b6b7f;--colour-text-label:#4b5f77;--colour-success:#16a34a;--colour-error:#dc2626;--colour-info:#1d4ed8;--colour-invoice:var(--colour-primary);--colour-pending:#7c2d12;--colour-alert-surface:#fee2e2;--colour-alert-surface-hover:#fecaca;--colour-alert-border:#f87171;--colour-alert-text:#991b1b;--timesheet-travel-bg:#dbeafe;--timesheet-travel-accent:#1d4ed8;--timesheet-travel-text:#1d4ed8;--timesheet-onsite-bg:#dcfce7;--timesheet-onsite-accent:#16a34a;--timesheet-onsite-text:#16a34a;--timesheet-break-bg:#ffedd5;--timesheet-break-accent:#ea580c;--timesheet-break-text:#c2410c;--timesheet-nonproductive-bg:#fed7aa;--timesheet-nonproductive-accent:#9a3412;--timesheet-nonproductive-text:#9a3412;--schedule-task-bg:#dcfce7;--schedule-task-accent:#16a34a;--schedule-task-text:#16a34a;--schedule-ad-hoc-bg:color-mix(in srgb, #9333ea 12.5%, var(--colour-bg-surface));--schedule-ad-hoc-accent:#9333ea;--schedule-ad-hoc-text:#9333ea;--schedule-break-bg:#ffedd5;--schedule-break-accent:#ea580c;--schedule-break-text:#c2410c;--schedule-travel-bg:#dbeafe;--schedule-travel-accent:#1d4ed8;--schedule-travel-text:#1d4ed8;--schedule-leave-bg:#ede9fe;--schedule-leave-accent:#7c3aed;--schedule-leave-text:#6d28d9;--schedule-meeting-bg:#e0f2fe;--schedule-meeting-accent:#0284c7;--schedule-meeting-text:#0369a1;--schedule-other-bg:#e2e8f0;--schedule-other-accent:#64748b;--schedule-other-text:#64748b;--schedule-cat-0-bg:#dbeafe;--schedule-cat-0-accent:#2563eb;--schedule-cat-0-text:#1d4ed8;--schedule-cat-1-bg:#fce7f3;--schedule-cat-1-accent:#db2777;--schedule-cat-1-text:#be185d;--schedule-cat-2-bg:#fef3c7;--schedule-cat-2-accent:#d97706;--schedule-cat-2-text:#b45309;--schedule-cat-3-bg:#ede9fe;--schedule-cat-3-accent:#7c3aed;--schedule-cat-3-text:#6d28d9;--schedule-cat-4-bg:#cffafe;--schedule-cat-4-accent:#0891b2;--schedule-cat-4-text:#0e7490;--schedule-cat-5-bg:#fee2e2;--schedule-cat-5-accent:#dc2626;--schedule-cat-5-text:#b91c1c;--schedule-cat-6-bg:#ecfccb;--schedule-cat-6-accent:#65a30d;--schedule-cat-6-text:#4d7c0f;--schedule-cat-7-bg:#fae8ff;--schedule-cat-7-accent:#c026d3;--schedule-cat-7-text:#a21caf;--shadow-sm:0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 8px 24px #0f172a1a;--shadow-glow:0 0 24px #f9731626}[data-theme=dark]{--colour-bg:#0c1218;--colour-bg-surface:#182230;--colour-bg-elevated:#1b2736;--colour-bg-hover:#273447;--colour-field-inset:#121b27;--colour-border:#3a4a60;--colour-border-emphasis:#4a5d75;--colour-primary:#fb9f50;--colour-primary-hover:#fdba74;--colour-on-primary:#0f172a;--colour-primary-highlight:#5f2a14;--colour-primary-tint:#fb9f502e;--colour-text:#f1f5f9;--colour-text-muted:#a7b4c6;--colour-text-label:#c3cddd;--colour-success:#4ade80;--colour-error:#f87171;--colour-info:#60a5fa;--colour-invoice:#fb923c;--colour-pending:#fdba74;--colour-alert-surface:#4a1a24;--colour-alert-surface-hover:#5c2230;--colour-alert-border:#be123c;--colour-alert-text:#fecaca;--timesheet-travel-bg:#1e3a5f;--timesheet-travel-accent:#93c5fd;--timesheet-travel-text:#93c5fd;--timesheet-onsite-bg:#14532d;--timesheet-onsite-accent:#4ade80;--timesheet-onsite-text:#4ade80;--timesheet-break-bg:#7c2d12;--timesheet-break-accent:#fb923c;--timesheet-break-text:#fdba74;--timesheet-nonproductive-bg:#78350f;--timesheet-nonproductive-accent:#fdba74;--timesheet-nonproductive-text:#fdba74;--schedule-task-bg:#14532d;--schedule-task-accent:#4ade80;--schedule-task-text:#4ade80;--schedule-ad-hoc-bg:color-mix(in srgb, #a78bfa 12.5%, var(--colour-bg-surface));--schedule-ad-hoc-accent:#a78bfa;--schedule-ad-hoc-text:#a78bfa;--schedule-break-bg:#7c2d12;--schedule-break-accent:#fb923c;--schedule-break-text:#fdba74;--schedule-travel-bg:#1e3a5f;--schedule-travel-accent:#93c5fd;--schedule-travel-text:#93c5fd;--schedule-leave-bg:#3b0764;--schedule-leave-accent:#c4b5fd;--schedule-leave-text:#c4b5fd;--schedule-meeting-bg:#0c4a6e;--schedule-meeting-accent:#38bdf8;--schedule-meeting-text:#38bdf8;--schedule-other-bg:#334155;--schedule-other-accent:#94a3b8;--schedule-other-text:#94a3b8;--schedule-cat-0-bg:#1e3a5f;--schedule-cat-0-accent:#60a5fa;--schedule-cat-0-text:#93c5fd;--schedule-cat-1-bg:#500724;--schedule-cat-1-accent:#f472b6;--schedule-cat-1-text:#fbcfe8;--schedule-cat-2-bg:#78350f;--schedule-cat-2-accent:#fbbf24;--schedule-cat-2-text:#fde68a;--schedule-cat-3-bg:#3b0764;--schedule-cat-3-accent:#c4b5fd;--schedule-cat-3-text:#ddd6fe;--schedule-cat-4-bg:#164e63;--schedule-cat-4-accent:#22d3ee;--schedule-cat-4-text:#a5f3fc;--schedule-cat-5-bg:#7f1d1d;--schedule-cat-5-accent:#f87171;--schedule-cat-5-text:#fecaca;--schedule-cat-6-bg:#365314;--schedule-cat-6-accent:#a3e635;--schedule-cat-6-text:#d9f99d;--schedule-cat-7-bg:#581c87;--schedule-cat-7-accent:#e879f9;--schedule-cat-7-text:#f5d0fe;--shadow-sm:0 1px 4px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 8px 32px #0000008c;--shadow-glow:0 0 24px #fb923c1f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-sm);background-color:var(--colour-bg);color:var(--colour-text);min-height:100vh;line-height:1.6}a{color:var(--colour-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--colour-primary-hover)}.card{background:var(--colour-bg-surface);border:1px solid var(--colour-border);border-radius:var(--radius-lg);padding:var(--space-5)}.card-elevated{background:var(--colour-bg-elevated);border:1px solid var(--colour-border-emphasis);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-xs);letter-spacing:.04em;cursor:pointer;transition:background var(--transition), color var(--transition), opacity var(--transition);white-space:nowrap;border:none;font-weight:600;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--colour-primary);color:var(--colour-on-primary)}.btn-primary:hover:not(:disabled){background:var(--colour-primary-hover)}.btn-ghost{color:var(--colour-text-muted);border:1px solid var(--colour-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--colour-bg-hover);color:var(--colour-text);border-color:var(--colour-border-emphasis)}.btn-danger{color:var(--colour-error);border:1px solid var(--colour-error);background:0 0}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--colour-error) 12%, transparent)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-xs);color:var(--colour-text-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--colour-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);background:var(--colour-field-inset);color:var(--colour-text);transition:border-color var(--transition), background var(--transition);width:100%}.form-input:focus{border-color:var(--colour-primary);background:var(--colour-bg-hover);outline:none}.form-input::placeholder{color:var(--colour-text-label)}.error-text{font-size:var(--font-size-xs);color:var(--colour-error)}.text-muted{color:var(--colour-text-muted)}.text-title{color:var(--colour-text);font-size:var(--font-size-lg);font-weight:600}.text-label{color:var(--colour-text-label);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.text-display{font-family:var(--font-display)}.text-amber{color:var(--colour-primary)}.tag{padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;align-items:center;font-weight:700;display:inline-flex}.tag--fulfilled{background:color-mix(in srgb, var(--colour-success) 14%, transparent);color:var(--colour-success);border:1px solid color-mix(in srgb, var(--colour-success) 28%, transparent)}.tag--pending{background:color-mix(in srgb, var(--colour-pending) 14%, transparent);color:var(--colour-pending);border:1px solid color-mix(in srgb, var(--colour-pending) 28%, transparent)}.tag--rejected{background:color-mix(in srgb, var(--colour-error) 14%, transparent);color:var(--colour-error);border:1px solid color-mix(in srgb, var(--colour-error) 28%, transparent)}.tag--new{background:color-mix(in srgb, var(--colour-info) 14%, transparent);color:var(--colour-info);border:1px solid color-mix(in srgb, var(--colour-info) 28%, transparent)}.tag--in-progress,.tag--invoice{background:var(--colour-primary-tint);color:var(--colour-primary);border:1px solid color-mix(in srgb, var(--colour-primary) 28%, transparent)}.tag--completed{background:color-mix(in srgb, var(--colour-success) 14%, transparent);color:var(--colour-success);border:1px solid color-mix(in srgb, var(--colour-success) 28%, transparent)}.tag--lost{background:color-mix(in srgb, var(--colour-error) 14%, transparent);color:var(--colour-error);border:1px solid color-mix(in srgb, var(--colour-error) 28%, transparent)}.tag--scheduled{background:color-mix(in srgb, var(--colour-info) 14%, transparent);color:var(--colour-info);border:1px solid color-mix(in srgb, var(--colour-info) 28%, transparent)}.tag--quoted{color:#ec4899;background:#ec489924;border:1px solid #ec489947}.tag--acknowledged{color:#818cf8;background:#818cf824;border:1px solid #818cf847}.tag--sent{background:color-mix(in srgb, var(--colour-info) 14%, transparent);color:var(--colour-info);border:1px solid color-mix(in srgb, var(--colour-info) 28%, transparent)}.tag--draft{background:color-mix(in srgb, var(--colour-text-muted) 14%, transparent);color:var(--colour-text-muted);border:1px solid color-mix(in srgb, var(--colour-text-muted) 28%, transparent)}.tag--cancelled{background:color-mix(in srgb, var(--colour-error) 14%, transparent);color:var(--colour-error);border:1px solid color-mix(in srgb, var(--colour-error) 28%, transparent)}.tag--archived{background:color-mix(in srgb, var(--colour-text-muted) 14%, transparent);color:var(--colour-text-muted);border:1px solid color-mix(in srgb, var(--colour-text-muted) 28%, transparent)}.tag--awaiting-payment{background:color-mix(in srgb, var(--colour-pending) 14%, transparent);color:var(--colour-pending);border:1px solid color-mix(in srgb, var(--colour-pending) 28%, transparent)}.tag--paid{background:color-mix(in srgb, var(--colour-success) 14%, transparent);color:var(--colour-success);border:1px solid color-mix(in srgb, var(--colour-success) 28%, transparent)}.tag--overdue{background:color-mix(in srgb, var(--colour-error) 14%, transparent);color:var(--colour-error);border:1px solid color-mix(in srgb, var(--colour-error) 28%, transparent)}.tag--quote{color:#ec4899;background:#ec489924;border:1px solid #ec489947}.view-toggle{background:var(--colour-bg-elevated);border:1px solid var(--colour-border);border-radius:var(--radius-lg);align-items:center;gap:2px;padding:3px;display:inline-flex}.view-toggle__btn{padding:var(--space-1-5) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;color:var(--colour-text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;font-weight:700}.view-toggle__btn--active{background:var(--colour-primary);color:var(--colour-on-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--colour-border-emphasis);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--colour-text-label)}
