@charset "UTF-8";

:root {
  color-scheme: light;
  --forest: #173d31;
  --forest-dark: #133329;
  --cream: #f6f5ef;
  --ink: #213b35;
  --muted: #6a766d;
  --lime: #d7eaaa;
  --line: #dce2d5;
  --font: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; color: var(--ink); background: var(--cream); font: 14px/1.6 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; touch-action: manipulation; }
button, input { font: inherit; }
h1, h2, p { margin: 0; }
svg { display: block; max-width: 100%; }
::selection { background: var(--lime); color: var(--forest); }
:focus-visible { outline: 3px solid #a47b43; outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 10; padding: 12px 20px; background: #fff; color: var(--forest); border-radius: 6px; }
.skip-link:focus { top: 20px; }

.pilot-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; min-height: 100dvh; }
.story { position: relative; display: flex; flex-direction: column; padding: 46px 56px 31px; overflow: hidden; background: var(--forest); color: #eff5e8; }
.brand { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; font-size: 33px; font-weight: 730; letter-spacing: -1.55px; line-height: 1; }
.brand-symbol { width: 34px; height: 34px; color: var(--lime); }
.brand-dot { color: var(--lime); }
.story-content { position: relative; z-index: 1; margin-top: clamp(64px, 11vh, 120px); }
.eyebrow { font-size: 10px; line-height: 1.5; letter-spacing: 2px; font-weight: 650; }
.story .eyebrow { color: #b6caaa; }
.story h2 { margin-top: 22px; font-size: clamp(34px, 4.2vw, 64px); line-height: 1.12; font-weight: 450; letter-spacing: -2px; }
.story-description { max-width: 350px; margin-top: 24px; color: #c0d0b8; font-size: 14px; line-height: 1.85; }
.building { width: calc(100% + 64px); max-width: none; height: auto; flex-shrink: 0; margin: auto -29px 0; padding-top: 26px; }
.building-line { fill: none; stroke: #698069; stroke-width: 1.05; stroke-linecap: round; stroke-linejoin: round; }
.secondary-line { stroke: #58755b; }
.highlight-window { fill: #a3bc78; fill-opacity: .55; stroke: #b4ce86; stroke-width: 1; }
.sun-line { fill: none; stroke: #aec98a; stroke-width: 1.2; stroke-linecap: round; }
.story-footer { display: flex; align-items: center; gap: 20px; margin-top: 20px; color: #aec3a4; font-size: 10px; letter-spacing: .5px; }
.footer-line { flex: 1; max-width: 130px; height: 1px; background: #5a7359; }

.access { display: flex; flex-direction: column; min-width: 0; padding: 37px clamp(34px, 5vw, 85px) 28px; }
.home-link { display: inline-flex; align-items: center; gap: 8px; align-self: flex-end; min-height: 40px; color: var(--muted); font-size: 11px; }
.home-link:hover { color: var(--forest); }
.access-card { width: 100%; max-width: 420px; margin: auto; padding: 41px 0 47px; }
.pilot-status { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid #d5dfc7; border-radius: 5px; background: #eaf0de; color: #53694b; font-size: 10px; font-weight: 600; }
.pilot-status > span { width: 6px; height: 6px; border-radius: 50%; background: #718c59; }
.access-eyebrow { margin-top: 31px; color: #7a856f; font-size: 9px; letter-spacing: 1.7px; }
h1 { margin-top: 11px; color: var(--forest-dark); font-size: clamp(35px, 3.8vw, 49px); font-weight: 520; line-height: 1.1; letter-spacing: -1.85px; }
.intro { max-width: 382px; margin-top: 18px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.login-fields { margin-top: 31px; }
.login-fields label { display: block; margin-bottom: 8px; color: #51614e; font-size: 11px; font-weight: 600; }
.login-fields input { display: block; width: 100%; min-height: 49px; padding: 12px 14px; border: 1px solid #d9dfd2; border-radius: 8px; color: #788370; background: #f0f2e9; font-size: 13px; opacity: 1; cursor: not-allowed; }
.login-fields input::placeholder { color: #7f8a76; opacity: 1; }
.login-button { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 49px; margin-top: 13px; padding: 12px 16px; border: 1px solid #d9e0ce; border-radius: 8px; background: #dde4d2; color: #6b7a60; font-size: 12px; font-weight: 600; opacity: 1; cursor: not-allowed; }
.login-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.field-note { margin-top: 9px; color: #73806b; font-size: 10px; line-height: 1.6; }
.invitation-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 27px; padding-top: 23px; border-top: 1px solid var(--line); }
.invitation-icon { display: grid; place-items: center; width: 33px; height: 33px; flex-shrink: 0; border-radius: 8px; background: #e8eddf; color: #70835f; }
.invitation-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.invitation-note h2 { margin-top: 2px; font-size: 12px; font-weight: 600; line-height: 1.5; color: #485f41; }
.invitation-note p { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.contact-note { margin-top: 27px; color: var(--muted); font-size: 10px; line-height: 1.9; }
.contact-note a { display: inline-block; margin-left: 3px; color: #44613b; font-weight: 600; text-decoration: underline; text-decoration-color: #acb999; text-underline-offset: 3px; }
.contact-note a:hover { color: var(--forest); text-decoration-color: var(--forest); }
.access-footer { display: flex; justify-content: space-between; gap: 15px; color: #7d8875; font-size: 9px; letter-spacing: 1px; }

@media (min-width: 1650px) {
  .story { padding-left: 75px; padding-right: 75px; }
  .story-content { margin-top: 105px; }
  .story h2 { font-size: 68px; }
  .building { max-height: 38vh; }
  .access-card { max-width: 450px; }
}

@media (max-width: 1100px) {
  .story { padding-left: 35px; padding-right: 35px; }
  .access { padding-left: 36px; padding-right: 36px; }
  .story h2 { font-size: 44px; letter-spacing: -1.7px; }
  .story-description { font-size: 13px; }
  h1 { font-size: 41px; }
  .brand { font-size: 29px; }
  .brand-symbol { width: 31px; height: 31px; }
  .story-footer { font-size: 9px; }
}

@media (max-width: 760px) {
  .pilot-shell { grid-template-columns: 1fr; }
  .story { min-height: 0; padding: 27px 27px 30px; }
  .brand { font-size: 28px; gap: 10px; }
  .brand-symbol { width: 28px; height: 28px; }
  .story-content { margin-top: 28px; max-width: 380px; }
  .story .eyebrow { font-size: 8px; letter-spacing: 1.6px; }
  .story h2 { margin-top: 12px; font-size: 32px; line-height: 1.15; letter-spacing: -1px; }
  .story-description, .story-footer, .building { display: none; }
  .access { padding: 14px 27px 24px; }
  .home-link { min-height: 44px; font-size: 10px; }
  .access-card { max-width: 470px; margin: 0 auto; padding: 13px 0 41px; }
  .access-eyebrow { margin-top: 25px; font-size: 9px; }
  h1 { font-size: 40px; letter-spacing: -1.6px; }
  .intro { max-width: 420px; font-size: 12px; }
  .login-fields { margin-top: 25px; }
  .login-fields label { font-size: 12px; }
  .login-fields input { min-height: 51px; font-size: 16px; }
  .login-button { min-height: 51px; font-size: 12px; }
  .invitation-note { margin-top: 24px; padding-top: 22px; }
  .contact-note { margin-top: 24px; font-size: 11px; }
  .access-footer { max-width: 470px; width: 100%; margin: auto auto 0; font-size: 8px; }
}

@media (max-width: 390px) {
  .story { padding-left: 22px; padding-right: 22px; }
  .access { padding-left: 22px; padding-right: 22px; }
  .story h2 { font-size: 29px; }
  h1 { font-size: 37px; }
  .contact-note a { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* The authenticated workspace uses the same restrained palette as the entrance. */
[hidden] { display: none !important; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
button { cursor: pointer; touch-action: manipulation; }
button:disabled { cursor: not-allowed; opacity: .58; }
.login-fields .password-label { margin-top: 16px; }
.login-fields input:not(:disabled) { background: #fffefb; color: var(--ink); cursor: text; }
.login-fields input:focus { outline: 2px solid #81996e; outline-offset: 2px; }
.login-button:not(:disabled), fieldset:not(:disabled) .login-button { color: #fff; background: var(--forest); border-color: var(--forest); cursor: pointer; }
.auth-message { margin-top: 20px; padding: 13px 15px; border: 1px solid #e5c9b9; border-radius: 8px; color: #96523d; background: #f9eee7; font-size: 12px; }
.auth-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 11px 16px; border: 1px solid var(--forest); border-radius: 8px; color: #fff; background: var(--forest); font-size: 12px; font-weight: 600; line-height: 1.5; text-align: center; }
.button:hover:not(:disabled) { background: #28513e; border-color: #28513e; }
.button.secondary { border-color: #ccd7c2; color: var(--forest); background: #fffefb; }
.button.secondary:hover:not(:disabled) { background: #eef3e6; }
.button.ghost { border-color: transparent; background: transparent; color: var(--forest); }
.button.danger { border-color: #e6c8b6; background: #faece2; color: #a95c40; }
.button.compact { min-height: 36px; padding: 7px 11px; font-size: 11px; }
.button.full { width: 100%; }
.portal-layout { display: grid; grid-template-columns: 228px minmax(0,1fr); min-height: 100dvh; }
.portal-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100dvh; padding: 36px 22px 25px; background: var(--forest); color: #dfead5; }
.portal-sidebar .brand { font-size: 31px; gap: 0; }
.sidebar-kicker { margin-top: 12px; margin-bottom: 44px; font-size: 9px; letter-spacing: 2.3px; color: #afc1a2; }
.side-link { display: flex; gap: 13px; align-items: center; width: 100%; min-height: 46px; padding: 12px 14px; border: 0; border-radius: 8px; background: #d7eaaa; color: var(--forest); text-align: left; font-size: 12px; font-weight: 600; }
.side-link>span:first-child { font-size: 22px; line-height: 1; }
.sidebar-bottom { margin-top: auto; padding-top: 30px; }
.sidebar-bottom p { color: #a4ba97; font-size: 12px; line-height: 1.9; }
.sidebar-bottom a { display: block; margin-top: 25px; padding-top: 17px; border-top: 1px solid #496849; color: #c1d1b4; font-size: 10px; }
.portal-workspace { min-width: 0; }
.workspace-topbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 83px; padding: 16px 36px; border-bottom: 1px solid var(--line); background: #fafbf6; }
.workspace-label { color: var(--muted); font-size: 11px; }
.mobile-brand { display: none; border: 0; padding: 0; color: var(--forest); background: transparent; font-size: 24px; font-weight: 750; letter-spacing: -1px; }
.mobile-brand span { color: #8ba367; }
.user-menu { display: flex; align-items: center; gap: 17px; }
.user-copy { text-align: right; }
.user-copy strong { display: block; font-size: 12px; font-weight: 600; }
.user-copy>span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.app-content { max-width: 1400px; margin: auto; padding: 31px 36px 65px; }
.app-content:focus { outline: none; }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-bottom: 25px; }
.page-head h1 { margin-top: 7px; font-size: clamp(27px,3vw,39px); font-weight: 570; letter-spacing: -1.25px; overflow-wrap: anywhere; }
.page-head .description { max-width: 680px; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; color: var(--muted); font-size: 10px; }
.breadcrumbs button { min-height: 30px; padding: 3px 0; border: 0; background: transparent; color: #49643d; font: inherit; text-decoration: underline; text-decoration-color: #acbb9f; text-underline-offset: 3px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 26px 0 16px; }
.section-heading h2 { font-size: 18px; font-weight: 600; letter-spacing: -.4px; }
.section-heading p { color: var(--muted); font-size: 11px; }
.grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.card { min-width: 0; padding: 23px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: #fffefb; }
button.card { width: 100%; text-align: left; font: inherit; }
button.card:hover { border-color: #a9bd96; box-shadow: 0 6px 17px #173d3106; }
.card h2,.card h3 { font-size: 17px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.card p { margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.card-kicker { margin-bottom: 11px; color: #849277; font-size: 9px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.card-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px; margin-top: 21px; padding-top: 16px; border-top: 1px solid #e5e9dc; color: #597446; font-size: 11px; }
.organization-monogram { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 21px; border: 1px solid #dce5ce; border-radius: 11px; color: #647c53; background: #f1f5e9; font-size: 15px; font-weight: 650; }
.empty { display: grid; justify-items: start; gap: 13px; padding: 37px; border: 1px dashed #d2dcc5; border-radius: 13px; background: #f4f7ed; }
.empty h2,.empty h3 { font-size: 18px; font-weight: 550; }
.empty p { max-width: 540px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.search-input { width: min(350px,100%); min-height: 43px; margin-bottom: 21px; padding: 12px 14px; border: 1px solid #d5dfc9; border-radius: 8px; background: #fffefb; color: var(--ink); font: inherit; font-size: 12px; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 5px; background: #edf1e5; color: #6b795f; font-size: 10px; font-weight: 600; white-space: nowrap; }
.badge[data-tone="success"] { background: #e9f2e1; color: #4c703c; }
.badge[data-tone="warning"] { background: #fbf0d4; color: #946c25; }
.badge[data-tone="danger"] { background: #f9e9df; color: #a15b40; }
.badge[data-tone="info"] { background: #e7f0ee; color: #53756e; }
.banner { margin-bottom: 20px; padding: 15px 17px; border: 1px solid #d8e2ca; border-radius: 10px; background: #edf3e2; color: #5d7550; font-size: 12px; line-height: 1.8; }
.banner p+p { margin-top: 5px; }
.banner .actions { margin-top: 11px; }
.banner.warning { background: #fff6e1; border-color: #eeddb4; color: #927332; }
.banner.danger { background: #fcf0e7; border-color: #eed2c0; color: #9d5d43; }
.connection-notice { padding: 12px 36px; border-bottom: 1px solid #eedcaf; color: #8a692c; background: #fff5dc; font-size: 11px; }
.stats-row { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.stat { padding: 17px 19px; border: 1px solid var(--line); border-radius: 10px; background: #fffefb; }
.stat strong { display: block; font-size: 25px; font-weight: 600; letter-spacing: -.7px; font-variant-numeric: tabular-nums; }
.stat span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.stat[data-status="issue"] strong { color: #af6145; }
.stat[data-status="ok"] strong { color: #588347; }
.stat[data-status="blocked"] strong { color: #a3863c; }
.round-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 15px; color: var(--muted); font-size: 11px; }
.timer { padding: 7px 10px; border: 1px solid #d4e0c3; border-radius: 7px; color: #526f42; background: #edf4e2; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.save-status { font-size: 11px; color: #638153; }
.save-status[data-state="saving"] { color: #89703a; }
.save-status[data-state="error"],.save-status[data-state="conflict"] { color: #b06448; }
.area-tabs { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; padding-bottom: 6px; overflow-x: auto; }
.area-tabs button { min-height: 42px; padding: 9px 13px; border: 1px solid #d8e1cd; border-radius: 7px; color: #78866c; background: #fffefb; font: inherit; font-size: 11px; white-space: nowrap; }
.area-tabs button[aria-selected="true"] { color: #fff; border-color: var(--forest); background: var(--forest); }
.area-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.area-heading h2 { font-size: 21px; font-weight: 600; letter-spacing: -.5px; }
.area-details { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; color: var(--muted); font-size: 11px; }
.area-details span+span::before { content: "·"; margin-right: 7px; color: #a8b59a; }
.registration-hint { margin-top: 22px; padding: 13px 16px; border-radius: 8px; background: #f1f5e8; font-size: 12px; color: #687e58; }
.position-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(77px,1fr)); gap: 9px; margin-top: 20px; }
.position { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 91px; padding: 13px 6px; border: 1px solid #dce3d2; border-radius: 9px; color: #77866a; background: #f7f9f1; text-align: center; }
.position:hover { border-color: #8b9f76; }
.position strong { font-size: 23px; font-weight: 600; line-height: 1.1; }
.position .position-state { font-size: 9px; font-weight: 600; }
.position .position-drive { font-size: 8px; opacity: .8; }
.position[data-status="ok"] { border-color: #cbdcb7; color: #50783e; background: #eff6e4; }
.position[data-status="issue"] { border-color: #e8c4ae; color: #ab5f43; background: #fdf0e4; }
.position[data-status="blocked"] { border-color: #e8d6a3; color: #a07f31; background: #fdf6df; }
.position.override { border-style: dashed; }
.legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 17px; font-size: 10px; color: var(--muted); }
.legend span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 2px; background: #cdd8c0; }
.legend .ok::before { background: #9eb77c; }.legend .issue::before { background: #d18d6b; }.legend .blocked::before { background: #d4b868; }
.round-actionbar { position: sticky; bottom: 18px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 23px; padding: 16px 19px; border: 1px solid #d1dec1; border-radius: 10px; background: #fffefbf7; box-shadow: 0 8px 29px #173d3112; backdrop-filter: blur(10px); }
.round-actionbar p { font-size: 11px; color: var(--muted); }
.results-list { display: grid; gap: 9px; margin-top: 17px; }
.result-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 8px; background: #fffefb; }
.result-row h3 { font-size: 12px; font-weight: 600; }.result-row p { margin-top: 4px; color: var(--muted); font-size: 11px; }.result-row .badge { flex-shrink: 0; }
.portal-dialog { width: min(700px,calc(100% - 28px)); max-height: 90dvh; padding: 27px; border: 1px solid #d4dfc8; border-radius: 17px; background: #fffef9; color: var(--ink); box-shadow: 0 26px 90px #163a3033; overflow-y: auto; }
.portal-dialog::backdrop { background: #15392e6b; backdrop-filter: blur(3px); }
.dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.dialog-heading h2 { margin-top: 6px; font-size: 25px; letter-spacing: -.7px; font-weight: 580; line-height: 1.3; }
.dialog-heading .eyebrow { font-size: 9px; letter-spacing: 1.3px; color: #849173; }
.dialog-close { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; padding: 0; border: 1px solid var(--line); border-radius: 7px; color: #78886b; background: transparent; font-size: 24px; line-height: 1; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field.full { grid-column: 1/-1; }
.field>label,.field-label { font-size: 11px; color: #536a46; font-weight: 600; }
.field input,.field select,.field textarea { width: 100%; min-width: 0; min-height: 45px; padding: 11px 12px; border: 1px solid #d4dfc8; border-radius: 7px; color: var(--ink); background: #fff; font: inherit; font-size: 12px; }
.field input:focus,.field select:focus,.field textarea:focus { outline: 2px solid #a8bc92; outline-offset: 1px; }
.field textarea { min-height: 84px; resize: vertical; }
.field input:disabled,.field select:disabled { background: #eef2e6; color: #819174; }
.field small,.form-note { color: var(--muted); font-size: 10px; line-height: 1.7; }
.form-note { margin-top: 15px; }
.form-divider { grid-column: 1/-1; height: 1px; margin: 4px 0; border: 0; background: var(--line); }
.segmented { display: flex; gap: 4px; padding: 4px; border: 1px solid #dce5d1; border-radius: 8px; background: #edf2e4; }
.segmented button { flex: 1; min-height: 39px; padding: 9px 10px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #7b8b6d; font-size: 11px; font-weight: 600; }
.segmented button[aria-pressed="true"] { border-color: #d8e2cb; background: #fffefb; color: var(--forest); box-shadow: 0 2px 3px #173d3106; }
.checkbox-list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.checkbox-label { display: flex; align-items: flex-start; gap: 9px; min-height: 44px; padding: 11px 12px; border: 1px solid #dce5d0; border-radius: 7px; background: #f8faf3; color: #647b54; font-size: 11px; cursor: pointer; }
input[type="checkbox"] { width: 17px; height: 17px; min-height: 17px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--forest); }
.dialog-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.dialog-error { margin-top: 14px; padding: 12px 14px; border: 1px solid #edcdb9; border-radius: 7px; background: #fcf0e7; color: #a05a3e; font-size: 11px; line-height: 1.8; }
.dialog-discard { margin-top: 20px; padding: 18px; border: 1px solid #e3d5b5; border-radius: 9px; background: #faf1dc; color: #816638; }
.dialog-discard h3 { font-size: 15px; }.dialog-discard p { margin-top: 6px; font-size: 12px; line-height: 1.7; }.dialog-discard .dialog-actions { margin-top: 14px; padding-top: 14px; }
.toast { position: fixed; right: 25px; bottom: 25px; z-index: 50; max-width: min(430px,calc(100% - 40px)); padding: 14px 19px; border: 1px solid #496842; border-radius: 9px; color: #eff5e6; background: var(--forest); box-shadow: 0 7px 23px #173d3120; font-size: 12px; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 17px; }.comparison .card { padding: 17px; }.comparison .card h3 { font-size: 13px; }
.snapshot-notes { max-height: 235px; overflow-y: auto; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #f5f8ee; font-size: 11px; color: #677c56; white-space: pre-wrap; }
.local-backup-notice { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 36px; border-bottom: 1px solid #e3d5b5; background: #faf1dc; color: #816638; }
.local-backup-notice strong { display: block; font-size: 12px; font-weight: 600; }
.local-backup-notice p { margin-top: 3px; font-size: 10px; line-height: 1.7; }
.local-backup-notice .button { flex-shrink: 0; }
.backup-list { display: grid; gap: 15px; }
.backup-card { padding: 18px; border: 1px solid #d9e2cc; border-radius: 10px; background: #f8faf3; }
.backup-card h3 { font-size: 15px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.backup-card .backup-meta { margin: 5px 0 12px; color: var(--muted); font-size: 10px; }
.backup-card details>summary { min-height: 42px; padding: 10px 0; color: #557448; font-size: 12px; font-weight: 600; cursor: pointer; }
.backup-card .snapshot-notes { margin: 8px 0 0; background: #fffefb; }
.backup-card .actions { margin-top: 12px; }
@media(max-width:760px){.local-backup-notice{padding:14px 20px;gap:12px}.local-backup-notice strong{font-size:11px}.local-backup-notice p{font-size:9px}.local-backup-notice .button{font-size:10px;min-height:42px}.backup-card{padding:15px}}
@media(max-width:480px){.local-backup-notice{padding:13px 16px;align-items:flex-start;flex-wrap:wrap}.local-backup-notice .button{width:100%}}
@media(max-width:1100px){.portal-layout{grid-template-columns:195px minmax(0,1fr)}.portal-sidebar{padding-left:18px;padding-right:18px}.app-content{padding:27px}.workspace-topbar{padding-left:27px;padding-right:27px}.grid{grid-template-columns:1fr 1fr}.stats-row{gap:9px}.stat{padding:15px}.stat strong{font-size:23px}}
@media(max-width:760px){.portal-layout{display:block}.portal-sidebar{display:none}.workspace-topbar{position:sticky;top:0;z-index:10;min-height:66px;padding:12px 20px;background:#fafbf6f5;backdrop-filter:blur(10px)}.workspace-label{display:none}.mobile-brand{display:block}.user-menu{gap:11px}.user-copy strong{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.user-copy>span{font-size:9px}.user-menu .button{font-size:10px}.app-content{padding:23px 20px 45px}.page-head h1{font-size:29px}.page-head .description{font-size:11px}.button{min-height:46px}.grid,.grid.two{gap:14px}.card{padding:19px}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:14px 15px}.stat strong{font-size:25px}.stat span{font-size:9px}.area-tabs button{min-height:44px}.area-heading h2{font-size:19px}.position-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px}.position{min-height:82px}.position strong{font-size:22px}.position-state{font-size:8px}.round-actionbar{bottom:12px;padding:14px}.round-actionbar .actions{width:100%}.round-actionbar .actions .button{flex:1}.connection-notice{padding:12px 20px;font-size:10px}.portal-dialog{padding:22px;width:calc(100% - 22px);max-height:92dvh}.dialog-heading h2{font-size:23px}.field input,.field select,.field textarea{min-height:48px;font-size:16px}.field>label{font-size:11px}.segmented button{min-height:42px}.checkbox-label{font-size:11px}.dialog-actions .button{flex:1}.toast{right:20px;bottom:19px}.empty{padding:26px}.empty p{font-size:11px}.search-input{width:100%;min-height:45px;font-size:14px}}
@media(max-width:480px){.workspace-topbar{padding-left:17px;padding-right:17px}.user-copy{display:none}.app-content{padding:21px 16px 40px}.grid,.grid.two{grid-template-columns:1fr}.page-head .actions{width:100%}.page-head .actions .button{flex:1}.page-head h1{font-size:27px}.form-grid{grid-template-columns:1fr}.form-grid.keep-columns{grid-template-columns:1fr 1fr}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:13px}.stat strong{font-size:23px}.card{padding:17px}.position-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.position{min-height:79px}.checkbox-list{grid-template-columns:1fr}.portal-dialog{padding:19px}.result-row{padding:13px;gap:10px}.comparison{grid-template-columns:1fr}.breadcrumbs{gap:6px;font-size:9px}.round-actionbar .actions{flex-direction:column;align-items:stretch}.round-meta{gap:8px}.connection-notice{padding-left:16px;padding-right:16px}}
