:root {
    --navy-950: #041726;
    --navy-900: #071f31;
    --navy-800: #0a304a;
    --blue-600: #0879c9;
    --blue-500: #0d8fe2;
    --cyan-300: #65d5f5;
    --orange: #ff4b1f;
    --orange-soft: #ff7250;
    --ink: #0b2234;
    --muted: #60788b;
    --line: #dce8ef;
    --surface: #ffffff;
    --surface-soft: #f3f8fb;
    --green: #0f9f72;
    --shadow: 0 28px 70px rgba(4, 23, 38, 0.18);
    --radius-xl: 30px;
    --radius-lg: 20px;
    --radius-md: 13px;
}

* { box-sizing: border-box; }

html { min-height: 100%; }

body {
    min-height: 100vh;
    margin: 0;
    color: var(--ink);
    background: #eaf2f6;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
button, input { font: inherit; }

.auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(430px, 0.85fr);
    background: var(--surface);
}

.auth-story {
    position: relative;
    min-height: 100vh;
    padding: clamp(34px, 5vw, 76px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: #fff;
    background:
        radial-gradient(circle at 88% 16%, rgba(13, 143, 226, 0.42), transparent 30%),
        radial-gradient(circle at 12% 90%, rgba(255, 75, 31, 0.19), transparent 31%),
        linear-gradient(145deg, var(--navy-950) 0%, var(--navy-900) 54%, #0a3a58 100%);
}

.auth-story::before,
.auth-story::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(101, 213, 245, 0.16);
    border-radius: 50%;
}

.auth-story::before { width: 560px; height: 560px; right: -260px; top: 16%; }
.auth-story::after { width: 330px; height: 330px; right: -100px; top: 31%; }

.brand-lockup,
.dashboard-brand,
.setup-brand {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.brand-lockup img,
.dashboard-brand img,
.setup-brand img { object-fit: contain; }

.brand-lockup strong,
.setup-brand strong {
    display: block;
    font-size: 1.3rem;
    letter-spacing: -0.035em;
}

.brand-lockup strong span,
.setup-brand strong em { color: var(--orange); font-style: normal; }

.brand-lockup small,
.setup-brand small {
    display: block;
    margin-top: 2px;
    color: #8ccde8;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.story-copy {
    position: relative;
    z-index: 1;
    width: min(720px, 92%);
    margin: auto 0;
    padding: 70px 0;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--blue-600);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.auth-story .eyebrow { color: var(--cyan-300); }
.eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255, 75, 31, .12); }

.story-copy h1 {
    max-width: 760px;
    margin: 25px 0 22px;
    font-size: clamp(3rem, 5.1vw, 5.7rem);
    line-height: .98;
    letter-spacing: -.065em;
}

.story-copy > p {
    max-width: 610px;
    margin: 0;
    color: #b7d3e1;
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.75;
}

.trust-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.trust-row span { padding: 10px 14px; border: 1px solid rgba(164, 218, 240, .18); border-radius: 999px; color: #cbe6f1; background: rgba(255,255,255,.045); font-size: .76rem; font-weight: 700; }
.trust-row span::before { content: "✓"; margin-right: 7px; color: #5de0b0; }

.auth-story footer {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #78a5ba;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.auth-card {
    min-height: 100vh;
    padding: clamp(28px, 6vw, 90px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(rgba(227, 238, 244, .54) 1px, transparent 1px),
        linear-gradient(90deg, rgba(227, 238, 244, .54) 1px, transparent 1px),
        #f8fbfd;
    background-size: 34px 34px;
}

.auth-card__inner { width: min(440px, 100%); margin: auto; padding: 46px; border: 1px solid rgba(201, 219, 230, .88); border-radius: var(--radius-xl); background: rgba(255,255,255,.95); box-shadow: var(--shadow); }
.access-badge { display: inline-flex; padding: 8px 11px; border-radius: 999px; color: #0676b9; background: #e6f5fd; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.access-badge::before { content: "●"; margin-right: 7px; color: var(--green); }
.auth-card h2 { margin: 24px 0 8px; font-size: 2.45rem; letter-spacing: -.055em; }
.auth-intro { margin: 0 0 30px; color: var(--muted); line-height: 1.65; }

.auth-form { display: grid; gap: 18px; }
.field { display: grid; gap: 8px; }
.field > span { font-size: .8rem; font-weight: 800; color: #203a4c; }
.field small { color: var(--muted); font-size: .72rem; }
.field input { width: 100%; min-height: 54px; padding: 0 15px; border: 1px solid #cadbe5; border-radius: var(--radius-md); color: var(--ink); background: #fbfdfe; outline: 0; transition: border-color .2s, box-shadow .2s, background .2s; }
.field input:focus { border-color: var(--blue-500); background: #fff; box-shadow: 0 0 0 4px rgba(13, 143, 226, .12); }

.button { min-height: 54px; padding: 0 20px; border: 0; border-radius: var(--radius-md); display: inline-flex; align-items: center; justify-content: center; gap: 12px; text-decoration: none; font-weight: 800; cursor: pointer; transition: transform .18s, box-shadow .18s, background .18s; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fff; background: linear-gradient(135deg, var(--blue-600), var(--blue-500)); box-shadow: 0 13px 24px rgba(8, 121, 201, .25); }
.button--primary:hover { box-shadow: 0 16px 28px rgba(8, 121, 201, .32); }
.button b { font-size: 1.2rem; }

.notice { margin: 18px 0; padding: 14px 15px; border-radius: 12px; font-size: .83rem; line-height: 1.55; }
.notice--error { color: #8c2e21; border: 1px solid #ffc8be; background: #fff1ee; }
.notice--warning { color: #785c13; border: 1px solid #f4dfa3; background: #fffae9; }
.notice--success { color: #087052; border: 1px solid #aee8d2; background: #ecfbf5; }

.security-note { display: flex; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.security-note__icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; color: #067756; background: #dcf7ec; font-weight: 900; }
.security-note p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.security-note strong { color: #294354; }
.auth-help { margin: 28px auto 0; color: #7890a1; font-size: .72rem; }

.setup-shell { width: min(620px, calc(100% - 32px)); min-height: 100vh; margin: 0 auto; padding: 56px 0; display: flex; flex-direction: column; justify-content: center; }
.setup-brand { margin: 0 auto 26px; color: var(--ink); }
.setup-card { padding: clamp(30px, 6vw, 54px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow); }
.setup-card h1 { margin: 22px 0 10px; font-size: clamp(2rem, 6vw, 3rem); letter-spacing: -.055em; }
.setup-card > p { color: var(--muted); line-height: 1.65; }
.setup-card .auth-form { margin-top: 28px; }
.setup-footnote { margin: 22px auto 0; color: var(--muted); font-size: .75rem; text-align: center; }

.dashboard-shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); background: #f2f6f9; }
.dashboard-sidebar { position: sticky; top: 0; height: 100vh; padding: 26px 18px 22px; display: flex; flex-direction: column; color: #d7ebf5; background: linear-gradient(180deg, #061c2c 0%, #08283c 100%); box-shadow: 12px 0 32px rgba(3, 24, 38, .07); }
.dashboard-brand { padding: 0 10px 30px; color: #fff; }
.dashboard-brand strong, .dashboard-brand small { display: block; }
.dashboard-brand strong { font-size: 1rem; letter-spacing: -.015em; }
.dashboard-brand small { margin-top: 4px; color: #73b8d5; font-size: .61rem; letter-spacing: .14em; text-transform: uppercase; }
.dashboard-sidebar nav { display: grid; gap: 6px; }
.dashboard-sidebar nav a { position: relative; min-height: 46px; padding: 13px 16px; border-radius: 11px; display: flex; align-items: center; color: #b9d4e0; text-decoration: none; font-size: .88rem; font-weight: 780; transition: background .16s ease, color .16s ease, transform .16s ease; }
.dashboard-sidebar nav a::before { content: ""; width: 3px; height: 0; margin-right: 0; border-radius: 4px; background: var(--orange); transition: height .16s ease, margin-right .16s ease; }
.dashboard-sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.06); transform: translateX(2px); }
.dashboard-sidebar nav a.is-active { color: #fff; background: linear-gradient(135deg, #0b6fab, #0a83cc); box-shadow: 0 10px 24px rgba(0, 89, 149, .22); }
.dashboard-sidebar nav a.is-active::before { height: 18px; margin-right: 11px; }
.sidebar-footer { margin-top: auto; padding: 22px 8px 0; border-top: 1px solid rgba(255,255,255,.09); }
.user-chip { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.user-chip > b { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg, var(--blue-500), var(--orange)); font-size: .72rem; }
.user-chip span strong, .user-chip span small { display: block; }
.user-chip span strong { color: #fff; font-size: .78rem; }
.user-chip span small { margin-top: 2px; color: #78a9bd; font-size: .64rem; }
.logout-button { width: 100%; min-height: 41px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #c5dbe5; background: rgba(255,255,255,.04); cursor: pointer; font-weight: 750; }
.logout-button:hover { color: #fff; background: rgba(255,255,255,.08); }

.dashboard-main { min-width: 0; padding: clamp(30px, 4.5vw, 62px); background: #f2f6f9; }
.dashboard-header { display: flex; justify-content: space-between; gap: 28px; align-items: center; }
.dashboard-header h1 { margin: 12px 0 7px; font-size: clamp(2.25rem, 4vw, 3.45rem); line-height: 1; letter-spacing: -.06em; }
.dashboard-header p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.6; }
.status-pill { flex: 0 0 auto; padding: 10px 14px; border: 1px solid #b7e8d7; border-radius: 999px; color: #087052; background: #eafaf4; font-size: .72rem; font-weight: 850; }
.status-pill::before { content: "●"; margin-right: 7px; }
.dashboard-notice { margin: 26px 0 0; }

.hero-panel { position: relative; min-height: 260px; margin-top: 34px; padding: clamp(32px, 5vw, 56px); overflow: hidden; display: flex; align-items: center; color: #fff; border-radius: 26px; background: linear-gradient(135deg, var(--navy-900), #0b4c70); box-shadow: 0 20px 44px rgba(4, 28, 45, .15); }
.hero-panel > div:first-child { position: relative; z-index: 2; max-width: 700px; }
.hero-panel__label { color: var(--cyan-300); font-size: .7rem; font-weight: 900; letter-spacing: .17em; }
.hero-panel h2 { margin: 15px 0 13px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.04; letter-spacing: -.055em; }
.hero-panel p { max-width: 650px; margin: 0; color: #b8d8e6; line-height: 1.7; }
.hero-orbit { position: absolute; width: 310px; height: 310px; right: -45px; top: -25px; border: 1px solid rgba(101, 213, 245, .22); border-radius: 50%; }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; border: 1px solid rgba(101, 213, 245, .15); border-radius: 50%; inset: 42px; }
.hero-orbit::after { inset: 95px; background: rgba(13, 143, 226, .15); }
.hero-orbit span { position: absolute; width: 12px; height: 12px; left: 32px; top: 82px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 24px var(--orange); }

.metric-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.metric-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(15, 52, 74, .045); }
.metric-grid article > span { color: var(--blue-600); font-size: .66rem; font-weight: 900; letter-spacing: .1em; }
.metric-grid article strong { display: block; margin: 13px 0 3px; font-size: 1.75rem; letter-spacing: -.04em; }
.metric-grid article p { margin: 0; color: var(--muted); font-size: .78rem; }

.quick-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.quick-card { min-height: 225px; padding: 28px; border: 1px solid var(--line); border-radius: 20px; display: flex; flex-direction: column; color: var(--ink); background: #fff; text-decoration: none; box-shadow: 0 10px 28px rgba(15, 52, 74, .045); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.quick-card:hover { border-color: #b7d9ea; transform: translateY(-3px); box-shadow: 0 18px 36px rgba(15, 52, 74, .09); }
.quick-card small { color: var(--orange); font-size: .67rem; font-weight: 900; }
.quick-card h3 { margin: 22px 0 9px; font-size: 1.27rem; letter-spacing: -.035em; }
.quick-card p { margin: 0 0 22px; color: var(--muted); line-height: 1.62; }
.quick-card b { margin-top: auto; color: var(--blue-600); font-size: .78rem; }

.content-grid, .files-layout { margin-top: 32px; display: grid; grid-template-columns: minmax(310px, .72fr) minmax(420px, 1.28fr); gap: 20px; align-items: start; }
.files-layout { grid-template-columns: minmax(300px, .62fr) minmax(440px, 1.38fr); }
.panel-card { border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(15, 52, 74, .055); }
.form-panel, .upload-panel { position: sticky; top: 28px; padding: 28px; }
.list-panel, .file-list-panel { min-height: 460px; padding: 28px; }
.panel-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.panel-heading span { color: var(--blue-600); font-size: .65rem; font-weight: 900; letter-spacing: .13em; }
.panel-heading h2 { margin: 7px 0 0; font-size: 1.55rem; letter-spacing: -.04em; }
.panel-heading > b { min-width: 36px; height: 36px; padding: 0 10px; display: grid; place-items: center; border-radius: 11px; color: var(--blue-600); background: #edf7fc; font-size: .8rem; }
.workspace-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field--full { grid-column: 1 / -1; }
.field select, .field textarea { width: 100%; border: 1px solid #ccdce5; border-radius: 12px; color: var(--ink); background: #fbfdfe; font: inherit; outline: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.field select { height: 48px; padding: 0 13px; }
.field textarea { min-height: 110px; padding: 13px; resize: vertical; }
.field select:focus, .field textarea:focus { border-color: #159fe4; background: #fff; box-shadow: 0 0 0 4px rgba(21, 159, 228, .12); }
.workspace-form .button { width: 100%; }

.professional-empty { min-height: 300px; padding: 42px; border: 1px dashed #c9dae3; border-radius: 17px; display: grid; place-content: center; text-align: center; background: #f8fbfd; }
.professional-empty strong { font-size: 1rem; }
.professional-empty p { margin: 8px 0 0; color: var(--muted); font-size: .82rem; }
.record-list { display: grid; gap: 13px; }
.record-card { padding: 20px; border: 1px solid #dbe7ed; border-radius: 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; background: #fff; }
.record-type { color: var(--blue-600); font-size: .63rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.record-card h3 { margin: 8px 0 7px; font-size: 1.05rem; letter-spacing: -.025em; }
.record-card p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; white-space: pre-line; }
.record-meta { min-width: 130px; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.record-meta small { color: #8094a1; font-size: .67rem; }
.record-meta a { color: var(--blue-600); font-size: .72rem; font-weight: 800; text-decoration: none; }
.state { display: inline-flex; padding: 7px 9px; border-radius: 999px; font-size: .64rem; font-weight: 900; text-transform: uppercase; }
.state--en-progreso, .state--aprobada, .state--completado { color: #087052; background: #e6f8f1; }
.state--idea, .state--pendiente { color: #145f8f; background: #eaf5fb; }
.state--en-pausa, .state--requiere-ajustes { color: #9a5b05; background: #fff3dd; }

.upload-form { display: grid; gap: 15px; }
.upload-field { min-height: 190px; padding: 26px; border: 1px dashed #b9d1dd; border-radius: 17px; display: grid; place-content: center; text-align: center; cursor: pointer; background: #f6fafc; }
.upload-field input { width: 100%; margin-bottom: 18px; font-size: .75rem; }
.upload-field strong { font-size: .93rem; }
.upload-field span { margin-top: 6px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.privacy-copy { margin: 18px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.file-list { display: grid; gap: 10px; }
.file-row { padding: 16px 17px; border: 1px solid #dbe7ed; border-radius: 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 18px; align-items: center; color: var(--ink); text-decoration: none; transition: border-color .16s ease, background .16s ease; }
.file-row:hover { border-color: #acd2e5; background: #f8fcfe; }
.file-row div strong, .file-row div small { display: block; }
.file-row div strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; }
.file-row div small { margin-top: 5px; color: #8094a1; font-size: .66rem; }
.file-row > span { color: var(--muted); font-size: .72rem; }
.file-row > b { color: var(--blue-600); font-size: .72rem; }

.shared-intro { margin-top: 32px; padding: 30px 34px; display: flex; justify-content: space-between; gap: 32px; align-items: center; background: linear-gradient(135deg, #fff, #f5fbfe); }
.shared-intro > div { max-width: 720px; }
.shared-intro h2 { margin: 9px 0 8px; font-size: clamp(1.55rem, 3vw, 2.2rem); letter-spacing: -.045em; }
.shared-intro p { margin: 0; color: var(--muted); line-height: 1.65; }
.shared-intro ul { min-width: 250px; margin: 0; padding: 18px 20px 18px 42px; border-radius: 15px; color: #315266; background: #edf7fc; font-size: .76rem; line-height: 1.9; }
.shared-intro li::marker { color: var(--green); }

.shared-layout { margin-top: 20px; display: grid; grid-template-columns: minmax(310px, .68fr) minmax(500px, 1.32fr); gap: 20px; align-items: start; }
.shared-list-panel { min-height: 520px; padding: 28px; }
.upload-field--compact { min-height: 145px; }
.shared-site-list { display: grid; gap: 15px; }
.shared-site-card { padding: 20px; border: 1px solid #d9e6ed; border-radius: 17px; background: #fff; box-shadow: 0 8px 20px rgba(15, 52, 74, .035); }
.shared-site-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; }
.shared-site-card__top h3 { margin: 10px 0 5px; font-size: 1.13rem; letter-spacing: -.03em; }
.shared-site-card__top p { margin: 0; color: var(--muted); font-size: .7rem; }
.button--subtle { min-height: 38px; padding: 0 14px; color: #455f70; border: 1px solid #d4e1e8; background: #f7fafc; font-size: .71rem; }
.button--subtle:hover { background: #edf4f7; box-shadow: none; }
.share-link-row { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.share-link-row input { min-width: 0; height: 42px; padding: 0 12px; border: 1px solid #cadde7; border-radius: 10px; color: #486272; background: #f7fafc; font-size: .72rem; }
.button--copy, .button--outline { min-height: 42px; padding: 0 14px; font-size: .71rem; white-space: nowrap; }
.button--copy { color: #fff; background: var(--blue-600); }
.button--copy.is-copied { background: var(--green); }
.button--outline { color: var(--blue-600); border: 1px solid #b9d8e8; background: #fff; box-shadow: none; }
.button--outline:hover { background: #f0f8fc; box-shadow: none; }
.version-panel { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e5edf2; }
.version-panel summary { color: var(--blue-600); cursor: pointer; font-size: .73rem; font-weight: 800; }
.version-panel form { margin-top: 13px; display: flex; gap: 10px; align-items: center; }
.version-panel input[type="file"] { min-width: 0; flex: 1; font-size: .72rem; }

@media (max-width: 1040px) {
    .auth-shell { grid-template-columns: 1fr; }
    .auth-story { min-height: 46vh; }
    .story-copy { padding: 70px 0 42px; }
    .story-copy h1 { max-width: 800px; font-size: clamp(2.8rem, 9vw, 5rem); }
    .auth-card { min-height: auto; padding: 54px 24px; }
    .dashboard-shell { grid-template-columns: 1fr; }
    .dashboard-sidebar { position: static; width: 100%; height: auto; padding: 20px; }
    .dashboard-brand { padding-bottom: 20px; }
    .dashboard-sidebar nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .dashboard-sidebar nav a { justify-content: center; }
    .dashboard-sidebar nav a.is-active::before { display: none; }
    .sidebar-footer { margin-top: 20px; display: flex; justify-content: space-between; align-items: center; }
    .sidebar-footer form { width: 180px; }
    .content-grid, .files-layout, .shared-layout { grid-template-columns: 1fr; }
    .form-panel, .upload-panel { position: static; }
    .shared-intro { align-items: flex-start; }
}

@media (max-width: 720px) {
    .auth-story { padding: 28px 24px; }
    .story-copy { width: 100%; padding: 64px 0 35px; }
    .story-copy h1 { font-size: 2.85rem; }
    .auth-story footer { gap: 18px; }
    .auth-card__inner { padding: 30px 24px; border-radius: 22px; }
    .auth-card h2 { font-size: 2rem; }
    .dashboard-sidebar { padding: 18px 14px; }
    .dashboard-sidebar nav { display: flex; overflow-x: auto; padding-bottom: 5px; }
    .dashboard-sidebar nav a { flex: 0 0 auto; min-width: 112px; justify-content: center; }
    .sidebar-footer { display: block; }
    .sidebar-footer form { width: 100%; }
    .dashboard-main { padding: 28px 16px 44px; }
    .dashboard-header { align-items: flex-start; flex-direction: column; }
    .dashboard-header h1 { font-size: 2.35rem; }
    .status-pill { align-self: flex-start; }
    .hero-panel { min-height: 340px; align-items: flex-end; }
    .hero-orbit { right: -110px; top: -90px; }
    .metric-grid, .quick-grid { grid-template-columns: 1fr; }
    .quick-card { min-height: 195px; }
    .workspace-form { grid-template-columns: 1fr; }
    .field--full { grid-column: auto; }
    .record-card { grid-template-columns: 1fr; }
    .record-meta { align-items: flex-start; }
    .file-row { grid-template-columns: minmax(0, 1fr) auto; }
    .file-row > b { grid-column: 1 / -1; }
    .shared-intro { padding: 25px; flex-direction: column; }
    .shared-intro ul { width: 100%; min-width: 0; }
    .shared-site-card__top { flex-direction: column; }
    .share-link-row { grid-template-columns: 1fr 1fr; }
    .share-link-row input { grid-column: 1 / -1; }
    .version-panel form { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
