@keyframes fd-ambient-drift {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(18px, -12px, 0) scale(1.06); }
}

@keyframes fd-rise {
    from { opacity: 0; transform: translate3d(0, 12px, 0) scale(.985); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes fd-arrive {
    0% { transform: translate3d(0, 14px, 0) scale(.96); opacity: .2; }
    55% { transform: translate3d(0, -3px, 0) scale(1.01); opacity: 1; }
    100% { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
}

@keyframes fd-shimmer {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

@keyframes fd-spin {
    to { transform: rotate(360deg); }
}

.fd-root {
    --fd-ink: #17182a;
    --fd-muted: #6c7087;
    --fd-muted-strong: #555a72;
    --fd-line: rgba(35, 36, 65, .10);
    --fd-panel: rgba(255, 255, 255, .86);
    --fd-panel-solid: #ffffff;
    --fd-violet: #685ce8;
    --fd-violet-dark: #5145ce;
    --fd-cyan: #31c5bc;
    --fd-rose: #ed6c91;
    --fd-amber: #e9a344;
    --fd-green: #49a97d;
    --fd-blue: #4d8edf;
    --fd-danger: #c34d65;
    --fd-pad: clamp(12px, min(1.45cqw, 1.8cqh), 24px);
    --fd-gap: clamp(10px, min(1cqw, 1.35cqh), 16px);
    --fd-radius: clamp(17px, min(1.45cqw, 2cqh), 24px);
    --fd-small-radius: clamp(11px, min(.8cqw, 1.1cqh), 15px);
    position: absolute;
    inset: 0;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    container-type: size;
    isolation: isolate;
    color: var(--fd-ink);
    background:
        radial-gradient(circle at 9% 4%, rgba(104, 92, 232, .13), transparent 27%),
        radial-gradient(circle at 88% 9%, rgba(49, 197, 188, .13), transparent 27%),
        linear-gradient(145deg, #f6f5fa 0%, #eef2f7 49%, #f7f4ef 100%);
    font-family: aa_normal, sans_serif_normal, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.35;
}

.fd-root *,
.fd-root *::before,
.fd-root *::after {
    box-sizing: border-box;
}

.fd-root button,
.fd-root input,
.fd-root select,
.fd-root textarea {
    margin: 0;
    color: inherit;
    font: inherit;
}

.fd-root button {
    border: 0;
}

.fd-root .fa,
.fd-root .fas,
.fd-root .far,
.fd-root .fal {
    position: static !important;
    inset: auto !important;
    width: auto;
    height: auto;
    color: inherit !important;
    line-height: 1;
}

.fd-root h1,
.fd-root h2,
.fd-root h3,
.fd-root p,
.fd-root dl,
.fd-root dt,
.fd-root dd {
    margin: 0;
}

.fd-root button:focus-visible,
.fd-root input:focus-visible,
.fd-root select:focus-visible,
.fd-root textarea:focus-visible,
.fd-root [tabindex]:focus-visible {
    outline: 3px solid rgba(104, 92, 232, .38);
    outline-offset: 2px;
}

.fd-ambient {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.fd-ambient-orb {
    position: absolute;
    width: min(38cqw, 560px);
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(4px);
    opacity: .24;
    animation: fd-ambient-drift 14s ease-in-out infinite;
}

.fd-ambient-orb-a {
    top: -24%;
    left: 4%;
    background: radial-gradient(circle, rgba(113, 95, 236, .45), transparent 66%);
}

.fd-ambient-orb-b {
    right: -9%;
    bottom: -35%;
    background: radial-gradient(circle, rgba(46, 199, 188, .48), transparent 67%);
    animation-delay: -7s;
}

.fd-ambient-grid {
    position: absolute;
    inset: 0;
    opacity: .24;
    background-image:
        linear-gradient(rgba(48, 52, 81, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(48, 52, 81, .025) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent 86%);
}

.fd-shell {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: var(--fd-gap);
    width: min(1540px, 100%);
    height: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0 auto;
    padding: var(--fd-pad);
    overflow: hidden;
}

.fd-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.36fr) minmax(330px, .94fr);
    gap: clamp(16px, 2cqw, 32px);
    min-width: 0;
    min-height: clamp(150px, 20cqh, 188px);
    padding: clamp(18px, min(2cqw, 2.6cqh), 28px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: calc(var(--fd-radius) + 2px);
    color: #fff;
    background:
        radial-gradient(circle at 86% 14%, rgba(64, 213, 200, .30), transparent 29%),
        radial-gradient(circle at 58% 130%, rgba(115, 90, 235, .42), transparent 48%),
        linear-gradient(132deg, #17162d 0%, #29234f 52%, #234d5d 100%);
    box-shadow: 0 24px 70px rgba(31, 29, 64, .22);
    animation: fd-rise 360ms cubic-bezier(.2, .8, .2, 1) both;
}

.fd-hero::after {
    content: "";
    position: absolute;
    top: -50%;
    right: 17%;
    width: 1px;
    height: 205%;
    opacity: .22;
    background: linear-gradient(transparent, rgba(255,255,255,.8), transparent);
    transform: rotate(21deg);
    pointer-events: none;
}

.fd-hero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    align-content: center;
    min-width: 0;
}

.fd-hero-topline,
.fd-hero-actions,
.fd-library-heading,
.fd-library-title-row,
.fd-progress-row,
.fd-guide-heading,
.fd-document-actions,
.fd-modal-header,
.fd-modal-heading,
.fd-modal-footer-actions,
.fd-modal-footer-split,
.fd-modal-footer-split > div,
.fd-toast,
.fd-edit-file-summary,
.fd-upload-reassurance,
.fd-detail-file-meta {
    display: flex;
    align-items: center;
}

.fd-hero-topline {
    justify-content: flex-start;
    gap: 9px;
}

.fd-kicker,
.fd-privacy-pill,
.fd-eyebrow,
.fd-result-count,
.fd-document-category,
.fd-expiration-badge,
.fd-detail-category {
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    letter-spacing: .02em;
}

.fd-kicker,
.fd-privacy-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 27px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    text-transform: uppercase;
}

.fd-kicker {
    color: #dcd8ff;
    background: rgba(120, 105, 241, .19);
    border: 1px solid rgba(166, 155, 255, .19);
}

.fd-privacy-pill {
    color: rgba(231, 255, 252, .85);
    background: rgba(50, 204, 192, .12);
    border: 1px solid rgba(94, 225, 214, .13);
}

.fd-title {
    margin-top: clamp(9px, 1.2cqh, 14px) !important;
    color: #fff;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: clamp(31px, min(3.1cqw, 5.2cqh), 46px);
    font-weight: normal;
    line-height: .98;
    letter-spacing: -.035em;
}

.fd-subtitle {
    max-width: 700px;
    margin-top: 8px !important;
    color: rgba(244, 245, 255, .69);
    font-size: clamp(12px, min(1.15cqw, 1.65cqh), 15px);
    line-height: 1.42;
}

.fd-hero-actions {
    align-self: end;
    gap: 14px;
    margin-top: 12px;
}

.fd-hero-action-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: rgba(255,255,255,.58);
    font-size: 11px;
}

.fd-hero-action-copy strong {
    color: rgba(255,255,255,.92);
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 12px;
    font-weight: normal;
}

.fd-primary-button,
.fd-secondary-button,
.fd-danger-button,
.fd-danger-ghost-button,
.fd-banner-button,
.fd-card-view-button,
.fd-icon-button,
.fd-category-pill,
.fd-guide-row,
.fd-toast-action,
.fd-private-reference button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 15px;
    border-radius: 12px;
    cursor: pointer;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    transition:
        transform 170ms ease,
        box-shadow 170ms ease,
        border-color 170ms ease,
        background-color 170ms ease,
        color 170ms ease,
        opacity 170ms ease;
}

.fd-primary-button {
    color: #fff;
    background: linear-gradient(135deg, #7164ec, #5547d2);
    box-shadow: 0 13px 28px rgba(83, 68, 207, .25);
}

.fd-add-document-button {
    min-height: 42px;
    padding: 0 18px;
    color: #18172a;
    background: linear-gradient(135deg, #68e1d8, #a4eee8);
    box-shadow: 0 15px 30px rgba(27, 183, 173, .25);
}

.fd-secondary-button {
    color: #393b56;
    border: 1px solid rgba(47, 49, 81, .11);
    background: #f1f1f7;
}

.fd-danger-button {
    color: #fff;
    background: linear-gradient(135deg, #d25b71, #b93e5b);
    box-shadow: 0 12px 25px rgba(187, 61, 90, .22);
}

.fd-danger-ghost-button {
    color: #b43e59;
    border: 1px solid rgba(190, 62, 91, .15);
    background: rgba(194, 71, 97, .08);
}

.fd-banner-button {
    min-height: 32px;
    padding: 0 11px;
    color: #815a19;
    border: 1px solid rgba(179, 119, 26, .16);
    background: rgba(255, 255, 255, .72);
}

.fd-primary-button:hover,
.fd-secondary-button:hover,
.fd-danger-button:hover,
.fd-danger-ghost-button:hover,
.fd-banner-button:hover,
.fd-card-view-button:hover,
.fd-icon-button:hover,
.fd-category-pill:hover,
.fd-guide-row:hover,
.fd-toast-action:hover {
    transform: translateY(-1px);
}

.fd-primary-button:hover {
    box-shadow: 0 16px 34px rgba(83, 68, 207, .32);
}

.fd-primary-button:active,
.fd-secondary-button:active,
.fd-danger-button:active,
.fd-danger-ghost-button:active,
.fd-banner-button:active,
.fd-card-view-button:active,
.fd-icon-button:active,
.fd-category-pill:active,
.fd-guide-row:active,
.fd-toast-action:active {
    transform: translateY(0) scale(.98);
}

.fd-root button:disabled {
    cursor: default;
    opacity: .44;
    transform: none;
    box-shadow: none;
}

.fd-icon-button {
    flex: 0 0 auto;
    width: 38px;
    min-height: 38px;
    padding: 0;
    color: #60647c;
    border: 1px solid rgba(42, 44, 71, .10);
    background: rgba(245, 246, 250, .85);
}

.fd-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(8px, 1cqw, 13px);
    min-width: 0;
    align-self: stretch;
}

.fd-stat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding: clamp(12px, min(1.25cqw, 1.8cqh), 18px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: var(--fd-small-radius);
    color: #fff;
    background: rgba(255, 255, 255, .075);
    box-shadow: inset 0 1px rgba(255,255,255,.05);
    backdrop-filter: blur(16px);
    transition: transform 170ms ease, background 170ms ease, border-color 170ms ease;
}

.fd-stat-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.11);
}

.fd-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border-radius: 10px;
    color: #d9d5ff;
    background: rgba(116, 101, 238, .18);
}

.fd-stat-card[data-accent="cyan"] .fd-stat-icon {
    color: #9cf0e9;
    background: rgba(51, 202, 190, .15);
}

.fd-stat-card[data-accent="amber"] .fd-stat-icon {
    color: #ffd48f;
    background: rgba(233, 163, 68, .14);
}

.fd-stat-alert .fd-stat-icon {
    box-shadow: 0 0 0 5px rgba(233, 163, 68, .08);
}

.fd-stat-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fd-stat-value {
    color: #fff;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: clamp(25px, min(2.3cqw, 4.4cqh), 36px);
    font-weight: normal;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.fd-stat-label {
    margin-top: 4px;
    overflow: hidden;
    color: rgba(242, 243, 255, .60);
    font-size: 10px;
    line-height: 1.1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.fd-stage {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(255px, 22cqw, 310px);
    gap: var(--fd-gap);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.fd-panel {
    min-width: 0;
    min-height: 0;
    border: 1px solid var(--fd-line);
    border-radius: var(--fd-radius);
    background: var(--fd-panel);
    box-shadow: 0 18px 48px rgba(30, 32, 61, .09);
    backdrop-filter: blur(18px);
}

.fd-library {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto auto minmax(140px, 1fr) auto;
    gap: clamp(7px, .8cqh, 11px);
    min-width: 0;
    min-height: 0;
    padding: clamp(14px, min(1.4cqw, 1.8cqh), 21px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(104, 92, 232, .24) transparent;
    scrollbar-width: thin;
    animation: fd-rise 400ms 70ms cubic-bezier(.2, .8, .2, 1) both;
}

.fd-library::-webkit-scrollbar {
    width: 6px;
}

.fd-library::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(104, 92, 232, .22);
}

.fd-library::-webkit-scrollbar-track {
    background: transparent;
}

.fd-library-heading {
    min-width: 0;
    justify-content: space-between;
    gap: 12px;
}

.fd-library-heading-copy {
    min-width: 0;
}

.fd-library-title-row {
    gap: 10px;
    min-width: 0;
}

.fd-library h2,
.fd-guide-card h2,
.fd-privacy-card h2,
.fd-modal h2,
.fd-detail-heading h3,
.fd-confirm-body h3,
.fd-empty-content h3 {
    color: var(--fd-ink);
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-weight: normal;
    letter-spacing: -.015em;
}

.fd-library h2 {
    overflow: hidden;
    font-size: clamp(18px, min(1.7cqw, 2.5cqh), 24px);
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-library-heading-copy > p {
    margin-top: 4px !important;
    color: var(--fd-muted);
    font-size: 11px;
}

.fd-result-count {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    color: #665bd5;
    background: rgba(104, 92, 232, .10);
    font-size: 10px;
}

.fd-refresh-button.fd-is-spinning i {
    animation: fd-spin 650ms linear infinite;
}

.fd-controls {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(142px, .34fr) minmax(142px, .34fr);
    gap: 8px;
    min-width: 0;
}

.fd-search-field {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.fd-root .fd-search-field > i {
    position: absolute !important;
    left: 13px;
    z-index: 1;
    color: #8b8ea3 !important;
    pointer-events: none;
}

.fd-search-field input,
.fd-select,
.fd-field input,
.fd-field select,
.fd-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(45, 47, 77, .12);
    border-radius: 11px;
    outline: 0;
    color: #292b42;
    background: rgba(248, 249, 252, .94);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.fd-search-field input,
.fd-select,
.fd-field input,
.fd-field select {
    height: 40px;
    padding: 0 12px;
}

.fd-search-field input {
    padding-left: 37px;
}

.fd-search-field input::placeholder,
.fd-field input::placeholder,
.fd-field textarea::placeholder {
    color: #9da0b1;
}

.fd-select {
    padding-right: 28px;
    cursor: pointer;
    color: #5b5e75;
    font-size: 12px;
}

.fd-search-field input:focus,
.fd-select:focus,
.fd-field input:focus,
.fd-field select:focus,
.fd-field textarea:focus {
    border-color: rgba(104, 92, 232, .48);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(104, 92, 232, .11);
}

.fd-category-strip {
    display: flex;
    gap: 6px;
    min-width: 0;
    min-height: 34px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.fd-category-strip::-webkit-scrollbar {
    display: none;
}

.fd-category-pill {
    flex: 0 0 auto;
    min-height: 31px;
    padding: 0 11px;
    border: 1px solid rgba(45, 48, 78, .09);
    border-radius: 999px;
    color: #6f7285;
    background: rgba(244, 245, 249, .86);
    font-size: 10px;
}

.fd-category-pill.fd-active {
    color: #5147c1;
    border-color: rgba(104, 92, 232, .19);
    background: rgba(104, 92, 232, .12);
    box-shadow: inset 0 0 0 1px rgba(104, 92, 232, .04);
}

.fd-error-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    padding: 6px 7px 6px 11px;
    border: 1px solid rgba(205, 137, 39, .18);
    border-radius: 11px;
    color: #825f27;
    background: rgba(255, 244, 221, .82);
    font-size: 11px;
}

.fd-error-banner > span {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.fd-collection {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    isolation: isolate;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.fd-document-grid,
.fd-loading-grid,
.fd-empty-state {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.fd-document-grid {
    z-index: 3;
}

.fd-loading-grid {
    z-index: 2;
}

.fd-empty-state {
    z-index: 1;
}

.fd-document-grid {
    display: grid;
    grid-template-columns: repeat(var(--fd-grid-columns, 2), minmax(0, 1fr));
    grid-template-rows: repeat(var(--fd-grid-rows, 2), minmax(0, 1fr));
    gap: clamp(8px, min(.8cqw, 1.2cqh), 12px);
    overflow: hidden;
}

.fd-document-card {
    --fd-category: #685ce8;
    --fd-category-soft: rgba(104, 92, 232, .13);
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(40, 42, 71, .095);
    border-radius: var(--fd-small-radius);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 25px rgba(31, 33, 61, .055);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.fd-document-card[data-category="insurance"],
.fd-detail-category[data-category="insurance"] {
    --fd-category: #28aaa3;
    --fd-category-soft: rgba(40, 170, 163, .13);
}

.fd-document-card[data-category="identity"],
.fd-detail-category[data-category="identity"] {
    --fd-category: #685ce8;
    --fd-category-soft: rgba(104, 92, 232, .13);
}

.fd-document-card[data-category="medical"],
.fd-detail-category[data-category="medical"] {
    --fd-category: #d65e82;
    --fd-category-soft: rgba(214, 94, 130, .13);
}

.fd-document-card[data-category="home"],
.fd-detail-category[data-category="home"] {
    --fd-category: #cb8630;
    --fd-category-soft: rgba(203, 134, 48, .14);
}

.fd-document-card[data-category="financial"],
.fd-detail-category[data-category="financial"] {
    --fd-category: #398d69;
    --fd-category-soft: rgba(57, 141, 105, .13);
}

.fd-document-card[data-category="legal"],
.fd-detail-category[data-category="legal"] {
    --fd-category: #427fc4;
    --fd-category-soft: rgba(66, 127, 196, .13);
}

.fd-document-card:hover,
.fd-document-card:focus-within {
    z-index: 2;
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--fd-category) 38%, transparent);
    box-shadow: 0 18px 38px rgba(31, 33, 61, .12);
}

.fd-document-card.fd-document-arrived {
    animation: fd-arrive 650ms cubic-bezier(.2, .9, .2, 1) both;
}

.fd-document-open {
    display: grid;
    grid-template-columns: minmax(88px, 36%) minmax(0, 1fr);
    gap: 11px;
    min-width: 0;
    min-height: 0;
    padding: 10px;
    cursor: pointer;
    text-align: left;
    background: transparent;
}

.fd-document-preview {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 11px;
    color: var(--fd-category);
    background:
        radial-gradient(circle at 76% 20%, rgba(255,255,255,.72), transparent 30%),
        linear-gradient(145deg, var(--fd-category-soft), rgba(245,246,251,.86));
}

.fd-document-preview::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: inherit;
    pointer-events: none;
}

.fd-document-preview > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fd-file-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(38px, 4cqw, 52px);
    height: clamp(38px, 4cqw, 52px);
    border-radius: 15px;
    color: var(--fd-category);
    background: rgba(255,255,255,.74);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fd-category) 16%, transparent);
    font-size: clamp(19px, 2cqw, 27px);
}

.fd-document-category {
    position: absolute;
    left: 6px;
    bottom: 6px;
    max-width: calc(100% - 12px);
    padding: 4px 7px;
    overflow: hidden;
    border-radius: 999px;
    color: var(--fd-category);
    background: rgba(255,255,255,.88);
    box-shadow: 0 4px 12px rgba(31,33,61,.08);
    font-size: 8px;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.fd-document-pin {
    position: absolute;
    top: 6px;
    left: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    color: #bf8629;
    background: rgba(255, 247, 221, .94);
    box-shadow: 0 5px 14px rgba(58,44,16,.12);
    font-size: 10px;
}

.fd-expiration-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    padding: 4px 6px;
    border-radius: 7px;
    font-size: 8px;
    line-height: 1;
    text-transform: uppercase;
}

.fd-expiration-badge.fd-expiring {
    color: #8d5c11;
    background: rgba(255, 235, 194, .94);
}

.fd-expiration-badge.fd-expired {
    color: #a63851;
    background: rgba(255, 223, 230, .95);
}

.fd-document-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 0;
}

.fd-document-title {
    display: -webkit-box;
    overflow: hidden;
    color: #24263b;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: clamp(13px, min(1.15cqw, 1.75cqh), 16px);
    font-weight: normal;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.fd-document-provider {
    margin-top: 4px;
    overflow: hidden;
    color: var(--fd-muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-document-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 9px;
    color: #7b7e92;
    font-size: 9px;
}

.fd-document-meta > span {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.fd-document-meta > span > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-document-actions {
    justify-content: flex-end;
    gap: 5px;
    min-height: 35px;
    padding: 4px 6px 6px 10px;
    border-top: 1px solid rgba(43, 45, 72, .07);
}

.fd-card-view-button {
    min-height: 27px;
    margin-right: auto;
    padding: 0 10px;
    color: var(--fd-category);
    background: var(--fd-category-soft);
    font-size: 9px;
}

.fd-document-actions .fd-icon-button {
    width: 29px;
    min-height: 29px;
    border: 0;
    background: transparent;
    font-size: 10px;
}

.fd-button-loading i {
    animation: fd-spin 650ms linear infinite;
}

.fd-loading-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.fd-skeleton-card {
    display: grid;
    grid-template-columns: 36% 1fr;
    grid-template-rows: 1fr auto;
    gap: 10px;
    min-width: 0;
    min-height: 0;
    padding: 10px;
    border: 1px solid rgba(42,44,70,.07);
    border-radius: var(--fd-small-radius);
    background: rgba(255,255,255,.76);
}

.fd-skeleton-preview,
.fd-skeleton-line {
    border-radius: 10px;
    background: linear-gradient(90deg, #ececf3 20%, #f8f8fb 40%, #ececf3 60%);
    background-size: 220% 100%;
    animation: fd-shimmer 1.6s linear infinite;
}

.fd-skeleton-preview {
    grid-row: 1 / 3;
}

.fd-skeleton-line {
    align-self: end;
    height: 11px;
}

.fd-skeleton-line-short {
    width: 62%;
    align-self: start;
}

.fd-empty-state {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(260px, 1fr);
    gap: clamp(18px, 3cqw, 40px);
    align-items: center;
    justify-content: center;
    padding: clamp(12px, 2cqw, 28px);
    overflow: hidden;
}

.fd-empty-art {
    position: relative;
    width: min(190px, 76%);
    aspect-ratio: 1.42;
    margin: auto;
}

.fd-empty-card {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(42,45,73,.09);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(35,37,67,.10);
}

.fd-empty-card-back {
    transform: translate3d(-13px, -9px, 0) rotate(-5deg);
    background: linear-gradient(145deg, #e9e6ff, #f7f6ff);
}

.fd-empty-card-middle {
    transform: translate3d(12px, 6px, 0) rotate(4deg);
    background: linear-gradient(145deg, #dff5f2, #f6fcfb);
}

.fd-empty-card-front {
    display: grid;
    grid-template-columns: 44px 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    align-items: center;
    padding: 17px;
}

.fd-empty-card-front span {
    grid-row: 1 / 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #6e61e9, #3dc8bd);
}

.fd-empty-card-front i,
.fd-empty-card-front b {
    display: block;
    height: 8px;
    border-radius: 99px;
    background: #e9e9f1;
}

.fd-empty-card-front b {
    width: 62%;
}

.fd-empty-content {
    min-width: 0;
}

.fd-empty-content h3 {
    font-size: clamp(19px, min(2cqw, 3cqh), 27px);
    line-height: 1.06;
}

.fd-empty-content > p {
    max-width: 580px;
    margin-top: 8px !important;
    color: var(--fd-muted);
    font-size: 12px;
    line-height: 1.5;
}

.fd-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 15px;
}

.fd-empty-actions .fd-secondary-button {
    min-height: 34px;
    padding: 0 11px;
    font-size: 10px;
}

.fd-collection > .fd-document-grid,
.fd-collection > .fd-loading-grid,
.fd-collection > .fd-empty-state {
    display: none;
}

.fd-collection[data-state="documents"] > .fd-document-grid,
.fd-collection[data-state="loading"] > .fd-loading-grid,
.fd-collection[data-state="empty"] > .fd-empty-state {
    display: grid;
}

.fd-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-height: 31px;
}

.fd-pagination .fd-icon-button {
    width: 30px;
    min-height: 30px;
    border-radius: 9px;
}

.fd-page-label {
    min-width: 92px;
    color: #76798d;
    font-size: 10px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.fd-sidebar {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: var(--fd-gap);
    min-width: 0;
    min-height: 0;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 260ms ease, transform 420ms cubic-bezier(.2,.8,.2,1), visibility 0s linear 0s;
    animation: fd-rise 420ms 120ms cubic-bezier(.2, .8, .2, 1) both;
}

.fd-guide-card {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: clamp(9px, 1cqh, 13px);
    padding: clamp(14px, min(1.35cqw, 1.8cqh), 19px);
    overflow: hidden;
}

.fd-guide-heading {
    justify-content: space-between;
    gap: 8px;
}

.fd-eyebrow {
    display: block;
    color: #777b91;
    font-size: 9px;
    line-height: 1;
    text-transform: uppercase;
}

.fd-guide-card h2 {
    margin-top: 5px !important;
    font-size: clamp(16px, min(1.45cqw, 2.2cqh), 20px);
    line-height: 1.06;
}

.fd-progress-row {
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 9px 0 12px;
    border-bottom: 1px solid rgba(41,43,70,.075);
}

.fd-progress-row p {
    color: var(--fd-muted);
    font-size: 10px;
    line-height: 1.42;
}

.fd-completion-ring {
    --fd-completion: 0%;
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(53px, min(5.3cqw, 8cqh), 65px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: conic-gradient(var(--fd-violet) var(--fd-completion), rgba(104,92,232,.10) 0);
}

.fd-completion-ring::after {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,.96);
}

.fd-completion-ring strong {
    position: relative;
    z-index: 1;
    color: #4d4788;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 13px;
    font-weight: normal;
    font-variant-numeric: tabular-nums;
}

.fd-category-guide {
    display: grid;
    grid-template-rows: repeat(6, minmax(0, 1fr));
    gap: 3px;
    min-height: 0;
    overflow: hidden;
}

.fd-guide-row {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) 24px;
    gap: 8px;
    justify-content: stretch;
    min-width: 0;
    min-height: 0;
    padding: 4px 5px;
    border-radius: 10px;
    color: #5d6076;
    text-align: left;
    background: transparent;
}

.fd-guide-row:hover {
    background: rgba(104,92,232,.07);
}

.fd-guide-row-icon,
.fd-guide-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    color: #756ae0;
    background: rgba(104,92,232,.09);
    font-size: 11px;
}

.fd-guide-row-action {
    width: 23px;
    height: 23px;
    align-self: center;
    border: 1px solid rgba(104,92,232,.12);
    background: rgba(255,255,255,.75);
    font-size: 8px;
}

.fd-guide-row-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.fd-guide-row-copy strong,
.fd-guide-row-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-guide-row-copy strong {
    color: #45485f;
    font-size: 10px;
    font-weight: normal;
}

.fd-guide-row-copy span {
    margin-top: 1px;
    color: #9295a5;
    font-family: aa_normal, sans_serif_normal, Arial, sans-serif;
    font-size: 8px;
}

.fd-guide-row.fd-complete .fd-guide-row-action {
    color: #25856a;
    border-color: rgba(42,153,119,.13);
    background: rgba(57,171,135,.11);
}

.fd-privacy-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
    padding: clamp(13px, 1.2cqw, 17px);
    overflow: hidden;
    color: #e9eafe;
    border-color: rgba(70,64,131,.13);
    background:
        radial-gradient(circle at 92% 15%, rgba(57,194,184,.18), transparent 32%),
        linear-gradient(135deg, rgba(31,29,57,.97), rgba(46,43,82,.96));
    box-shadow: 0 16px 40px rgba(29,27,59,.16);
}

.fd-privacy-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 13px;
    color: #8aeee6;
    background: rgba(53,199,188,.12);
}

.fd-privacy-card .fd-eyebrow {
    color: #8fe2dc;
}

.fd-privacy-card h2 {
    margin-top: 5px !important;
    color: #f6f6ff;
    font-size: 12px;
    line-height: 1.25;
}

.fd-privacy-card p {
    margin-top: 5px !important;
    color: rgba(232,233,248,.57);
    font-size: 9px;
    line-height: 1.38;
}

.fd-toast-stack {
    position: absolute;
    right: calc(var(--fd-pad) + 3px);
    bottom: calc(var(--fd-pad) + 3px);
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: min(390px, calc(100% - var(--fd-pad) * 2));
    pointer-events: none;
}

.fd-toast {
    min-height: 48px;
    gap: 10px;
    padding: 8px 8px 8px 12px;
    border: 1px solid rgba(36,38,63,.11);
    border-radius: 14px;
    opacity: 0;
    color: #303247;
    background: rgba(255,255,255,.95);
    box-shadow: 0 18px 46px rgba(30,31,57,.18);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    transform: translate3d(0, 12px, 0) scale(.98);
    transition: opacity 200ms ease, transform 240ms cubic-bezier(.2,.8,.2,1);
}

.fd-toast.fd-toast-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.fd-toast-icon {
    display: inline-flex;
    color: #6a5fd8;
}

.fd-toast[data-tone="success"] .fd-toast-icon {
    color: #2c9a78;
}

.fd-toast[data-tone="error"] .fd-toast-icon {
    color: #c24e67;
}

.fd-toast-message {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    line-height: 1.35;
}

.fd-toast-action {
    min-height: 30px;
    padding: 0 9px;
    color: #5a4fd0;
    background: rgba(104,92,232,.09);
    font-size: 10px;
}

.fd-toast .fd-icon-button {
    width: 30px;
    min-height: 30px;
    border: 0;
    background: transparent;
}

.fd-modal-host {
    position: absolute;
    inset: 0;
    z-index: 80;
    pointer-events: none;
}

.fd-modal-layer {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 2cqw, 28px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 0s linear 180ms;
}

.fd-modal-layer.fd-modal-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.fd-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18, 18, 37, .50);
    backdrop-filter: blur(11px) saturate(.8);
}

.fd-modal {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(680px, 100%);
    max-height: min(850px, 94cqh);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.56);
    border-radius: clamp(18px, 2cqw, 25px);
    color: var(--fd-ink);
    background: rgba(250,250,253,.98);
    box-shadow: 0 34px 110px rgba(17,17,38,.34);
    transform: translate3d(0, 18px, 0) scale(.97);
    transition: transform 260ms cubic-bezier(.2,.8,.2,1);
}

.fd-modal-visible .fd-modal {
    transform: translate3d(0, 0, 0) scale(1);
}

.fd-modal-large {
    width: min(1030px, 100%);
    height: min(770px, 92cqh);
}

.fd-modal-detail {
    width: min(1060px, 100%);
    height: min(720px, 91cqh);
}

.fd-modal-small {
    width: min(530px, 100%);
}

.fd-modal-header {
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: clamp(15px, min(1.5cqw, 2cqh), 21px);
    border-bottom: 1px solid rgba(42,44,71,.08);
    background: rgba(255,255,255,.76);
}

.fd-modal-heading {
    gap: 11px;
    min-width: 0;
}

.fd-modal-heading-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    color: #6256dc;
    background: rgba(104,92,232,.11);
}

.fd-modal-heading > div {
    min-width: 0;
}

.fd-modal h2 {
    margin-top: 4px !important;
    overflow: hidden;
    font-size: clamp(17px, min(1.65cqw, 2.4cqh), 23px);
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-modal-close {
    width: 40px;
    min-height: 40px;
    border-radius: 12px;
}

.fd-modal-body {
    min-width: 0;
    min-height: 0;
    padding: clamp(15px, min(1.6cqw, 2.2cqh), 23px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.fd-modal-footer {
    padding: 12px clamp(15px, min(1.6cqw, 2.2cqh), 23px);
    border-top: 1px solid rgba(42,44,71,.08);
    background: rgba(255,255,255,.82);
}

.fd-modal-footer-actions {
    justify-content: flex-end;
    gap: 8px;
}

.fd-modal-footer-split {
    justify-content: space-between;
    gap: 12px;
}

.fd-modal-footer-split > div {
    gap: 8px;
}

.fd-upload-form,
.fd-edit-form {
    min-width: 0;
}

.fd-upload-layout {
    display: grid;
    grid-template-columns: minmax(280px, .76fr) minmax(390px, 1.24fr);
    gap: clamp(16px, 2cqw, 24px);
    min-width: 0;
    min-height: 0;
}

.fd-upload-file-column {
    display: flex;
    flex-direction: column;
    gap: 11px;
    min-width: 0;
}

.fd-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.fd-dropzone {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    min-height: 275px;
    padding: 0;
    overflow: hidden;
    border: 1.5px dashed rgba(104,92,232,.31);
    border-radius: 18px;
    cursor: pointer;
    color: #595275;
    background:
        radial-gradient(circle at 50% 20%, rgba(104,92,232,.10), transparent 34%),
        linear-gradient(145deg, rgba(247,246,255,.95), rgba(241,249,248,.88));
    transition: border-color 170ms ease, background 170ms ease, transform 170ms ease, box-shadow 170ms ease;
}

.fd-dropzone:hover,
.fd-dropzone.fd-drag-active {
    border-color: rgba(104,92,232,.65);
    background:
        radial-gradient(circle at 50% 20%, rgba(104,92,232,.15), transparent 36%),
        linear-gradient(145deg, rgba(244,242,255,.98), rgba(235,249,247,.92));
    box-shadow: 0 18px 42px rgba(64,54,151,.12);
    transform: translateY(-2px);
}

.fd-drop-visual {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 28px;
    text-align: center;
}

.fd-drop-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, #7569ed, #43c8bd);
    box-shadow: 0 17px 34px rgba(91,78,206,.22);
    font-size: 25px;
}

.fd-drop-visual strong {
    margin-top: 18px;
    color: #35344c;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 17px;
    font-weight: normal;
}

.fd-drop-visual > span:not(.fd-drop-icon) {
    margin-top: 5px;
    color: #77798c;
    font-size: 12px;
}

.fd-drop-visual small {
    margin-top: 14px;
    color: #9a9cad;
    font-size: 9px;
}

.fd-selected-file {
    display: none;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    padding: 11px;
}

.fd-selected-file-visual {
    position: relative;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 13px;
    color: #6b60db;
    background: rgba(255,255,255,.72);
}

.fd-selected-file-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fd-selected-file-icon {
    display: inline-flex;
    font-size: 46px;
}

.fd-selected-file-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 11px 4px 2px;
    text-align: left;
}

.fd-selected-file-copy strong,
.fd-selected-file-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-selected-file-copy strong {
    color: #35364c;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 12px;
    font-weight: normal;
}

.fd-selected-file-copy span {
    margin-top: 3px;
    color: #8b8d9d;
    font-size: 9px;
}

.fd-upload-reassurance {
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    color: #52726f;
    background: rgba(50,184,173,.08);
    font-size: 9px;
    line-height: 1.42;
}

.fd-root .fd-upload-reassurance i {
    margin-top: 2px;
    color: #35a99f !important;
}

.fd-metadata-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-width: 0;
    align-content: start;
}

.fd-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.fd-field-wide {
    grid-column: 1 / -1;
}

.fd-field-label {
    color: #5d6075;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 10px;
}

.fd-field textarea {
    min-height: 74px;
    padding: 10px 12px;
    resize: vertical;
    line-height: 1.4;
}

.fd-field small {
    color: #9799a9;
    font-size: 8px;
}

.fd-pin-field {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 55px;
    padding: 8px 11px;
    border: 1px solid rgba(45,47,76,.10);
    border-radius: 13px;
    cursor: pointer;
    background: rgba(247,248,251,.86);
}

.fd-pin-field input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fd-checkmark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(59,61,88,.11);
    border-radius: 11px;
    color: #a3a4b2;
    background: #fff;
    transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.fd-pin-field input:checked + .fd-checkmark {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #e5ae4d, #d88a31);
    box-shadow: 0 9px 19px rgba(209,139,44,.19);
    transform: scale(1.03);
}

.fd-pin-field input:focus-visible + .fd-checkmark {
    outline: 3px solid rgba(104, 92, 232, .38);
    outline-offset: 2px;
}

.fd-pin-field > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fd-pin-field strong {
    color: #45475c;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 10px;
    font-weight: normal;
}

.fd-pin-field small {
    margin-top: 2px;
    color: #9496a6;
    font-size: 8px;
}

.fd-inline-error {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(195,77,101,.15);
    border-radius: 11px;
    color: #a64258;
    background: rgba(240,96,127,.08);
    font-size: 10px;
    line-height: 1.4;
}

.fd-inline-error i {
    margin-top: 2px;
}

.fd-upload-progress {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 11px;
    background: rgba(104,92,232,.07);
}

.fd-upload-progress > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #5d587c;
    font-size: 9px;
}

.fd-upload-progress strong {
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-weight: normal;
    font-variant-numeric: tabular-nums;
}

.fd-progress-track {
    height: 5px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(104,92,232,.11);
}

.fd-progress-track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6c60e7, #3bc5ba);
    transition: width 160ms ease;
}

.fd-edit-file-summary {
    gap: 10px;
    margin-bottom: 15px;
    padding: 11px 12px;
    border: 1px solid rgba(43,45,72,.09);
    border-radius: 12px;
    background: rgba(245,246,250,.86);
}

.fd-edit-file-summary > span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    color: #665bd8;
    background: rgba(104,92,232,.10);
}

.fd-edit-file-summary > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fd-edit-file-summary strong,
.fd-edit-file-summary small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-edit-file-summary strong {
    color: #494b61;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 10px;
    font-weight: normal;
}

.fd-edit-file-summary small {
    margin-top: 2px;
    color: #9294a4;
    font-size: 8px;
}

.fd-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    gap: clamp(17px, 2cqw, 27px);
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.fd-detail-preview,
.fd-detail-details {
    min-width: 0;
    min-height: 0;
}

.fd-detail-preview {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 9px;
}

.fd-detail-preview-stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(45,47,76,.09);
    border-radius: 18px;
    background:
        radial-gradient(circle at 20% 10%, rgba(104,92,232,.09), transparent 35%),
        linear-gradient(145deg, #f0f1f7, #f8f9fb);
}

.fd-preview-loading,
.fd-preview-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px;
    color: #888a9c;
    font-size: 10px;
    text-align: center;
}

.fd-preview-spinner {
    width: 34px;
    height: 34px;
    border: 3px solid rgba(104,92,232,.13);
    border-top-color: #685ce8;
    border-radius: 50%;
    animation: fd-spin 700ms linear infinite;
}

.fd-preview-fallback-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 22px;
    color: #665bd8;
    background: rgba(104,92,232,.10);
    font-size: 29px;
}

.fd-preview-fallback strong {
    max-width: 100%;
    overflow: hidden;
    color: #46485e;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 12px;
    font-weight: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-detail-image,
.fd-detail-pdf {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.fd-detail-image {
    object-fit: contain;
}

.fd-detail-file-meta {
    justify-content: space-between;
    gap: 10px;
    color: #858797;
    font-size: 9px;
}

.fd-detail-file-meta span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fd-detail-details {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 3px;
}

.fd-detail-heading {
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(42,44,71,.08);
}

.fd-detail-category {
    --fd-category: #685ce8;
    --fd-category-soft: rgba(104,92,232,.12);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    color: var(--fd-category);
    background: var(--fd-category-soft);
    font-size: 9px;
    text-transform: uppercase;
}

.fd-detail-heading h3 {
    margin-top: 12px !important;
    font-size: clamp(24px, min(2.5cqw, 4cqh), 34px);
    line-height: 1.02;
}

.fd-detail-heading p {
    margin-top: 7px !important;
    color: var(--fd-muted);
    font-size: 12px;
}

.fd-detail-list {
    margin-top: 8px !important;
}

.fd-detail-row {
    display: grid;
    grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
    gap: 12px;
    align-items: center;
    min-height: 43px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(42,44,71,.065);
}

.fd-detail-row dt {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #868898;
    font-size: 9px;
}

.fd-root .fd-detail-row dt i {
    width: 14px;
    color: #756be0 !important;
    text-align: center;
}

.fd-detail-row dd {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #46485c;
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 10px;
    font-weight: normal;
    text-align: right;
}

.fd-private-reference dd {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    font-family: odudo, monospace;
    font-variant-numeric: tabular-nums;
}

.fd-private-reference button {
    min-height: 25px;
    padding: 0 8px;
    color: #655ad5;
    background: rgba(104,92,232,.09);
    font-family: aa_bold, sans_serif_bold, Arial, sans-serif;
    font-size: 8px;
}

.fd-detail-notes {
    margin-top: 15px;
    padding: 13px;
    border-radius: 13px;
    color: #57596e;
    background: rgba(242,243,248,.85);
}

.fd-detail-notes p {
    margin-top: 7px !important;
    font-size: 10px;
    line-height: 1.5;
    white-space: pre-wrap;
}

.fd-confirm-body {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
    padding: 3px;
}

.fd-confirm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 20px;
    color: #bb4560;
    background: rgba(201,76,102,.10);
    font-size: 23px;
}

.fd-confirm-body h3 {
    font-size: 20px;
    line-height: 1.12;
}

.fd-confirm-body p {
    margin-top: 8px !important;
    color: var(--fd-muted);
    font-size: 11px;
    line-height: 1.5;
}

.fd-confirm-body .fd-inline-error {
    grid-column: 1 / -1;
}

.fd-size-medium {
    --fd-pad: clamp(11px, min(1.35cqw, 1.7cqh), 18px);
    --fd-gap: clamp(9px, min(.9cqw, 1.2cqh), 13px);
}

.fd-size-medium .fd-hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(270px, .82fr);
    min-height: clamp(135px, 20cqh, 168px);
}

.fd-size-medium .fd-stage {
    grid-template-columns: minmax(0, 1fr) clamp(220px, 26cqw, 265px);
}

.fd-size-medium .fd-hero-action-copy,
.fd-size-medium .fd-library-heading-copy > p,
.fd-size-medium .fd-privacy-card {
    max-height: 0;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    border-color: transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fd-size-medium .fd-sidebar {
    grid-template-rows: minmax(0, 1fr) 0fr;
}

.fd-size-medium .fd-controls {
    grid-template-columns: minmax(150px, 1fr) minmax(116px, .36fr);
}

.fd-size-medium .fd-sort-select,
.fd-size-medium .fd-controls > select:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fd-size-medium .fd-document-open {
    grid-template-columns: minmax(78px, 34%) minmax(0, 1fr);
}

.fd-size-medium .fd-category-guide {
    gap: 1px;
}

.fd-size-compact {
    --fd-pad: clamp(8px, min(1.8cqw, 1.8cqh), 13px);
    --fd-gap: clamp(7px, min(1.2cqw, 1.4cqh), 10px);
    --fd-radius: clamp(14px, min(2.2cqw, 2.6cqh), 19px);
    --fd-small-radius: 11px;
}

.fd-size-compact .fd-shell {
    gap: var(--fd-gap);
}

.fd-size-compact .fd-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 105px;
    padding: 13px 15px;
}

.fd-size-compact .fd-hero-copy {
    grid-template-rows: auto auto auto;
}

.fd-size-compact .fd-privacy-pill,
.fd-size-compact .fd-subtitle,
.fd-size-compact .fd-hero-action-copy,
.fd-size-compact .fd-stats {
    position: absolute;
    width: 1px;
    height: 1px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fd-size-compact .fd-title {
    margin-top: 6px !important;
    font-size: clamp(25px, min(6cqw, 6.6cqh), 34px);
}

.fd-size-compact .fd-hero-actions {
    position: absolute;
    right: 14px;
    bottom: 14px;
    margin: 0;
}

.fd-size-compact .fd-add-document-button {
    min-height: 38px;
    padding: 0 13px;
    font-size: 11px;
}

.fd-size-compact .fd-stage {
    display: block;
}

.fd-size-compact .fd-library {
    position: absolute;
    inset: 0;
    grid-template-rows: auto auto auto auto minmax(110px, 1fr) auto;
    padding: 11px;
}

.fd-size-compact .fd-sidebar {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(280px, 80%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(22px, 0, 0);
    transition-delay: 0s, 0s, 420ms;
}

.fd-size-compact .fd-library-heading-copy > p,
.fd-size-compact .fd-result-count {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.fd-size-compact .fd-library h2 {
    font-size: 17px;
}

.fd-size-compact .fd-controls {
    grid-template-columns: minmax(0, 1fr);
}

.fd-size-compact .fd-controls > select {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fd-size-compact .fd-category-strip {
    min-height: 31px;
}

.fd-size-compact .fd-category-pill {
    min-height: 28px;
    padding: 0 9px;
    font-size: 9px;
}

.fd-size-compact .fd-document-open {
    grid-template-columns: minmax(82px, 32%) minmax(0, 1fr);
    gap: 9px;
    padding: 8px;
}

.fd-size-compact .fd-document-actions {
    min-height: 32px;
    padding-top: 2px;
    padding-bottom: 3px;
}

.fd-size-compact .fd-document-meta {
    margin-top: 5px;
}

.fd-size-compact .fd-document-meta > span:last-child {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}

.fd-size-compact .fd-empty-state {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 8px;
    text-align: center;
}

.fd-size-compact .fd-empty-art {
    width: min(118px, 42%);
}

.fd-size-compact .fd-empty-content > p {
    font-size: 10px;
}

.fd-size-compact .fd-empty-actions {
    justify-content: center;
    margin-top: 9px;
}

.fd-size-compact .fd-empty-actions .fd-secondary-button:nth-child(n+3) {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fd-size-compact .fd-modal-layer {
    align-items: flex-end;
    padding: 7px;
}

.fd-size-compact .fd-modal {
    width: 100%;
    max-height: 95cqh;
    border-radius: 19px;
    transform: translate3d(0, 30px, 0) scale(.99);
}

.fd-size-compact .fd-modal-visible .fd-modal {
    transform: translate3d(0, 0, 0) scale(1);
}

.fd-size-compact .fd-modal-large,
.fd-size-compact .fd-modal-detail {
    height: min(800px, 95cqh);
}

.fd-size-compact .fd-upload-layout,
.fd-size-compact .fd-detail-layout {
    grid-template-columns: minmax(0, 1fr);
}

.fd-size-compact .fd-dropzone {
    min-height: 180px;
}

.fd-size-compact .fd-upload-reassurance {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    opacity: 0;
}

.fd-size-compact .fd-metadata-form {
    grid-template-columns: minmax(0, 1fr);
}

.fd-size-compact .fd-field-wide {
    grid-column: auto;
}

.fd-size-compact .fd-detail-preview {
    min-height: 245px;
}

.fd-size-compact .fd-modal-footer-split,
.fd-size-compact .fd-modal-footer-split > div {
    align-items: stretch;
}

.fd-size-compact .fd-modal-footer-split {
    flex-direction: column-reverse;
}

.fd-size-compact .fd-modal-footer-split > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fd-size-compact .fd-modal-footer-split > div:first-child {
    grid-template-columns: minmax(0, 1fr);
}

.fd-size-compact .fd-modal-footer-split button {
    min-width: 0;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 10px;
}

.fd-size-compact .fd-confirm-body {
    grid-template-columns: 48px minmax(0, 1fr);
}

.fd-size-compact .fd-confirm-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 18px;
}

@media (prefers-reduced-motion: reduce) {
    .fd-root *,
    .fd-root *::before,
    .fd-root *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        transition-delay: 0s !important;
    }
}
