.ui-app-header{z-index:1100;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);padding-top:max(var(--space-2), env(safe-area-inset-top));background:var(--header-bg);color:var(--header-text);border-bottom:3px solid var(--brand-primary);display:flex;position:sticky;top:0}.ui-app-header__brand{align-items:center;gap:var(--space-3);min-width:0;color:inherit;min-height:var(--tap-min);text-decoration:none;display:flex}.ui-app-header__logo-placeholder{width:92px;height:var(--tap-min);border-radius:var(--radius-sm);letter-spacing:.08em;opacity:.85;border:2px dashed;flex:none;place-items:center;font-size:.625rem;font-weight:700;display:grid}.ui-app-header__logo{object-fit:contain;object-position:left center;width:auto;max-width:min(240px,100%);height:40px;display:block}.ui-app-header__name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.ui-app-header__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.ui-app-shell{--ui-bottom-nav-h:60px;--ui-header-h:59px;flex-direction:column;min-height:100dvh;display:flex}.ui-app-shell__main{width:100%;max-width:var(--content-max);padding:var(--space-4);padding-bottom:calc(var(--ui-bottom-nav-h) + var(--space-5) + env(safe-area-inset-bottom));flex:1;min-width:0;margin:0 auto}.ui-app-shell__nav{z-index:1000;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-md);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.ui-app-shell__nav-list{margin:0;padding:0;list-style:none;display:flex}.ui-app-shell__nav-item{flex:1 1 0;min-width:0}.ui-app-shell__nav-link{min-height:var(--ui-bottom-nav-h);padding:var(--space-1);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:flex;position:relative}.ui-app-shell__nav-link.is-active{color:var(--text);font-weight:700}.ui-app-shell__nav-link.is-active:before{content:"";background:var(--brand-primary);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:28%;right:28%}.ui-app-shell__nav-link:hover{color:var(--text)}.ui-app-shell__nav-icon{border-radius:999px;place-items:center;width:52px;height:28px;display:grid}.ui-app-shell__nav-link.is-active .ui-app-shell__nav-icon{background:color-mix(in srgb, var(--brand-primary) 30%, transparent)}.ui-app-shell__nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}@media (width>=768px){.ui-app-shell__nav{top:var(--ui-header-h);border-top:0;border-bottom:1px solid var(--border);box-shadow:none;padding-bottom:0;position:sticky;bottom:auto}.ui-app-shell__nav-list{max-width:var(--content-max);padding:0 var(--space-4);gap:var(--space-2);margin:0 auto}.ui-app-shell__nav-item{flex:none}.ui-app-shell__nav-link{gap:var(--space-1);min-height:52px;padding:0 var(--space-3);flex-direction:row}.ui-app-shell__nav-link.is-active:before{top:auto;bottom:0;left:var(--space-3);right:var(--space-3);border-radius:3px 3px 0 0}.ui-app-shell__nav-icon{width:36px}.ui-app-shell__main{padding-top:var(--space-5);padding-bottom:var(--space-6)}}.ui-status-chip{background:var(--surface-2);color:var(--text);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.ui-status-chip--sm{padding:1px 8px;font-size:11px}.ui-status-chip__dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.ui-status-chip--upcoming{color:var(--status-upcoming-text);background:var(--status-upcoming-bg)}.ui-status-chip--due{color:var(--status-due-text);background:var(--status-due-bg)}.ui-status-chip--overdue{color:var(--status-overdue-text);background:var(--status-overdue-bg)}.ui-status-chip--east-coast{color:var(--status-east-coast-text);background:var(--status-east-coast-bg)}.ui-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.ui-chip--sm{padding:1px 8px;font-size:11px}.ui-chip--upcoming{color:var(--status-upcoming-text);background:var(--status-upcoming-bg);border-color:#0000}.ui-chip--due{color:var(--status-due-text);background:var(--status-due-bg);border-color:#0000}.ui-chip--overdue{color:var(--status-overdue-text);background:var(--status-overdue-bg);border-color:#0000}.ui-chip--east-coast{color:var(--status-east-coast-text);background:var(--status-east-coast-bg);border-color:#0000}.ui-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.ui-state--compact{padding:var(--space-4)}.ui-state__icon{width:calc(var(--tap-min) + var(--space-3));height:calc(var(--tap-min) + var(--space-3));background:var(--surface-2);color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.ui-state--error .ui-state__icon{background:var(--status-overdue-bg);color:var(--danger)}.ui-state__title{color:var(--text);font-size:var(--font-size-md);font-weight:700}.ui-state__message{max-width:36ch;font-size:var(--font-size-sm)}.ui-state__action{margin-top:var(--space-2)}.ui-spinner{border:3px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;animation:.8s linear infinite ui-spin;display:inline-block}.ui-state--loading .ui-spinner{color:var(--brand-accent)}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--border) 50%, var(--surface-2) 100%);background-size:200% 100%;max-width:100%;animation:1.4s ease-in-out infinite ui-shimmer;display:block}.ui-skeleton--sm{border-radius:var(--radius-sm)}.ui-skeleton--md{border-radius:var(--radius-md)}.ui-skeleton--lg{border-radius:var(--radius-lg)}.ui-skeleton--round{border-radius:999px}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-skeleton-list{gap:var(--space-2);flex-direction:column;display:flex}.ui-skeleton-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex}.ui-skeleton-row__text{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-md);white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1px solid #0000;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.ui-button--sm{padding:0 var(--space-3);font-size:var(--font-size-sm)}.ui-button--lg{padding:0 var(--space-5);min-height:52px;font-size:16px}.ui-button--full{width:100%}.ui-button--primary{background:var(--brand-primary);color:var(--brand-primary-contrast)}.ui-button--primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand-primary) 88%, var(--brand-primary-contrast))}.ui-button--secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.ui-button--secondary:hover:not(:disabled){background:var(--surface-2)}.ui-button--ghost{color:var(--link);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--surface-2)}.ui-button--danger{background:var(--danger);color:var(--on-status)}.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, var(--text))}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button.is-loading{opacity:.8;cursor:progress}.ui-button__label{text-overflow:ellipsis;overflow:hidden}.ui-field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.ui-field__label{color:var(--text);padding:0;font-size:14px;font-weight:600}.ui-field__required{color:var(--danger)}.ui-field__hint{color:var(--text-muted);font-size:12px}.ui-field__error{font-size:var(--font-size-sm);color:var(--danger);font-weight:600}.ui-control{width:100%;min-height:var(--tap-min);padding:10px var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:max(1rem, var(--font-size-md));appearance:none;line-height:1.4;display:block}.ui-control::placeholder{color:var(--text-muted);opacity:1}.ui-control:focus-visible,.ui-control:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-accent) 25%, transparent);outline:none}.ui-control:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.ui-field.has-error .ui-control{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 14%, transparent)}textarea.ui-control{min-height:calc(var(--tap-min) * 2.5);resize:vertical}.ui-select-wrap{position:relative}.ui-select-wrap:after{content:"";right:var(--space-4);border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-70%)rotate(45deg)}.ui-select-wrap .ui-control{padding-right:calc(var(--space-6) + var(--space-2))}.ui-date{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex;position:relative}.ui-date:focus-within{border-color:var(--brand-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-accent) 25%, transparent)}.ui-date.is-disabled{background:var(--surface-2);color:var(--text-muted)}.ui-date__text.is-placeholder{color:var(--text-muted)}.ui-date__icon{color:var(--text-muted);flex:none}.ui-date__native{opacity:0;cursor:pointer;width:calc(100% + 2px);height:calc(100% + 2px);font-size:max(1rem, var(--font-size-md));border:0;padding:0;position:absolute;inset:-1px}.ui-date__native:disabled{cursor:not-allowed}.ui-date__native::-webkit-calendar-picker-indicator{cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.ui-time-row{align-items:center;gap:var(--space-2);display:flex}.ui-time-row>.ui-time{flex:1;min-width:0}.ui-time-clear{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);cursor:pointer;flex:none;place-items:center;display:grid}.ui-time-clear:hover{background:var(--surface-2);color:var(--text)}.ui-segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);gap:3px;padding:3px;display:flex}.ui-field.has-error .ui-segmented{border-color:var(--danger)}.ui-segmented__option{min-width:0;min-height:var(--tap-min);padding:0 var(--space-2);border-radius:calc(var(--radius-md) - 3px);color:var(--text-muted);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1 1 0;justify-content:center;align-items:center;font-size:14px;font-weight:600;line-height:1.15;display:flex;position:relative}.ui-segmented__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-segmented__option:hover:not(.is-disabled){color:var(--text)}.ui-segmented__option.is-selected{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm), inset 0 -3px 0 var(--brand-primary)}.ui-segmented__option.is-disabled{color:var(--text-disabled);cursor:not-allowed}.ui-segmented__option:has(.ui-segmented__input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:1px}.ui-filedrop{border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface-2);transition:border-color .12s,background-color .12s;position:relative}.ui-filedrop:hover:not(.is-disabled),.ui-filedrop.is-dragging{border-color:var(--brand-accent);background:var(--surface-2)}.ui-field.has-error .ui-filedrop{border-color:var(--danger)}.ui-filedrop:has(.ui-filedrop__input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:2px}.ui-filedrop.is-disabled{opacity:.55}.ui-filedrop__input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.ui-filedrop.is-disabled .ui-filedrop__input{cursor:not-allowed}.ui-filedrop__zone{justify-content:center;align-items:center;gap:var(--space-2);min-height:calc(var(--tap-min) * 2.5);padding:var(--space-4);color:var(--text-muted);text-align:center;pointer-events:none;flex-direction:column;display:flex}.ui-filedrop__prompt{color:var(--text);font-weight:600}.ui-filedrop__accept{font-size:var(--font-size-sm)}.ui-filedrop__list{gap:var(--space-2);margin:var(--space-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.ui-filedrop__item{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.ui-filedrop__row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.ui-filedrop__ico{border-radius:var(--radius-sm);background:var(--surface-2);width:40px;height:40px;color:var(--text-muted);flex:none;place-items:center;display:grid}.ui-filedrop__retry{color:var(--link)}.ui-filedrop__extra{margin-top:var(--space-2)}.ui-filedrop__item.is-done .ui-filedrop__meta{color:var(--status-upcoming-text);font-weight:700}.ui-filedrop__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.ui-filedrop__meta{font-size:var(--font-size-sm);color:var(--text-muted);flex:none}.ui-filedrop__remove{width:var(--tap-min);height:var(--tap-min);margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:0;flex:none;place-items:center;display:grid}.ui-filedrop__remove:hover:not(:disabled){color:var(--danger);background:var(--surface-2)}.ui-filedrop__remove:disabled{opacity:.4;cursor:not-allowed}.ui-filedrop__progress{height:6px;margin-top:var(--space-2);background:var(--surface-2);border-radius:999px;overflow:hidden}.ui-filedrop__bar{background:var(--brand-primary);border-radius:inherit;height:100%;transition:width .15s linear;display:block}.ui-filedrop__item.is-done .ui-filedrop__bar{background:var(--status-upcoming)}.ui-filedrop__item.is-error .ui-filedrop__bar{background:var(--danger)}.ui-filedrop__item.is-error{border-color:var(--danger)}.ui-filedrop__error{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--danger);font-weight:600}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;list-style:none;display:flex;overflow:hidden}.ui-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4) 0;display:flex}.ui-card__heading{min-width:0}.ui-card__title{overflow-wrap:anywhere;font-size:16px;font-weight:700}.ui-card__subtitle{font-size:var(--font-size-sm);color:var(--text-muted);overflow-wrap:anywhere}.ui-card__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.ui-card__body{padding:var(--space-4);min-width:0}.ui-card__header+.ui-card__body{padding-top:var(--space-3)}.ui-card--flush .ui-card__body{padding:0}.ui-card__footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;display:flex}.ui-banner{--ui-banner-fg:var(--status-east-coast-text);--ui-banner-bg:var(--status-east-coast-bg);align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--ui-banner-bg);color:var(--ui-banner-fg);border:1px solid color-mix(in srgb, var(--ui-banner-fg) 30%, transparent);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.ui-banner--warning{--ui-banner-fg:var(--status-due-text);--ui-banner-bg:var(--status-due-bg)}.ui-banner--error{--ui-banner-fg:var(--danger);--ui-banner-bg:var(--danger-bg)}.ui-banner__icon{color:var(--ui-banner-fg);flex:none;padding-top:2px}.ui-banner__content{flex:180px;min-width:0}.ui-banner__title{font-weight:700}.ui-banner__text{opacity:.9;font-size:var(--font-size-sm)}.ui-banner__action{flex:none;margin-left:auto}.ui-fchip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-fchip{align-items:center;gap:var(--space-2);min-height:var(--tap-min);border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:999px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.ui-fchip:hover:not(:disabled){background:var(--surface-2)}.ui-fchip.is-on{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-primary-contrast)}.ui-fchip:disabled{opacity:.5;cursor:not-allowed}.ui-fchip__dot{width:10px;height:10px;box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;flex:none}.ui-fchip__count{opacity:.7;font-weight:700}.ui-switch__row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;display:flex}.ui-switch__text{flex-direction:column;min-width:0;display:flex}.ui-switch__label{font-size:14px;font-weight:600}.ui-switch__hint{color:var(--text-muted);font-size:12px}.ui-switch__input{opacity:0;width:1px;height:1px;position:absolute}.ui-switch__track{background:var(--border);border-radius:999px;flex:none;width:52px;height:30px;transition:background-color .12s;position:relative}.ui-switch__thumb{background:var(--surface);width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .12s;position:absolute;top:3px;left:3px}.ui-switch__input:checked+.ui-switch__track{background:var(--brand-primary)}.ui-switch__input:checked+.ui-switch__track .ui-switch__thumb{transform:translate(22px)}.ui-switch__input:focus-visible+.ui-switch__track{outline:3px solid var(--brand-accent);outline-offset:2px}.ui-switch__input:disabled+.ui-switch__track{opacity:.5}.ui-download{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex}.ui-download--labeled{padding:0 var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border)}.ui-download--labeled:hover{background:var(--surface-2)}.ui-download--onDark{padding:0 var(--space-4);color:var(--on-status);background:var(--header-action-bg);border-radius:999px}.ui-download--onDark:hover{background:color-mix(in srgb, var(--on-status) 20%, transparent)}.ui-download--tile{z-index:1;width:var(--tap-min);height:var(--tap-min);border-radius:0 var(--radius-md) 0 var(--radius-md);position:absolute;top:0;right:0}.ui-download__disc{width:30px;height:30px;color:var(--on-status);background:var(--overlay);box-shadow:var(--shadow-sm);border-radius:999px;place-items:center;display:grid}.ui-download--tile:hover .ui-download__disc{background:var(--brand-primary-contrast)}.ui-lightbox{z-index:3000;background:var(--overlay);color:var(--on-status);touch-action:pan-y;flex-direction:column;display:flex;position:fixed;inset:0}.ui-lightbox__bar{padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2), env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.ui-lightbox__actions{align-items:center;gap:var(--space-2);display:flex}.ui-lightbox__count{font-size:var(--font-size-sm);font-weight:600}.ui-lightbox__btn{width:var(--tap-min);height:var(--tap-min);background:var(--header-action-bg);color:inherit;border:0;border-radius:999px;place-items:center;display:grid}.ui-lightbox__btn:hover{background:color-mix(in srgb, var(--on-status) 20%, transparent)}.ui-lightbox__figure{justify-content:center;align-items:center;gap:var(--space-2);min-height:0;padding:0 var(--space-3) var(--space-5);flex-direction:column;flex:1;display:flex;position:relative}.ui-lightbox__img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;min-height:0;max-height:100%;transition:opacity .15s}.ui-lightbox__spinner{width:36px;height:36px;color:var(--brand-primary);position:absolute}.ui-lightbox__caption{font-size:var(--font-size-sm);text-align:center}.ui-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%)}.ui-lightbox__nav--prev{left:var(--space-2)}.ui-lightbox__nav--next{right:var(--space-2)}
