.btn{vertical-align:middle;justify-content:center;align-items:center;gap:var(--space-8);height:var(--control-height);border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--weight-control);white-space:nowrap;border:1px solid #0000;padding:0 20px;transition:background-color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:is(a){text-decoration:none}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary{background:var(--color-primary-solid);color:#fff;--spinner-ink:currentColor;--spinner-track:#ffffff57}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled){background:var(--color-primary-solid-hover)}}.btn--primary:active:not(:disabled){background:var(--color-primary-solid-active)}.btn--quiet{gap:var(--space-6);padding:0 var(--space-12);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);-webkit-user-select:none;user-select:none;background:0 0;transition:color .15s,background-color .15s}@media (hover:hover) and (pointer:fine){.btn--quiet:hover:not(:disabled){color:var(--color-text);background:var(--color-hover)}}.btn--quiet[aria-expanded=true]{color:var(--color-text);background:var(--color-hover)}.btn--secondary{color:var(--color-primary-text);border-color:var(--color-border-control);box-shadow:var(--shadow-xs-cast);background:0 0}@media (hover:hover) and (pointer:fine){.btn--secondary:hover:not(:disabled){background:var(--color-primary-tint-subtle)}}.btn--secondary:active:not(:disabled){background:var(--color-primary-tint);box-shadow:none}.btn--pressed.btn--primary{background:var(--color-primary-solid-active)}.btn--pressed.btn--secondary{background:var(--color-primary-tint);box-shadow:none}.btn--destructive.btn--primary{background:var(--color-error-solid);--spinner-ink:currentColor;--spinner-track:#ffffff57}@media (hover:hover) and (pointer:fine){.btn--destructive.btn--primary:hover:not(:disabled){background:var(--color-error-solid-hover)}}.btn--destructive.btn--primary:active:not(:disabled){background:var(--color-error-solid-active)}.btn--destructive.btn--secondary{color:var(--color-error-text);border-color:var(--color-error)}@media (hover:hover) and (pointer:fine){.btn--destructive.btn--secondary:hover:not(:disabled){background:var(--color-error-tint)}}.btn--destructive.btn--secondary:active:not(:disabled){background:var(--color-error-tint-border);box-shadow:none}.btn--sm{height:var(--control-height-sm);padding:0 14px;font-size:.85rem}.btn--lg{height:var(--control-height-lg);padding:0 24px}.btn--full-width{width:100%}.btn:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);box-shadow:none;cursor:not-allowed}.error-boundary{min-height:100vh;padding:var(--space-24);justify-content:center;align-items:center;display:flex}.error-boundary__card{text-align:center;max-width:480px}.error-boundary__title{font-size:var(--text-2xl);font-weight:var(--weight-title);margin-bottom:var(--space-8)}.error-boundary__message{color:var(--color-text-secondary);font-size:var(--text-md);margin-bottom:var(--space-24);line-height:1.5}.error-boundary__detail{background:var(--color-error-tint);border:1px solid var(--color-error-tint-border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-16);font-size:var(--text-sm);color:var(--color-error-text);margin-bottom:var(--space-24);text-align:left;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono)}.error-boundary__actions{justify-content:center;gap:var(--space-8);display:flex}.offline-banner{top:var(--space-16);z-index:2500;align-items:center;gap:var(--space-8);max-width:min(560px, 100vw - 2 * var(--space-16));padding:var(--space-8) var(--space-16);background:var(--color-surface);border:1px solid var(--color-error-tint-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-error-text);display:flex;position:fixed;left:50%;transform:translate(-50%)}.offline-banner__icon{flex-shrink:0}.auth-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-only__loading{min-height:240px;padding:var(--space-48) 0;justify-content:center;align-items:center;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;flex-shrink:0;min-height:100dvh;display:flex;position:fixed;top:0;left:0}.sidebar__logo{padding:var(--space-24) var(--space-24) var(--space-32);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.sidebar__logo:hover{text-decoration:none}}.sidebar__logo:focus{outline:none}.sidebar__logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar__wordmark{width:auto;max-width:100%;height:50px}.sidebar__nav{gap:var(--space-4);padding:0 var(--space-8);flex-direction:column;display:flex}.sidebar__link{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-md);font-weight:var(--weight-control);-webkit-user-select:none;user-select:none;text-decoration:none;transition:background-color .15s,color .15s;display:flex}@media (hover:hover) and (pointer:fine){.sidebar__link:hover{color:var(--color-text);text-decoration:none}}.sidebar__link:focus{outline:none}.sidebar__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar__link--active{background-color:var(--color-bg);color:var(--color-text)}.sidebar__link--active>svg{color:var(--color-primary-text)}@media (hover:hover) and (pointer:fine){.sidebar__link--active:hover{background-image:linear-gradient(var(--color-hover), var(--color-hover))}}.sidebar-backdrop{background:var(--color-backdrop);z-index:99;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.sidebar-backdrop--open{opacity:1;visibility:visible;pointer-events:auto}@media (width<=900px){.sidebar{transition:transform .25s;transform:translate(-100%)}.sidebar--open{transform:translate(0)}}@media (width>=901px){.sidebar-backdrop{display:none}}.menu{vertical-align:middle;display:inline-flex;position:relative}.menu__panel{min-width:200px;max-width:min(320px, 100vw - var(--space-32));padding:var(--space-4)}.menu__item{align-items:center;gap:var(--space-8);width:100%;min-height:28px;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;line-height:1.2;text-decoration:none;display:flex}@media (pointer:coarse){.menu__item{min-height:44px;font-size:var(--text-md)}}@media (hover:hover) and (pointer:fine){.menu__item:hover{background:var(--color-hover);text-decoration:none}}.menu__item:focus{outline:none}.menu__item:focus-visible{background:var(--color-hover);box-shadow:inset 0 0 0 2px var(--color-primary)}.menu__item--danger{color:var(--color-error-text)}.menu__item--disabled{color:var(--color-text-disabled);cursor:not-allowed}@media (hover:hover) and (pointer:fine){.menu__item--disabled:hover{background:0 0}}.menu__icon{flex-shrink:0;display:inline-flex}.menu__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.modal-overlay{background:var(--color-backdrop);z-index:1000;padding:var(--space-24);justify-content:center;align-items:center;line-height:1.6;animation:.18s ease-out modal-scrim-in;display:flex;position:fixed;inset:0}@media (width<=480px){.modal-overlay{align-items:flex-end;padding:0}}.modal-overlay--viewer{background:var(--color-viewer-stage);padding:var(--space-24);align-items:stretch}@media (width<=480px){.modal-overlay--viewer{padding:var(--space-16);align-items:stretch}}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:480px;max-height:80vh;animation:.18s ease-out modal-dialog-in;display:flex;overflow:hidden}@media (width<=480px){.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:none;max-height:92dvh;animation:.22s cubic-bezier(.2,0,0,1) modal-sheet-in}}.modal--compact{max-width:400px}.modal--wide{max-width:800px}.modal--canvas{max-width:960px}.modal--viewer{box-shadow:none;width:100%;max-width:none;height:100%;max-height:none;color:var(--color-text-on-solid);background:0 0;border-radius:0}@media (width<=480px){.modal--viewer{border-radius:0;max-height:none}}.modal--viewer .modal__header{padding:0 0 var(--space-8);flex-shrink:0}.modal--viewer .modal__header h2{font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-text-on-solid)}.modal--viewer .modal__close{color:var(--color-text-on-solid)}.modal:focus{outline:none}.modal__header{padding:var(--space-24) var(--space-24) var(--space-16);justify-content:space-between;align-items:center;display:flex}.modal__header h2{font-size:var(--text-xl);font-weight:var(--weight-title)}.modal__heading{align-items:center;gap:var(--space-16);min-width:0;display:flex}.modal__icon{flex-shrink:0;display:inline-flex}.modal__heading-text{min-width:0}.modal__heading-text h2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modal__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.modal__header--centred{gap:var(--space-16);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.modal__header--centred .modal__header-actions{justify-self:end}.modal__header-centre{align-items:center;gap:var(--space-8);display:flex}.modal__header-actions{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.modal__close{font-size:var(--text-2xl);color:var(--color-text-secondary);padding:var(--space-4);border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}@media (pointer:coarse){.modal__close{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}}@media (hover:hover) and (pointer:fine){.modal__close:hover{color:var(--color-text)}}.modal__close:focus{outline:none}.modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal__body{padding:0 var(--space-24) var(--space-24);overscroll-behavior:contain;flex:0 auto;overflow-y:auto}@supports (animation-timeline:scroll()){.modal__body{background:radial-gradient(farthest-side at 50% 0, color-mix(in srgb, var(--color-keyline) calc(var(--keyline-top) * 100%), transparent), transparent) top/100% 7px no-repeat, radial-gradient(farthest-side at 50% 100%, color-mix(in srgb, var(--color-keyline) calc(var(--keyline-bottom) * 100%), transparent), transparent) bottom/100% 7px no-repeat;animation:linear both keyline-top,linear both keyline-bottom;animation-timeline:scroll(self),scroll(self);animation-range:0 20px,calc(100% - 20px) 100%}}@supports not (animation-timeline:scroll()){.modal__body{background:linear-gradient(var(--color-surface) 30%, transparent) top/100% 20px no-repeat local, linear-gradient(transparent, var(--color-surface) 70%) bottom/100% 20px no-repeat local, radial-gradient(farthest-side at 50% 0, var(--color-keyline), transparent) top/100% 7px no-repeat, radial-gradient(farthest-side at 50% 100%, var(--color-keyline), transparent) bottom/100% 7px no-repeat}}.modal__description{font-size:var(--text-md);color:var(--color-text-secondary);margin-bottom:var(--space-16)}.modal__footer{padding:var(--space-16) var(--space-24) var(--space-24);justify-content:flex-end;align-items:center;gap:var(--space-8);display:flex}.modal__footer--split{justify-content:space-between}.modal__footer-actions{align-items:center;gap:var(--space-8);display:flex}@media (width<=480px){.modal__footer .btn,.modal__footer-actions{flex:1 1 0}}@keyframes modal-scrim-in{0%{background-color:#0000}}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(var(--space-8)) scale(.98)}}@keyframes modal-sheet-in{0%{transform:translateY(var(--space-32))}}.help-modal{max-height:88vh}.help-modal__masthead{padding:var(--space-24) var(--space-32);background:var(--color-primary-tint-faint);border-bottom:1px solid var(--color-border);position:relative}.help-modal__eyebrow{margin:0 0 var(--space-4);font-size:var(--text-2xs);font-weight:var(--weight-title);letter-spacing:.09em;text-transform:uppercase;color:var(--color-primary-text)}.help-modal h2{font-size:var(--text-2xl);font-weight:var(--weight-title);letter-spacing:-.01em;color:var(--color-text);margin:0}.help-modal__title{align-items:center;gap:var(--space-12);display:flex}.help-modal__title-icon{color:var(--color-primary-text);flex-shrink:0}.help-modal__intro{margin:var(--space-8) 0 0;padding-right:var(--space-32);max-width:56ch;font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.6}.help-modal__close{top:var(--space-16);right:var(--space-16);font-size:var(--text-2xl);padding:var(--space-4);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute}@media (hover:hover) and (pointer:fine){.help-modal__close:hover{color:var(--color-text)}}.help-modal__body:focus{outline:none}.help-modal__body:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.help-modal__body{padding:var(--space-4) var(--space-32) var(--space-24)}.help-modal__loading{padding:var(--space-48) 0;justify-content:center;display:flex}.help-modal__items{margin:0}.help-modal__row{grid-template-columns:var(--label-column) 1fr;gap:var(--space-32);padding:var(--space-24) 0;align-items:start;display:grid}.help-modal__term{font-size:var(--text-md);font-weight:var(--weight-title);color:var(--color-text);align-items:center;gap:var(--space-8);min-height:28px;margin:0;display:flex}.help-modal__icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--affordance-fill,var(--color-track));color:var(--color-text-secondary);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.help-modal__desc{font-size:var(--text-md);color:var(--color-text-secondary);max-width:62ch;margin:0;line-height:1.7}@media (width<=600px){.help-modal__masthead{padding:var(--space-24)}.help-modal__body{padding:var(--space-8) var(--space-24) var(--space-32)}.help-modal__row{gap:var(--space-8);padding:var(--space-16) 0;grid-template-columns:1fr}}@media (width<=480px){.help-modal{height:92dvh;max-height:92dvh}.help-modal__body{flex-direction:column;display:flex}.help-modal__loading{flex:1;align-items:center;padding:0}}.trial-pill{color:var(--color-primary-text);padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);font-weight:var(--weight-control);white-space:nowrap;background:0 0;border:none;align-items:center;line-height:normal;text-decoration:none;transition:background-color .15s;display:flex}@media (hover:hover) and (pointer:fine){.trial-pill:hover{background:var(--color-hover);text-decoration:none}}.trial-pill:focus{outline:none}.trial-pill:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.trial-pill--urgent{color:var(--color-error-text)}.app-layout{min-height:100dvh;display:flex}.app-layout__main{height:100dvh;margin-left:var(--sidebar-width);background:var(--color-bg);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-layout__topbar{height:var(--topbar-height);justify-content:flex-end;align-items:center;gap:var(--space-4);padding:0 calc(var(--space-24) + var(--scrollbar-width,0px)) 0 var(--space-24);z-index:5;display:flex;position:absolute;top:0;left:0;right:0}@media (width<=900px){.app-layout__topbar{background:var(--color-bg)}}.app-layout__controls{align-items:center;gap:var(--space-4);display:flex}.app-layout__hamburger{margin-right:auto;display:none}.app-layout__settings-chevron{transition:transform .2s}.app-layout__settings-chevron--open{transform:rotate(180deg)}.app-layout__content{overscroll-behavior:auto;scrollbar-gutter:stable;padding:0 var(--space-24) var(--space-32);scroll-padding-top:var(--topbar-height);flex:1;position:relative;overflow-y:auto}.app-layout__content>:first-child{margin-top:var(--topbar-height)}@media (width<=900px){.app-layout__main{border-top-left-radius:0;margin-left:0}.app-layout__hamburger{display:inline-flex}.app-layout__help-label{display:none}}.auth-page{min-height:100vh;padding:var(--space-24);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:440px}.auth-card__icon{width:56px;height:56px;margin-bottom:var(--space-16)}.auth-card__header{text-align:center;margin-bottom:var(--space-32)}.auth-card__header h1{font-size:var(--text-2xl);font-weight:var(--weight-title);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4)}.auth-card__header p{font-size:var(--text-md);color:var(--color-text-secondary)}.auth-card__footer{text-align:center;margin-top:var(--space-24);font-size:var(--text-md);color:var(--color-text-secondary)}.auth-card__footer a{font-weight:var(--weight-control)}.auth-card__status{padding-block:var(--space-16);justify-content:center;display:flex}.auth-card__note{margin-top:var(--space-16);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.field{gap:var(--space-6);min-width:0;font-size:var(--text-md);flex-direction:column;display:flex}.field__label{font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-text)}.field__optional{font-weight:var(--weight-body);color:var(--color-text-secondary)}.field__control{width:var(--field-w,100%);position:relative}.field__control:focus-within .field__input,.field__control:focus-within .field__textarea{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs)}.field__control:focus-within .field__input--error,.field__control:focus-within .field__textarea--error{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__control--icon .field__input{padding-left:var(--control-lane-icon)}.field__control--prefix .field__input{padding-left:calc(var(--field-prefix-ch,1) * 1ch + var(--space-16));font-variant-numeric:tabular-nums}.field__control--suffix .field__input{padding-right:calc(var(--field-suffix-ch,1) * 1ch + var(--space-16));font-variant-numeric:tabular-nums}.field__control .field-help{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field__control--help .field__input{padding-right:var(--control-lane-action)}@media (pointer:coarse){.field__control--help .field__input{padding-right:var(--control-lane-action-touch)}}.field__icon{color:var(--color-text-secondary);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.field__static{min-height:var(--control-height);font-size:var(--text-md);color:var(--color-text-secondary);align-items:center;display:flex}.field__prefix,.field__suffix{color:var(--color-text-secondary);font-size:var(--text-md);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}@media (pointer:coarse){.field__prefix,.field__suffix{font-size:var(--text-lg)}}.field__suffix{left:auto;right:10px}.field__input{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color .1s linear,box-shadow .1s linear}@media (hover:hover) and (pointer:fine){.field__input:hover:not(:disabled):not([aria-disabled=true]):not(:focus){border-color:var(--color-border-control-hover)}}.field__input{color:var(--color-text);outline:none}.field__input::placeholder{color:var(--color-text-secondary)}.field__input:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__input:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.field__input{width:100%;height:var(--control-height);padding:0 var(--control-inset);font-family:inherit;font-size:var(--text-md)}@media (pointer:coarse){.field__input{font-size:var(--text-lg)}}.field__input--code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-lg);letter-spacing:.35em;text-align:center}.field__input--sm{height:var(--control-height-sm);font-size:var(--text-sm)}@media (pointer:coarse){.field__input--sm{font-size:var(--text-lg)}}.field__input--error{border-color:var(--color-error)}.field__input--error:focus{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error), var(--shadow-xs)}.field__textarea{background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color .1s linear,box-shadow .1s linear}@media (hover:hover) and (pointer:fine){.field__textarea:hover:not(:disabled):not([aria-disabled=true]):not(:focus){border-color:var(--color-border-control-hover)}}.field__textarea{color:var(--color-text);outline:none}.field__textarea::placeholder{color:var(--color-text-secondary)}.field__textarea:focus{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary), var(--shadow-xs);outline:none}.field__textarea:disabled{background:var(--color-surface-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.field__textarea{width:var(--field-w,100%);min-height:var(--textarea-min-height);padding:var(--space-8) var(--control-inset);font-family:inherit;font-size:var(--text-md);resize:vertical;line-height:1.5}@media (pointer:coarse){.field__textarea{font-size:var(--text-lg)}}.field__hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.field__error,.field__warning{align-items:flex-start;gap:var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-body);color:var(--color-error-text);display:flex}.field__error svg,.field__warning svg{margin-top:var(--space-1);flex:none}.field__warning{color:var(--color-warning-text)}.field:has(.choice-card,.radio-card)>:is(.field__hint,.field__error,.field__warning){margin-top:var(--space-6)}.field>:is(.segmented:not(.segmented--full),.switch,.swatch-picker){align-self:flex-start}.field--w-xs{--field-w:calc(4ch + 22px)}.field--w-sm{--field-w:calc(10ch + 22px)}.field--w-md{--field-w:calc(18ch + 22px)}.field--w-lg{--field-w:calc(30ch + 22px)}.field-stack{gap:var(--space-16);flex-direction:column;min-width:0;display:flex}.field-stack--page{gap:var(--space-24)}.field-stack--capped{max-width:var(--form-max)}.field-stack__group-heading{font-size:var(--text-md);font-weight:var(--weight-title);color:var(--color-text);margin-top:var(--space-16)}.field-stack__group-heading:first-child{margin-top:0}.field-stack__actions{justify-content:flex-end;align-items:center;gap:var(--space-8);margin-top:var(--space-16);display:flex}.field-stack--page .field-stack__actions{margin-top:var(--space-32);justify-content:flex-start}.card .field-stack__actions{justify-content:flex-start}.field-row{column-gap:var(--space-16);row-gap:var(--space-6);grid-template-columns:repeat(2,max-content);place-items:center start;display:grid}.field-row:has(>.field:nth-child(3)){grid-template-columns:repeat(3,max-content)}.field-row>.field{display:contents}.field-row>.field>.field__label{grid-row:1}.field-row>.field>:not(.field__label,.field__error,.field__warning,.field__hint){grid-row:2}.field-row>.field:first-child>:not(.field__error,.field__warning,.field__hint){grid-column:1}.field-row>.field:nth-child(2)>:not(.field__error,.field__warning,.field__hint){grid-column:2}.field-row>.field:nth-child(3)>:not(.field__error,.field__warning,.field__hint){grid-column:3}.field-row>.field>:is(.field__error,.field__warning,.field__hint){grid-column:1/-1}.field-row>.field>.field__control{width:var(--field-w,auto)}.field-grid{grid-template-columns:repeat(auto-fit, minmax(max(240px, 50% - var(--space-24)), 1fr));column-gap:var(--space-24);row-gap:var(--space-16);align-items:start;display:grid}.field-help{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}@media (pointer:coarse){.field-help{width:44px;height:44px}}.field-help{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0;border:none;padding:0;transition:color .15s}@media (hover:hover) and (pointer:fine){.field-help:hover{color:var(--color-primary-text)}}.field-help:focus{outline:none}.field-help:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;color:var(--color-primary-text)}.form-alert{z-index:3;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) var(--space-16);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-text);margin-bottom:var(--space-16);line-height:1.5;display:flex;position:relative}.form-alert__icon{margin-top:var(--space-2);flex-shrink:0}.form-alert__body{min-width:0}.form-alert--error{background:var(--color-error-tint);border:1px solid var(--color-error-tint-border)}.form-alert--error .form-alert__icon{color:var(--color-error-text)}.form-alert--success{background:var(--color-success-tint);border:1px solid var(--color-success-tint-border)}.form-alert--success .form-alert__icon{color:var(--color-success-text)}.form-alert--info{background:var(--color-primary-tint);border:1px solid var(--color-primary-tint-strong)}.form-alert--info .form-alert__icon{color:var(--color-primary-text)}.form-alert--warning{background:var(--color-warning-tint);border:1px solid var(--color-warning-tint-border)}.form-alert--warning .form-alert__icon{color:var(--color-warning-text)}.bank-grid{gap:var(--space-24);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.amount{font-weight:var(--weight-title);font-variant-numeric:tabular-nums}.amount--income{color:var(--color-income-text)}.amount--expense{color:var(--color-expense-text)}.bank-badge{vertical-align:middle;align-items:center;gap:var(--space-8);max-width:100%;font-size:var(--text-xs);font-weight:var(--weight-control);color:var(--color-text-secondary);display:inline-flex}.bank-badge__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-cards{gap:var(--space-24);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.dashboard-card{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-card__value{font-size:var(--text-3xl);font-weight:var(--weight-title);line-height:1}.dashboard-card__label{font-size:var(--text-md);color:var(--color-text-secondary)}.dashboard-card__action{font-size:var(--text-sm);font-weight:var(--weight-control);color:var(--color-primary-text);margin-top:var(--space-4)}.card-stack{gap:var(--space-24);flex-direction:column;display:flex}.scroll-sentinel{padding:var(--space-24) 0;justify-content:center;min-height:20px;display:flex}.page-shell--loading{min-height:calc(100vh - var(--topbar-height) - var(--space-32));flex-direction:column;display:flex}.page-loading{justify-content:center;align-items:center;gap:var(--space-16);min-height:240px;padding:var(--space-48) 0;flex-direction:column;flex:1;display:flex}.page-loading__note{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.billing__status{max-width:var(--prose-max);margin-bottom:var(--space-24);color:var(--color-text-secondary);font-size:var(--text-md)}.billing__card{max-width:420px;margin-bottom:var(--space-32)}.billing__interval{margin-bottom:var(--space-16)}.billing__price{align-items:baseline;gap:var(--space-4);display:flex}.billing__amount{font-size:var(--text-3xl);font-weight:var(--weight-title)}.billing__period{color:var(--color-text-secondary);font-size:var(--text-sm)}.billing__pitch{margin:var(--space-4) 0 var(--space-16);color:var(--color-text-secondary);font-size:var(--text-sm)}.billing__features{margin:0 0 var(--space-24);padding:0;list-style:none}.billing__features li{align-items:center;gap:var(--space-8);padding:var(--space-4) 0;font-size:var(--text-sm);display:flex}.billing__features li svg{color:var(--color-success-text);flex-shrink:0}.billing__terms{max-width:var(--prose-max)}.billing__terms h2{font-size:var(--text-md);font-weight:var(--weight-title);margin-bottom:var(--space-8)}.billing__terms ul{padding-left:var(--space-24);color:var(--color-text-secondary);font-size:var(--text-sm);list-style:outside}.billing__terms ul li{margin-bottom:var(--space-8)}.miles-attribution{margin:var(--space-4) 0 var(--space-16);font-size:var(--text-2xs);color:var(--color-text-secondary);text-align:right}.files-page{min-height:60vh;position:relative}.files-page--dragging:after{content:"Drop to upload";inset:calc(var(--space-16) * -1);padding-top:var(--space-48);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 2px var(--color-primary);background:var(--color-primary-tint-faint);font-size:var(--text-md);font-weight:var(--weight-control);color:var(--color-primary-text);pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:absolute}.quarterly-top{margin-bottom:var(--space-32);container-type:inline-size}.quarterly-top__grid{gap:var(--space-48);grid-template-columns:minmax(320px,2fr) minmax(440px,3fr);display:grid}@container (width>=808px){.quarterly-top__grid>.quarterly-year{align-self:stretch}.quarterly-hero__more{min-height:calc(3 * (4lh + var(--space-2)) + 2 * var(--space-12))}.quarterly-hero__more--overflowing{max-height:calc(3 * (4lh + var(--space-2)) + 2 * var(--space-12))}}@container (width<=807px){.quarterly-top__grid{gap:var(--space-32);grid-template-columns:minmax(0,1fr)}.quarterly-hero__more:empty{display:none}}.quarterly-connection{margin-top:var(--space-24)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--textarea-min-height:72px;--band-well-height:120px;--color-primary:#1a73e8;--color-primary-hover:#1557b0;--color-primary-active:#0f4590;--color-primary-solid:#1a73e8;--color-primary-solid-hover:#1557b0;--color-primary-solid-active:#0f4590;--color-error-solid:#dc2626;--color-error-solid-hover:#b91c1c;--color-error-solid-active:#991b1b;--color-text-on-solid:#fff;--color-text-on-solid-muted:#ffffffd9;--color-viewer-stage:#000c;--color-on-dark-hover:#ffffff26;--color-on-image:#1a1a2eb8;--color-on-image-edge:#ffffff2e;--color-surface-veil:#fff9;--color-scan-ground:#fff;--color-bg:#f4f5f7;--color-surface:#fff;--color-surface-alt:#f3f4f6;--color-surface-raised:var(--color-surface);--color-track:#0000000d;--color-skeleton:#0000001a;--shadow-thumb:var(--shadow-xs);--color-surface-active:var(--color-surface-alt);--color-text:#1a1a2e;--color-text-secondary:#4b5563;--color-text-disabled:#6b7280;--color-surface-disabled:#f3f4f6;--color-border-disabled:var(--color-border);--color-border:#dfe2e7;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-error-hover:#dc2626;--color-error-active:#b91c1c;--color-error-fill:#ef4444;--color-warning-fill:#b45309;--color-income:#22c55e;--color-expense:#ef4444;--color-uncategorised:#9ca3af;--color-neutral-solid:#6b7280;--color-success-solid:#15803d;--color-income-solid:#15803d;--color-expense-solid:#b91c1c;--color-other:#64748b;--cat-1:#2a78d6;--cat-2:#1baf7a;--cat-3:#eda100;--cat-4:#008300;--cat-5:#6a4ca7;--cat-6:#e34948;--cat-7:#e87ba4;--cat-8:#eb6834;--cat-9:#0e8fb0;--cat-10:#6f9e1a;--cat-11:#5b6fb5;--cat-12:#a86322;--cat-13:#c2506b;--cat-14:#7d3fb0;--cat-15:#b08a00;--cat-16:#2f7d4f;--cat-17:#b5461f;--cat-18:#5257c4;--cat-19:#d16a8f;--cat-20:#9c3f9d;--cat-2-solid:#19a573;--cat-3-solid:#c38500;--cat-7-solid:#d67197;--color-success-text:#147b3b;--color-income-text:#147b3b;--color-error-text:#b91c1c;--color-error-text-hover:#991b1b;--color-expense-text:#b91c1c;--color-warning-text:#a84e09;--color-primary-text:#175fc4;--color-primary-text-hover:#1557b0;--color-primary-tint-faint:#1a73e808;--color-primary-tint-subtle:#1a73e80d;--color-primary-tint:#1a73e814;--color-primary-tint-strong:#1a73e81f;--color-success-tint:#22c55e14;--color-success-tint-border:#22c55e33;--color-warning-tint:#f59e0b24;--color-warning-tint-border:#f59e0b40;--color-error-tint:#ef444414;--color-error-tint-border:#ef444433;--color-hover:#0000000a;--color-keyline:#00000021;--color-backdrop:#00000080;--scrollbar-thumb:#1a1a2e59;--scrollbar-thumb-hover:#1a1a2e8c;--resizer-grip:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M8.5 2.5 2.5 8.5M8.5 6 6 8.5' fill='none' stroke='rgba(26,26,46,0.4)' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:24px;--text-3xl:32px;--tracking-tight:-.02em;--tracking-tighter:-.03em;--weight-body:400;--weight-control:500;--weight-title:600;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--color-border-control:#d1d5db;--color-border-control-hover:#9ca3af;--control-height-sm:32px;--control-height:36px;--control-height-lg:40px;--control-inset:10px;--control-lane-icon:34px;--control-lane-icon-sm:30px;--control-lane-action:36px;--control-lane-action-touch:48px;--segment-pad-x:14px;--chip-height:24px;--chip-height-sm:22px;--label-column:200px;--shadow-xs:0 1px 2px #0000000a;--shadow-xs-cast:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 20px 60px #00000026;--shadow-popover:0 4px 12px #00000026;--z-popover:2500;--z-tooltip:3000;--space-1:1px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--table-row-height:44px;--prose-max:720px;--card-text-max:800px;--note-max:calc(var(--card-text-max) - var(--label-column) - var(--space-16));--form-max:400px;--sidebar-width:200px;--topbar-height:60px;--topbar-controls-width:140px;--filter-bar-height:var(--control-height)}@media (pointer:coarse){:root{--control-height-sm:44px;--control-height:44px;--control-height-lg:44px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#4b90ec;--color-primary-hover:#6da8f2;--color-primary-active:#8fc0f7;--color-bg:#12121f;--color-surface:#1a1a2e;--color-surface-alt:#232338;--color-surface-raised:#33334f;--color-surface-veil:#1a1a2e99;--color-track:#ffffff0f;--color-skeleton:var(--color-border);--shadow-thumb:none;--color-text:#f0f1f5;--color-text-secondary:#9aa0b4;--color-text-disabled:#848ba0;--color-surface-disabled:#232338;--color-border-disabled:#33334d;--color-border:#2c2c44;--color-neutral-solid:#444a5c;--color-border-control:#3f3f5e;--color-border-control-hover:#565678;--color-success-solid:#15803d;--color-income-solid:#15803d;--color-expense-solid:#b91c1c;--color-other:#7c899e;--color-success:#4ade80;--color-warning:#fbbf24;--color-warning-fill:#fbbf24;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-active:#dc2626;--color-income:#4ade80;--color-expense:#f87171;--cat-1:#4a90ec;--cat-2:#23a577;--cat-3:#b88422;--cat-4:#34a853;--cat-5:#9085e9;--cat-6:#dd5b5a;--cat-7:#d06d92;--cat-8:#db6a3a;--cat-9:#1f9dc2;--cat-10:#789a29;--cat-2-solid:var(--cat-2);--cat-3-solid:var(--cat-3);--cat-7-solid:var(--cat-7);--cat-11:#6b78c8;--cat-12:#b0733a;--cat-13:#c15f7b;--cat-14:#a878d6;--cat-15:#b08e2a;--cat-16:#4ea575;--cat-17:#d97045;--cat-18:#7f84e0;--cat-19:#cc708f;--cat-20:#bb6ec0;--color-success-text:#4ade80;--color-income-text:#4ade80;--color-error-text:#f87171;--color-error-text-hover:#fca5a5;--color-expense-text:#f87171;--color-warning-text:#fbbf24;--color-primary-text:#6da8f2;--color-primary-text-hover:#8fc0f7;--color-primary-tint-faint:#4b90ec12;--color-primary-tint-subtle:#4b90ec1c;--color-primary-tint:#4b90ec2b;--color-primary-tint-strong:#4b90ec3d;--color-success-tint:#4ade801f;--color-success-tint-border:#4ade804d;--color-warning-tint:#fbbf2429;--color-warning-tint-border:#fbbf244d;--color-error-tint:#f871711f;--color-error-tint-border:#f871714d;--color-hover:#ffffff0f;--color-keyline:#00000080;--color-backdrop:#000000a6;--scrollbar-thumb:#f0f1f559;--scrollbar-thumb-hover:#f0f1f58c;--resizer-grip:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M8.5 2.5 2.5 8.5M8.5 6 6 8.5' fill='none' stroke='rgba(240,241,245,0.4)' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");--shadow-sm:0 1px 2px #0006;--shadow-xs:inset 0 1px 0 #ffffff12, 0 1px 2px #00000059;--shadow-xs-cast:0 1px 2px #00000059;--shadow-md:0 4px 6px #00000073;--shadow-lg:0 20px 60px #0009;--shadow-popover:0 4px 12px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000;border-radius:5px}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}}::-webkit-scrollbar-corner{background:0 0}::-webkit-resizer{background:var(--resizer-grip) no-repeat right 2px bottom 2px/10px 10px}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}html{font-size:var(--text-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}@property --keyline-top{syntax:"<number>";inherits:false;initial-value:0}@property --keyline-bottom{syntax:"<number>";inherits:false;initial-value:0}@keyframes keyline-top{0%{--keyline-top:0}to{--keyline-top:1}}@keyframes keyline-bottom{0%{--keyline-bottom:1}to{--keyline-bottom:0}}h1{letter-spacing:var(--tracking-tight)}a{color:var(--color-primary-text);text-decoration:none}@media (hover:hover) and (pointer:fine){a:not([class]):hover{color:var(--color-primary-text-hover)}}button{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.skip-link{top:var(--space-8);z-index:calc(var(--z-tooltip) + 1);padding:var(--space-8) var(--space-16);background:var(--color-primary-solid);color:var(--color-text-on-solid);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-md);font-weight:var(--weight-control);position:fixed;left:-100vw}.skip-link:focus-visible{left:var(--space-8);text-decoration:none}.skip-link:focus{outline:none}.skip-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}main:focus{outline:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
