.app-page{margin:0 auto;max-width:92rem;padding:1.15rem 1.125rem 3rem}.app-page__header,.app-card__header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.app-page__header{gap:2rem;margin-bottom:.9rem}.app-page__heading{min-width:0}.app-page__kicker,.app-card__kicker{color:var(--muted);font-size:var(--type-sm);font-weight:700;letter-spacing:.08em;margin:0 0 .22rem;text-transform:uppercase}.app-page__title,.app-card__title{color:var(--ink);letter-spacing:-.035em;margin:0}.app-page__title{font-size:var(--type-3xl)}.app-page__description,.app-card__description{color:var(--muted);font-size:var(--type-base);line-height:1.45;margin:.22rem 0 0}.app-page__actions{flex:0 0 auto}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:.7rem;min-width:0}.app-card--clip{overflow:hidden}.app-card__header{border-bottom:1px solid var(--border);min-height:4.2rem;padding:.82rem 1.25rem}.app-card__heading{min-width:0}.app-card__kicker{font-size:var(--type-xs)}.app-card__title{font-size:var(--type-2xl);letter-spacing:-.02em}.app-card__body{padding:1rem 1.25rem 1.15rem}.app-callout{align-items:center;border:1px solid;border-radius:.65rem;display:flex;font-size:var(--type-base);gap:.55rem;line-height:1.4;margin-bottom:.75rem;padding:.7rem .85rem}.app-callout--neutral{background:var(--surface);border-color:var(--border);color:var(--ink)}.app-callout--success{background:var(--success-soft);border-color:#24755033;color:var(--success)}.app-callout--warning{background:var(--warning-soft);border-color:#9a691833;color:var(--warning)}.app-callout--danger{background:var(--danger-soft);border-color:#b23b3238;color:var(--danger)}.app-state{align-items:center;background:var(--warning-soft);border-radius:999px;color:var(--warning);display:inline-flex;flex:0 0 auto;font-size:var(--type-xs);font-weight:750;gap:.4rem;padding:.4rem .6rem;text-transform:capitalize}.app-state:before{background:currentColor;border-radius:50%;content:"";height:.4rem;width:.4rem}.app-state--success{background:var(--success-soft);color:var(--success)}.app-state--danger{background:var(--danger-soft);color:var(--danger)}.button-link{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}@media(max-width:820px){.app-page{padding:.85rem .75rem 2rem}.app-page__header{align-items:stretch;flex-direction:column}.app-page__actions{align-self:start}}@media(max-width:600px){.app-card__header{align-items:stretch;flex-direction:column}}:root{color-scheme:light;scrollbar-gutter:stable;--accent: #587a96;--accent-strong: #3e607a;--accent-soft: #edf3f7;--accent-focus: rgb(88 122 150 / 18%);--border: #dfe2e7;--input-border: #cbd0d8;--danger: #b23b32;--danger-soft: #fff0ef;--ink: #20242a;--muted: #68707c;--paper: #f5f6f8;--success: #25805a;--success-soft: #eaf7f0;--surface: #fff;--surface-subtle: #f7f8fa;--surface-strong: #eceff3;--type-xs: .75rem;--type-sm: .825rem;--type-base: .9rem;--type-lg: 1rem;--type-xl: 1.125rem;--type-2xl: 1.35rem;--type-3xl: 1.8rem;--warning: #9a6918;--warning-soft: #fff7df;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,app-root{min-height:100%}body{background:var(--paper);color:var(--ink);margin:0}.privacy-mode .privacy-sensitive{filter:blur(.38rem);pointer-events:none;-webkit-user-select:none;user-select:none}button,input,textarea,select{font:inherit}button{cursor:pointer;font-size:var(--type-base)}.form-grid{display:grid;gap:.85rem 1rem}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-footer{justify-content:flex-end;padding:.85rem 1.25rem}.field--wide{grid-column:span 2}.field--full{grid-column:1/-1}.primary-button,.secondary-button,.danger-button{border-radius:.45rem;font-size:var(--type-base);font-weight:700;min-height:2.25rem;padding:.55rem .8rem}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.secondary-button{background:#fff;border:1px solid var(--input-border);color:var(--ink)}.secondary-button:hover{background:var(--surface-subtle)}.danger-button{background:var(--danger);border:1px solid var(--danger);color:#fff}.danger-button:hover{background:#932f28;border-color:#932f28}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.55}.primary-button:disabled,.primary-button:disabled:hover{background:#d9dde2;border-color:#cbd1d8;box-shadow:none;color:#747d89;opacity:1}.text-button{background:transparent;border:0;color:var(--accent-strong);font-size:var(--type-base);font-weight:700;padding:.4rem}.text-button--danger{color:var(--danger)}.status-pill{background:var(--success-soft);border-radius:999px;color:var(--success);font-size:var(--type-xs);font-weight:700;padding:.25rem .45rem}.status-pill--muted{background:var(--surface-strong);color:var(--muted)}.data-table{border:1px solid var(--border);border-radius:.55rem;overflow:hidden}.data-table__header,.data-table__row{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto 3rem;padding:.65rem .8rem}.data-table__header{background:var(--surface-subtle);color:var(--muted);font-size:var(--type-xs);font-weight:700;text-transform:uppercase}.data-table__row{border-top:1px solid var(--border);font-size:var(--type-sm)}.message{border:1px solid;border-radius:.6rem;font-size:var(--type-base);margin-bottom:1rem;padding:.75rem .9rem}.message--error{background:var(--danger-soft);border-color:#a9372c40;color:var(--danger)}.message--success{background:var(--success-soft);border-color:#24755040;color:var(--success)}.empty-state{color:var(--muted);font-size:var(--type-sm);margin:0;padding:1rem}.empty-state--compact{padding:.75rem}.app-spinner{animation:app-spin .8s linear infinite;border:3px solid var(--accent-soft);border-radius:50%;border-top-color:var(--accent);display:inline-block;flex:0 0 1.35rem;height:1.35rem;width:1.35rem}.app-spinner--compact{border-width:2px;flex-basis:.95rem;height:.95rem;width:.95rem}.app-spinner--inverse{border-color:#ffffff73;border-top-color:currentcolor}@keyframes app-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-spinner{animation-duration:1.6s}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
