/* Dior experience: one visual language, with the original boutique photograph retained. */
/* Paper ledgers are the primary daily capture; numeric reconciliation remains available below. */
body.experience .paper-ledger { padding: 28px; background: rgba(252,249,242,.94); border: 1px solid #e5dccc; border-radius: 24px; box-shadow: 0 8px 30px #2c1e0f10; }
body.experience .paper-ledger-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
body.experience .paper-ledger-heading h2 { margin: 5px 0 8px; font-size: 29px; letter-spacing: -.8px; }
body.experience .paper-ledger-heading p { margin: 0; color: #655849; font-size: 15px; line-height: 1.7; }
body.experience .paper-ledger-mark { flex: 0 0 74px; height: 94px; display: grid; place-items: center; border: 1px solid #bba98c; border-radius: 9px 18px 18px 9px; background: #252522; color: #f2e4cc; font: 46px Georgia,serif; box-shadow: inset 5px 0 #ffffff0d,4px 4px #d5c4a1; }
body.experience .paper-ledger-actions { display: flex; gap: 10px; margin: 24px 0 10px; }
body.experience .paper-ledger-actions .primary { flex: 1; }
body.experience .paper-ledger-shelf { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #dfd4c3; margin-top: 24px; padding-top: 20px; }
body.experience .paper-ledger-shelf h3 { font-size: 16px; margin: 0; }
body.experience .photo-kind-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
body.experience .photo-kind-tabs button { min-height: 42px; flex: 1; padding: 8px 6px; white-space: nowrap; background: transparent; color: #6b5b49; border: 1px solid #d7cab7; font-size: 14px; }
body.experience .photo-kind-tabs button[aria-pressed="true"] { background: #e8dcc8; color: #372b1f; border-color: #baa17b; font-weight: 700; }
body.experience .ledger-photo-pages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
body.experience .ledger-photo-page { display: grid; gap: 9px; text-align: left; padding: 18px; min-width: 0; border: 1px solid #d5c6af; border-radius: 15px; background: #fffaf0; color: #3b3024; }
body.experience .ledger-photo-page-title { font-size: 15px; font-weight: 650; }
body.experience .ledger-photo-page-count { font-size: 13px; color: #70614d; font-weight: 400; }
body.experience .ledger-photo-page-action { border-top: 1px solid #e6dccb; padding-top: 10px; color: #77572f; font-size: 13px; }
body.experience .ledger-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
body.experience .ledger-photo-empty { grid-column: 1 / -1; text-align: center; padding: 34px 12px; border: 1px dashed #c8b797; border-radius: 16px; background: #f5f0e6; }
body.experience .ledger-photo-empty strong { display: block; font-size: 16px; }
body.experience .ledger-photo-empty p { margin: 8px 0 0; font-size: 13px; color: #74644f; }
body.experience .photo-empty-symbol { display: block; color: #98805c; font-size: 32px; margin-bottom: 8px; }
body.experience .ledger-photo-card { min-width: 0; border-radius: 14px; overflow: hidden; border: 1px solid #ded2bf; background: #fffaf0; }
body.experience .ledger-photo-preview { width: 100%; min-height: 140px; aspect-ratio: 4 / 3; border: 0; border-bottom: 1px solid #ded2bf; border-radius: 0; background: #e8e0d1; padding: 8px; display: grid; place-items: center; }
body.experience .ledger-photo-preview img { display: block; max-width: 100%; max-height: 180px; width: 100%; height: 100%; object-fit: contain; }
body.experience .ledger-photo-caption { padding: 12px 14px; }
body.experience .ledger-photo-caption h4 { margin: 3px 0; font-size: 16px; }
body.experience .ledger-photo-caption small { display: block; font-size: 12px; color: #6b6051; overflow-wrap: anywhere; }
body.experience .ledger-photo-caption p { white-space: pre-wrap; margin: 8px 0 0; }
body.experience .paper-ledger-footnote { margin: 20px 0 0; }
body.experience .ledger-manual { margin-top: 18px; padding: 18px; border: 1px solid #e0d5c3; border-radius: 18px; background: rgba(252,249,242,.94); }
body.experience .ledger-manual > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: 15px; font-weight: 600; }
body.experience .ledger-manual > summary::after { content: '+'; font-size: 23px; font-weight: 400; }
body.experience .ledger-manual[open] > summary::after { content: '−'; }
body.experience .ledger-manual[open] > .section-title { margin-top: 16px; }
body.experience .photo-pick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 10px; }
body.experience .ledger-photo-drafts { display: grid; gap: 12px; margin: 16px 0; }
body.experience .ledger-photo-draft { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 12px; background: #f5efe4; border: 1px solid #ded1bd; border-radius: 14px; }
body.experience .ledger-photo-draft > img { width: 100%; height: 126px; object-fit: contain; background: #e9dfcd; border-radius: 8px; }
body.experience .ledger-photo-draft .hint { margin: 6px 0 0; }
body.experience .ledger-photo-draft .quiet { min-height: 36px; font-size: 13px; padding: 4px 0; }
body.experience .ledger-photo-view-dialog { width: min(1050px,94vw); max-width: 1050px; }
body.experience .photo-view-tools { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
body.experience .photo-view-tools a { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; text-decoration: none; }
body.experience .ledger-photo-view-frame { overflow: auto; max-height: 65vh; background: #ded7ca; border-radius: 12px; }
body.experience .ledger-photo-view-frame img { display: block; width: 100%; max-width: 100%; height: auto; }
body.experience .ledger-photo-view-frame.is-zoomed img { width: auto; max-width: none; }
@media (max-width: 600px) {
 body.experience .paper-ledger { padding: 20px 16px; border-radius: 19px; }
 body.experience .paper-ledger-heading h2 { font-size: 25px; }
 body.experience .paper-ledger-heading p { font-size: 14px; }
 body.experience .paper-ledger-mark { flex-basis: 55px; height: 76px; font-size: 36px; }
 body.experience .paper-ledger-actions { flex-direction: column; }
 body.experience .paper-ledger-actions .secondary { min-height: 42px; }
 body.experience .ledger-photo-pages { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 body.experience .ledger-photo-page { padding: 15px 12px; }
 body.experience .ledger-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 body.experience .ledger-photo-preview { min-height: 100px; }
 body.experience .ledger-photo-caption { padding: 10px; }
 body.experience .ledger-photo-caption h4 { font-size: 15px; }
 body.experience .ledger-photo-draft { grid-template-columns: 78px minmax(0,1fr); padding: 10px; }
 body.experience .ledger-manual { padding: 14px; }
 body.experience .ledger-photo-view-dialog { width: calc(100% - 20px); }
}
@media print {
 .paper-ledger, .ledger-manual > summary { display: none !important; }
 body.experience .ledger-manual { padding: 0; border: 0; }
}
body.experience {
  --ink: #25211d;
  --muted: #665d51;
  --line: #d7cdbd;
  --green: #29231e;
  --pale: #eee6d8;
  --ex-ink: #25211d;
  --ex-muted: #665d51;
  --ex-gold: #947248;
  --ex-line: rgba(107, 81, 45, .19);
  --ex-paper: rgba(252, 249, 242, .93);
  --ex-soft: rgba(246, 240, 229, .90);
  --ex-shadow: 0 8px 30px rgba(44, 30, 15, .065);
  --ex-radius: 20px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ex-ink);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.experience [hidden] { display: none !important; }
body.experience :is(h1, h2, h3, h4, p) { word-break: keep-all; overflow-wrap: anywhere; }
body.experience :is(button, input, select, textarea, a) { -webkit-tap-highlight-color: transparent; }
body.experience :is(button, input, select, textarea) { font-family: inherit; }
body.experience :is(button, .primary, .secondary, .quiet) { min-height: 48px; border-radius: 12px; line-height: 1.45; }
body.experience :is(input, select, textarea) { min-width: 0; max-width: 100%; min-height: 50px; font-size: 16px; padding: 12px 14px; color: var(--ex-ink); border: 1px solid #c9bdab; border-radius: 12px; background-color: #fffdf8; box-shadow: 0 1px 2px #30221105; }
body.experience :is(input, textarea)::placeholder { color: #83776a; opacity: 1; }
body.experience input:is([type="date"], [type="datetime-local"], [type="time"]) { display: block; width: 100%; max-width: 100%; min-width: 0; min-inline-size: 0; -webkit-appearance: none; appearance: none; text-align: left; }
body.experience input:is([type="date"], [type="datetime-local"], [type="time"])::-webkit-date-and-time-value { min-width: 0; margin: 0; text-align: left; min-height: 1.5em; }
body.experience input:is([type="date"], [type="datetime-local"], [type="time"])::-webkit-datetime-edit { padding: 0; min-width: 0; }
body.experience label { font-size: 14px; line-height: 1.55; color: #51473b; gap: 8px; }
body.experience label.check { min-height: 48px; gap: 12px; align-items: center; font-size: 15px; }
body.experience input:is([type="checkbox"], [type="radio"]) { width: 20px; height: 20px; min-height: 20px; padding: 0; flex: 0 0 20px; accent-color: var(--ex-ink); }
body.experience .choices input { width: 1px; height: 1px; min-height: 1px; }
body.experience .primary { color: #fff9ed; background: #29231e; border: 1px solid #29231e; box-shadow: 0 3px 8px #291c1112; font-weight: 600; }
body.experience .secondary { color: #4c3c28; background: #faf5eb; border: 1px solid #ccbea7; box-shadow: none; }
body.experience .quiet { color: #655139; font-weight: 500; }
body.experience :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #806036; outline-offset: 3px; }
body.experience :is(input, select, textarea):focus { outline: 2px solid #806036; outline-offset: 1px; border-color: #806036; }
body.experience button:disabled { opacity: .48; box-shadow: none; cursor: default; }
body.experience .eyebrow { color: #796044; font-size: 12px; letter-spacing: .03em; font-weight: 600; }
body.experience .hint { color: var(--ex-muted); font-size: 13px; line-height: 1.75; }
body.experience .failed { color: #963c2c; }
body.experience .save-state { border: 0; background: #eee5d5; color: #655037; padding: 12px 14px; border-radius: 11px; font-size: 14px; line-height: 1.6; }
body.experience .save-state.failed, body.experience .dialog-error { background: #f8e7de; color: #8e3528; }
body.experience .dialog-error { border-left: 3px solid #a14b37; border-radius: 10px; padding: 14px; line-height: 1.65; }
body.experience .badge { border-radius: 20px; padding: 5px 10px; font-size: 12px; line-height: 1.5; }
body.experience .badge.done { background: #e7ecde; color: #4c6238; }
body.experience .badge.warn { background: #f2e7ce; color: #765623; }
body.experience .badge.lock { background: #e8e9ec; color: #566070; }
body.experience :is(.skip:focus, .account-menu-panel) { background: #fffaf0; color: var(--ex-ink); }

/* Arrival: the photograph remains the scene; the form is a clear, quiet focal point. */
body.experience.login-page main { width: 100%; max-width: 1320px; min-height: 100svh; padding: max(24px, env(safe-area-inset-top)) 6vw max(24px, env(safe-area-inset-bottom)); display: flex; align-items: flex-end; justify-content: center; gap: 16px; }
body.experience .login-shell { width: min(950px, 100%); max-width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); gap: 48px; align-items: center; overflow: visible; border: 0; border-radius: 0; margin: 0; background: none; box-shadow: none; }
body.experience .login-identity { text-align: left; padding: 36px 30px; border-radius: 20px; background: rgba(249, 242, 228, .65); box-shadow: none; }
body.experience .login-identity .login-kicker { display: block; margin: 0 0 25px; font-size: 13px; letter-spacing: .12em; color: #67553b; }
body.experience .login-wordmark { font-family: Didot, 'Bodoni 72', Georgia, serif; font-size: clamp(70px, 7.5vw, 100px); line-height: 1; font-weight: 400; letter-spacing: 2px; color: #24201c; }
body.experience .login-rule { display: block; width: 52px; height: 1px; margin: 30px 0 22px; background: #9d8157; }
body.experience .login-identity-title { display: block; font-size: 26px; line-height: 1.6; letter-spacing: -.7px; font-weight: 500; margin: 0; color: #3a3025; }
body.experience .login-services { display: block; font-size: 13px; line-height: 1.6; color: #68543c; margin: 24px 0 0; }
body.experience .login-services span { margin: 0 6px; color: #9c825e; }
body.experience .login-panel { padding: 28px; border: 1px solid rgba(255, 252, 244, .8); border-radius: 24px; background: rgba(251, 248, 240, .92); box-shadow: 0 18px 60px #32220f17; }
body.experience .login-store-heading { font-size: 13px; margin-bottom: 10px; color: #574b3c; }
body.experience .login-step { font-size: 11px; letter-spacing: 0; color: #776751; }
body.experience .login-store-options { padding: 4px; gap: 4px; margin-bottom: 26px; border-radius: 13px; background: #eae1d1; }
body.experience .login-store-options button { min-height: 46px; border: 0; border-radius: 10px; font-family: Georgia, serif; font-size: 19px; line-height: 1.4; color: #72624c; background: none; }
body.experience .login-store-options button[aria-pressed="true"] { color: #faf4e7; background: #2c251e; box-shadow: 0 2px 6px #39271016; }
body.experience .login-heading .login-kicker { display: none; }
body.experience .login-shell .login-heading h1 { font-size: 27px; line-height: 1.35; letter-spacing: -1px; font-weight: 650; margin: 0 0 8px; color: #28231e; }
body.experience .login-heading .muted { font-size: 14px; line-height: 1.6; color: #655746; margin: 0; }
body.experience .login-shell form { gap: 15px; margin-top: 24px; }
body.experience .login-shell label { font-size: 14px; gap: 7px; color: #4d4132; }
body.experience .login-shell input { min-height: 50px; font-size: 16px; border-radius: 11px; background: #fffdf8; border: 1px solid #cabda8; padding: 12px 14px; }
body.experience .login-shell input::placeholder { font-size: 14px; color: #817462; }
body.experience .login-shell .login-submit { min-height: 52px; padding: 13px 17px; border-radius: 12px; margin-top: 3px; font-size: 16px; font-weight: 600; letter-spacing: 0; }
body.experience .login-submit>span:last-child { font-size: 21px; font-weight: 400; }
body.experience .login-shell #login-help { font-size: 12px; line-height: 1.65; margin: 16px 0 0; color: #71614c; }
body.experience.login-page .install-box { width: 420px; max-width: 100%; padding: 12px 15px; border: 1px solid #e7ddca; border-radius: 15px; background: rgba(250, 245, 233, .9); margin: 0; gap: 12px; }
body.experience.login-page .install-box strong { font-size: 12px; color: #594733; line-height: 1.5; }
body.experience.login-page .install-box .hint { font-size: 11px; display: block; margin-top: 2px; color: #706049; }
body.experience.login-page .install-box button { min-height: 48px; border: 0; border-radius: 10px; font-size: 12px; color: #625039; padding: 9px 10px; background: #efe5d3; }
body.experience.access-page .auth:not(.login-shell) { padding: 30px; border: 1px solid #dfd4c3; background: var(--ex-paper); border-radius: 24px; box-shadow: var(--ex-shadow); }
body.experience.access-page .auth:not(.login-shell) h1 { font-size: 30px; letter-spacing: -1px; }

/* Shared shell, clear wayfinding, and one consistent account area. */
body.experience .topbar { background: rgba(250, 246, 236, .95); border-color: var(--ex-line); box-shadow: none; }
body.experience .brand .mark { width: 38px; height: 42px; display: grid; place-items: center; border: 1px solid #b6a080; border-radius: 11px; font-family: Didot, Georgia, serif; font-size: 27px; font-weight: 400; background: #29241e; color: #fff5e1; }
body.experience .brand { font-size: 21px; font-weight: 650; letter-spacing: -.4px; }
body.experience .brand small { font-size: 11px; line-height: 1.35; letter-spacing: .03em; color: #796b57; }
body.experience .topbar #account { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; max-width: none; }
body.experience .workspace-role { background: #eee4d2; border: 1px solid #d8c8ae; color: #705637; font-size: 12px; }
body.experience .account-menu>summary { min-height: 48px; border-radius: 12px; font-size: 13px; padding: 10px 12px; color: #5e4c35; }
body.experience .account-menu-panel { padding: 10px; border-radius: 16px; box-shadow: 0 15px 45px #281b1026; border-color: #dbccb5; }
body.experience .app-notifications-open { position: relative; display: inline-grid; place-items: center; width: 48px; min-width: 48px; height: 48px; min-height: 48px; padding: 12px; color: #51402a; border: 1px solid transparent; background: #eee5d6; border-radius: 50%; }
body.experience .app-notifications-open svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
body.experience .app-notifications-badge { position: absolute; top: -2px; right: -2px; min-width: 19px; height: 19px; display: grid; place-items: center; border: 2px solid #f9f4e9; border-radius: 12px; padding: 0 4px; font-size: 10px; line-height: 1; font-weight: 700; color: white; background: #9a4533; }
body.experience .app-connection-status { position: fixed; z-index: 65; left: 50%; top: calc(84px + env(safe-area-inset-top)); transform: translateX(-50%); width: max-content; max-width: calc(100% - 28px); padding: 11px 17px; border: 1px solid #cfae82; border-radius: 12px; background: #f5e9d3; box-shadow: 0 6px 20px #30200b18; font-size: 13px; line-height: 1.55; text-align: center; color: #6a4722; }
body.experience.workspace-page { --ws-ink: var(--ex-ink); --ws-muted: var(--ex-muted); --ws-line: var(--ex-line); --ws-surface: var(--ex-paper); --ws-surface-soft: var(--ex-soft); --ws-shadow: var(--ex-shadow); --ws-radius: 18px; }
body.experience.workspace-page .topbar { height: calc(76px + env(safe-area-inset-top)); min-height: calc(76px + env(safe-area-inset-top)); padding-top: calc(12px + env(safe-area-inset-top)); background: rgba(251, 247, 237, .95); }
body.experience.workspace-page main { padding-top: calc(104px + env(safe-area-inset-top)); padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
body.experience.workspace-page .workspace-header { top: calc(88px + env(safe-area-inset-top)); box-shadow: 0 4px 20px #32230d09; background: rgba(251, 247, 237, .94); border-radius: 15px; border-color: #e5d9c6; }
body.experience.workspace-page .workspace-header .shop-context { background: none; }
body.experience.workspace-page .workspace-header .shop-context select, body.experience.workspace-page .workspace-header .date-label input { border-color: #d9cbb5; background: #fffcf5; min-height: 48px; font-size: 16px; border-radius: 10px; }
body.experience.workspace-page .workspace-nav { background: rgba(250, 245, 232, .94); border-color: #e1d4be; padding: 8px; border-radius: 21px; box-shadow: 0 6px 24px #33210c0c; }
body.experience.workspace-page .workspace-nav>button { border-radius: 14px; color: #716049; min-height: 74px; font-size: 12px; }
body.experience.workspace-page .workspace-nav>button:is(.selected, [aria-pressed="true"]) { background: #2a241e; color: #fff3dc; box-shadow: 0 3px 8px #31200e17; }
body.experience.workspace-page .finance-nav { border-color: #e1d4be; background: var(--ex-paper); padding: 5px; border-radius: 14px; gap: 4px; }
body.experience.workspace-page .finance-nav button { color: #6b583e; font-size: 14px; border-radius: 10px; }
body.experience.workspace-page .finance-nav button:is(.selected, [aria-pressed="true"]) { background: #e9dcc5; color: #483522; box-shadow: none; }

/* The home is composed of a short introduction, light metric cards, and working lists. */
body.experience.workspace-page .command-hero { border-radius: 22px; padding: 28px; border-color: #e6dac6; background: rgba(250, 246, 235, .94); gap: 24px; }
body.experience.workspace-page #command-title { font-size: clamp(28px, 3vw, 37px); font-weight: 650; letter-spacing: -1.15px; line-height: 1.28; margin: 8px 0; }
body.experience.workspace-page #command-caption { font-size: 15px; line-height: 1.65; max-width: 480px; color: #6c5b45; }
body.experience.workspace-page .command-actions { gap: 8px; }
body.experience.workspace-page .command-actions button { border: 1px solid #d3c1a2; background: #f8f0e1; color: #584127; font-size: 14px; padding: 11px 16px; border-radius: 12px; min-height: 48px; }
body.experience.workspace-page .command-actions button:first-child { background: #2b251e; color: #fff5df; border-color: #2b251e; }
body.experience.workspace-page .command-refresh { background: #eee4d2; border-radius: 50%; width: 48px; height: 48px; padding: 13px; justify-content: center; }
body.experience.workspace-page .command-refresh span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
body.experience.workspace-page .command-sync { font-size: 12px; padding: 6px 10px; color: #6c593f; margin-bottom: 18px; background: rgba(251, 246, 233, .94); }
body.experience.workspace-page .command-kpis { gap: 12px; }
body.experience.workspace-page .command-kpi { padding: 21px; gap: 9px; border-radius: 17px; background: var(--ex-paper); border-color: #e5d8c3; box-shadow: 0 4px 16px #36240d06; }
body.experience.workspace-page .command-kpi>span { font-size: 13px; color: #735e41; padding-right: 0; }
body.experience.workspace-page .command-kpi:has(>button)>span { padding-right: 42px; }
body.experience.workspace-page .command-kpi strong { font-size: 34px; color: #33291f; font-weight: 650; letter-spacing: -.8px; }
body.experience.workspace-page .command-kpi small { font-size: 12px; color: #75644d; line-height: 1.6; }
body.experience.workspace-page .command-kpi>button { font-size: 12px; color: #795c35; min-height: 48px; min-width: 44px; }
body.experience.workspace-page .command-attention-item { border-left: 3px solid #b48d52; background: #f4e7d0; border-color: #dac59f; border-left-color: #b48d52; padding: 14px 17px; border-radius: 13px; }
body.experience.workspace-page .command-attention-item>strong { color: #644a29; font-size: 14px; }
body.experience.workspace-page .command-attention-item>p { font-size: 13px; color: #755c39; }
body.experience.workspace-page .command-attention-item>button { font-size: 13px; min-height: 48px; background: #fffaef; border: 1px solid #d8c09a; color: #634922; }
body.experience.workspace-page .command-section-heading h3 { font-size: 20px; padding: 4px 10px; background: rgba(250, 245, 231, .94); }
body.experience.workspace-page .command-section-heading>span { font-size: 12px; color: #6d573a; }
body.experience.workspace-page .command-definition { color: #6b5638; background: rgba(250, 245, 231, .94); font-size: 12px; padding: 9px 11px; border-radius: 9px; }
body.experience.workspace-page .shared-shop-card { padding: 22px; border-radius: 19px; border-color: #e0d2b9; background: var(--ex-paper); box-shadow: var(--ex-shadow); }
body.experience.workspace-page .shared-shop-heading h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 29px; letter-spacing: -.3px; font-weight: 400; }
body.experience.workspace-page .shared-shop-heading .badge { font-size: 11px; padding: 5px 9px; background: #ece1cc; border: 1px solid #ded0b7; color: #6f5330; }
body.experience.workspace-page .shared-metrics { margin: 21px 0 18px; gap: 12px; }
body.experience.workspace-page .shared-metrics span { font-size: 12px; color: #756247; }
body.experience.workspace-page .shared-metrics strong { font-size: 27px; font-weight: 600; line-height: 1.15; }
body.experience.workspace-page .shared-room-section h4 { font-size: 14px; color: #735b3b; font-weight: 600; }
body.experience.workspace-page .shared-room-summary>div { background: #eee4d1; padding: 13px 10px; border-radius: 11px; gap: 7px; }
body.experience.workspace-page .shared-room-summary strong { font-size: 25px; color: #3d3020; }
body.experience.workspace-page .shared-room-summary span { font-size: 12px; color: #745e3f; }
body.experience.workspace-page .shared-name-chip { border: 1px solid #dccbb0; background: #f7efdf; color: #654b2a; border-radius: 10px; font-size: 13px; }
body.experience.workspace-page .shared-empty-state { padding: 17px 0 2px; margin-top: 16px; }
body.experience.workspace-page .shared-empty-state strong { font-size: 15px; }
body.experience.workspace-page .shared-empty-state p { font-size: 13px; }
body.experience.workspace-page .shared-empty-state>button { border-radius: 10px; background: #eee3cd; border-color: #d9c5a4; }
body.experience.workspace-page :is(.command-agenda, .command-money) { padding: 23px; border-color: #e2d4bd; border-radius: 19px; background: var(--ex-paper); }
body.experience.workspace-page :is(.command-agenda, .command-money)>h3 { font-size: 18px; margin-bottom: 15px; }
body.experience.workspace-page .command-agenda-item strong { font-size: 15px; }
body.experience.workspace-page .command-money-values>div:first-child strong { font-size: 23px; color: #3c2d1d; }
body.experience.workspace-page .command-photo-values>div strong { font-size: 17px; color: #3c2d1d; }
body.experience.workspace-page .command-photo-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
body.experience.workspace-page .command-photo-actions>button { min-height: 46px; padding: 10px 12px; font-size: 13px; }
body.experience.workspace-page .command-empty { font-size: 14px; padding: 10px 0; margin: 0; color: #75624a; }

/* Operational pages keep the same hierarchy, field language, and precise states. */
body.experience.workspace-page #board-view>section>.section-title { background: var(--ex-paper); border-color: #e0d2bc; border-radius: 18px; padding: 23px; }
body.experience.workspace-page .section-title h2 { font-size: 26px; line-height: 1.35; letter-spacing: -.7px; }
body.experience.workspace-page .section-title .muted { font-size: 14px; color: #715e45; line-height: 1.7; }
body.experience.workspace-page :is(.employee, .user-card, .ledger-card, .ledger-payee, .operation-card, .inventory-row, .team-task-card, .team-notifications, .closing-form) { border: 1px solid #e0d2bc; border-radius: 18px; background: var(--ex-paper); box-shadow: var(--ex-shadow); }
body.experience.workspace-page .stats { border-color: #e0d2bc; border-radius: 17px; background: #e4d7c1; }
body.experience.workspace-page .stats>div { padding: 19px 22px; background: #faf5ea; }
body.experience.workspace-page .stats span { font-size: 13px; color: #786247; }
body.experience.workspace-page .stats strong { font-size: 29px; color: #3f2e1b; }
body.experience.workspace-page .attendance-card { padding: 20px; }
body.experience.workspace-page .attendance-identity h3 { font-size: 20px; letter-spacing: -.5px; }
body.experience.workspace-page .attendance-next { padding: 2px 0; }
body.experience.workspace-page .attendance-next strong { color: #62472a; font-size: 14px; }
body.experience.workspace-page .attendance-next small, body.experience.workspace-page .attendance-state small { font-size: 13px; color: #766247; }
body.experience.workspace-page .attendance-actions .primary { box-shadow: none; }
body.experience.workspace-page .employee-details>summary { color: #7a603d; font-size: 13px; }
body.experience.workspace-page .toolbar { gap: 9px; }
body.experience.workspace-page .sync-line { background: rgba(250, 245, 232, .94); padding: 8px 10px; border-radius: 9px; font-size: 12px; color: #735d3e; }
body.experience.workspace-page .inventory-row { padding: 22px; }
body.experience.workspace-page .inventory-row-heading h3 { font-size: 25px; letter-spacing: -.6px; }
body.experience.workspace-page .inventory-row-label { color: #685135; font-size: 14px; }
body.experience.workspace-page .inventory-row-input { border-radius: 11px; background: #fffdf8; min-height: 56px; font-size: 24px; }
body.experience.workspace-page .inventory-row-result { border-radius: 11px; background: #eee0c6; color: #604621; min-height: 56px; font-size: 24px; }
body.experience.workspace-page .inventory-row-result.failed { background: #f4ddd2; color: #922f20; }
body.experience.workspace-page .inventory-row-details { margin-top: 16px; padding-top: 8px; }
body.experience.workspace-page .transaction-shortcut { padding: 18px; min-height: 106px; border-radius: 15px; border-color: #d9c29d; background: #f1e4cd; box-shadow: none; }
body.experience.workspace-page .transaction-shortcut strong { font-size: 16px; color: #5a4022; }
body.experience.workspace-page .transaction-shortcut span { font-size: 12px; color: #785d38; }
body.experience.workspace-page .operations-metrics>div, body.experience.workspace-page .closing-summary>div { background: var(--ex-paper); border-color: #e0d1b8; border-radius: 15px; padding: 18px; }
body.experience.workspace-page .operations-metrics span { font-size: 13px; color: #796246; }
body.experience.workspace-page .operations-metrics strong { color: #49341f; font-size: 23px; }
body.experience.workspace-page .closing-step { background: #f2e8d6; border-radius: 12px; padding: 12px 15px; font-size: 18px; gap: 12px; }
body.experience.workspace-page .closing-step>span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-family: inherit; font-size: 12px; font-weight: 650; background: #c8ad80; color: #382914; }
body.experience.workspace-page .ledger-warning { background: #f4e8d0; color: #705329; border-color: #d4bb8e; }
body.experience.workspace-page .team-task-card { padding: 23px; }
body.experience.workspace-page .team-task-heading h3 { font-size: 21px; line-height: 1.5; }
body.experience.workspace-page .team-task-assignee { font-size: 13px; margin: 12px 0; color: #715532; }
body.experience.workspace-page .team-task-body { font-size: 15px; line-height: 1.75; color: #514231; }
body.experience.workspace-page .team-task-meta p { font-size: 13px; }
body.experience.workspace-page .team-task-meta p.failed { color: #963c2c; }
body.experience.workspace-page .more-card { min-height: 116px; padding: 22px; border-radius: 18px; border-color: #e0d0b6; background: var(--ex-paper); box-shadow: var(--ex-shadow); }
body.experience.workspace-page .more-card-mark { font-size: 18px; color: #a17b44; }
body.experience.workspace-page .more-card strong { font-size: 18px; color: #4d3923; }
body.experience.workspace-page .more-card small { font-size: 13px; color: #756045; }
body.experience .empty-icon svg { width: 38px; height: 38px; fill: none; stroke: #9e7c4c; stroke-width: 1.3; }
body.experience.workspace-page .empty { padding: 38px 22px; border-style: solid; border-color: #deceb5; }

/* The personal space shares the same material and leaves the photograph around each card. */
body.experience.member-theme { --bg: #f5f2eb; --ink: #25211d; --muted: #665d51; --line: #d7cdbd; --green: #29231e; --pale: #eee6d8; background: #f5f2eb; }
body.experience.member-theme main { padding-top: 30px; padding-bottom: calc(40px + env(safe-area-inset-bottom)); max-width: 900px; }
body.experience.member-theme .member-page { max-width: 780px; }
body.experience.member-theme .member-day-hero { position: relative; padding: 26px; margin-bottom: 18px; border: 1px solid #e0d0b6; border-radius: 23px; background: var(--ex-paper); align-items: flex-start; gap: 16px; }
body.experience.member-theme .member-day-hero>div { flex: 1; min-width: 0; }
body.experience.member-theme .member-day-hero h1 { font-size: 28px; line-height: 1.35; font-weight: 650; letter-spacing: -.8px; margin: 7px 0 8px; }
body.experience.member-theme .member-day-hero .muted { font-size: 14px; line-height: 1.6; margin: 0 0 14px; color: #756047; }
body.experience.member-theme .member-privacy { display: inline-flex; align-items: center; gap: 6px; background: none; padding: 0; border: 0; font-size: 12px; color: #826946; line-height: 1.6; }
body.experience.member-theme .member-privacy svg { flex: 0 0 15px; width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.3; fill: none; }
body.experience.member-theme .member-hero-mark { position: absolute; top: 23px; right: 23px; color: #a78755; opacity: .9; }
body.experience.member-theme .member-hero-mark svg { width: 43px; height: 43px; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
body.experience.member-theme .member-day-hero h1, body.experience.member-theme .member-day-hero .eyebrow { padding-right: 44px; }
body.experience.member-theme .member-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding-top: 17px; margin: 18px 0 0; border-top: 1px solid #e1d3bc; }
body.experience.member-theme .member-overview>div { min-width: 0; }
body.experience.member-theme .member-overview dt { font-size: 12px; color: #80684a; margin-bottom: 4px; }
body.experience.member-theme .member-overview dd { margin: 0; font-size: 17px; line-height: 1.5; font-weight: 600; color: #4c3820; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
body.experience.member-theme .member-card { padding: 26px; border: 1px solid #e0d1b9; border-radius: 20px; background: var(--ex-paper); box-shadow: var(--ex-shadow); }
body.experience.member-theme .schedule-heading { margin-bottom: 20px; align-items: center; }
body.experience.member-theme .schedule-heading h2 { font-size: 22px; letter-spacing: -.5px; margin: 5px 0 0; }
body.experience.member-theme .section-symbol { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #eee2cc; color: #95703e; }
body.experience.member-theme .section-symbol svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
body.experience.member-theme .schedule-navigation { gap: 10px; align-items: end; }
body.experience.member-theme .schedule-navigation button { width: 48px; min-height: 50px; padding: 10px; border-radius: 12px; font-size: 19px; }
body.experience.member-theme .schedule-navigation label { min-width: 0; font-size: 13px; }
body.experience.member-theme .schedule-meta { padding-top: 20px; gap: 5px 14px; font-size: 13px; line-height: 1.7; color: #796246; }
body.experience.member-theme .schedule-meta strong { color: #5d4224; }
body.experience.member-theme .schedule-days { gap: 9px; }
body.experience.member-theme .schedule-day { grid-template-columns: 54px minmax(110px, .9fr) minmax(0, 1.3fr); gap: 12px; padding: 13px; border: 1px solid #e3d6c1; border-radius: 14px; background: #fbf7ef; }
body.experience.member-theme .schedule-day[data-status="휴무"] { background: #f0ebe2; }
body.experience.member-theme .schedule-day[data-status="출근 예정"] { background: #f4ead8; }
body.experience.member-theme .schedule-day.edited { border-left: 3px solid #a88148; padding-left: 11px; }
body.experience.member-theme .schedule-date strong { font-size: 17px; color: #775a35; }
body.experience.member-theme .schedule-date span { font-size: 12px; color: #8a7352; }
body.experience.member-theme .schedule-day :is(input, select) { min-height: 48px; border-radius: 10px; font-size: 16px; background-color: #fffdf7; border-color: #d6c5a8; padding: 10px 11px; }
body.experience.member-theme .schedule-day select { padding-right: 24px; }
body.experience.member-theme .schedule-time { min-width: 0; gap: 8px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
body.experience.member-theme .schedule-time label { font-size: 12px; gap: 6px; }
body.experience.member-theme .single-day { padding: 8px 24px; }
body.experience.member-theme .single-day>summary, body.experience.member-theme .member-history>summary { display: flex; align-items: center; min-height: 54px; gap: 12px; font-size: 15px; font-weight: 600; color: #6a4d2a; list-style: none; cursor: pointer; }
body.experience.member-theme .single-day>summary::after, body.experience.member-theme .member-history>summary::after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); margin: 0 4px 4px auto; flex: 0 0 7px; }
body.experience.member-theme .single-day[open]>summary::after, body.experience.member-theme .member-history[open]>summary::after { transform: rotate(225deg); margin-bottom: -3px; }
body.experience.member-theme .single-day>summary::-webkit-details-marker, body.experience.member-theme .member-history>summary::-webkit-details-marker { display: none; }
body.experience.member-theme .single-day[open] { padding-bottom: 22px; }
body.experience.member-theme .single-day[open]>summary { border-bottom: 1px solid #e0cfb2; margin-bottom: 20px; }
body.experience.member-theme .member-history { padding: 0; margin: 20px 0 0; border: 0; border-top: 1px solid #e0cfb2; border-radius: 0; background: none; box-shadow: none; }
body.experience.member-theme .choices span { background: #f7efdf; border-color: #dbc9a9; color: #785b36; padding: 17px 5px; font-size: 15px; border-radius: 12px; }
body.experience.member-theme .choices input:checked+span { background: #3a2e20; color: #fff5df; border-color: #3a2e20; }
body.experience.member-theme .member-private { padding: 23px; border: 1px solid #dfceb1; border-radius: 20px; background: var(--ex-paper); margin-top: 20px; }
body.experience.member-theme .member-private-heading h2 { font-size: 20px; margin: 0 0 4px; }
body.experience.member-theme .member-private-heading p { font-size: 13px; color: #7f6441; margin: 0; }
body.experience.member-theme .member-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 17px 0 0; }
body.experience.member-theme .member-actions button { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px; min-height: 54px; text-align: left; border: 1px solid #dfccb0; border-radius: 12px; background: #f5ead6; color: #725430; font-size: 14px; }
body.experience.member-theme .member-actions button svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.3; }

/* Dialogs and notification tray use the same readable surfaces as the main app. */
body.experience dialog { color: var(--ex-ink); background: #fbf7ee; border: 1px solid #ded0b7; border-radius: 24px; padding: 28px; box-shadow: 0 22px 80px #25180f42; max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overscroll-behavior: contain; }
body.experience dialog::backdrop { background: rgba(31, 24, 18, .38); backdrop-filter: none; }
body.experience dialog .dialog-heading { gap: 16px; margin-bottom: 16px; }
body.experience dialog .dialog-heading h2 { font-size: 24px; line-height: 1.45; letter-spacing: -.7px; margin: 0; }
body.experience dialog .dialog-heading .eyebrow { font-size: 12px; margin-bottom: 4px; display: inline-block; }
body.experience dialog .close { flex: 0 0 48px; min-width: 48px; width: 48px; min-height: 48px; height: 48px; border-radius: 13px; font-size: 28px; background: #ede2cf; color: #795832; line-height: 1; }
body.experience dialog form { gap: 17px; }
body.experience dialog .hint { font-size: 13px; }
body.experience dialog .form-grid { gap: 16px; }
body.experience dialog .ledger-form-footer { background: #fbf7ee; border-color: #e0cfb2; }
body.experience #contracts-dialog .contracts-access { border-radius: 15px; border-color: #dcc39b; background: #f1e5cd; }
body.experience #contracts-dialog .contracts-access .check { font-size: 16px; }
body.experience #app-notifications-dialog { width: min(560px, calc(100% - 24px)); padding: 26px; }
body.experience .app-notifications-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid #e0cfb3; }
body.experience #app-notifications-status { font-size: 13px; color: #826441; line-height: 1.6; margin: 0; }
body.experience .app-notifications-toolbar .row-actions { gap: 5px; }
body.experience .app-notifications-toolbar button { font-size: 13px; min-height: 48px; padding: 10px 12px; }
body.experience #app-notifications-list { display: grid; gap: 10px; margin-top: 18px; }
body.experience .app-notification { min-width: 0; padding: 18px; background: #f5eedf; border: 1px solid #e1d0b3; border-radius: 15px; }
body.experience .app-notification.is-unread { border-left: 3px solid #a6793d; padding-left: 16px; background: #eee1c8; }
body.experience .notice-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; font-size: 12px; font-weight: 400; line-height: 1.5; color: #80613b; margin: 0 0 10px; }
body.experience .notice-kind { display: inline-flex; align-items: center; padding: 3px 8px; border: 1px solid #d7c09b; border-radius: 20px; background: #f9f0df; color: #79562c; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
body.experience .app-notification h3 { font-size: 17px; font-weight: 650; line-height: 1.55; letter-spacing: -.3px; color: #584026; margin: 0 0 7px; }
body.experience .notice-body { font-size: 14px; color: #6d5333; line-height: 1.75; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
body.experience .notice-time { font-size: 12px; line-height: 1.6; color: #846641; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.experience .notice-action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 13px; margin: 0; border: 1px solid #caae80; border-radius: 10px; background: #fff7e7; color: #6a4b24; font-size: 13px; text-decoration: none; }
body.experience .notice-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px 12px; flex-wrap: wrap; margin-top: 14px; }
body.experience .notice-actions .quiet { min-height: 48px; padding: 10px 12px; font-size: 13px; color: #7a5a34; }
body.experience .notice-read { font-size: 12px; line-height: 1.6; color: #846a47; white-space: nowrap; }
body.experience .notice-empty { color: #80613b; font-size: 15px; line-height: 1.7; text-align: center; padding: 30px 16px; border: 1px solid #e0cfb1; background: #f4ead7; border-radius: 16px; }
body.experience .notice-empty-mark { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 14px; border: 1px solid #d8c19c; border-radius: 50%; background: #ede0c6; color: #97723d; font-size: 21px; line-height: 1; }
body.experience .notice-empty h3 { color: #674a27; font-size: 17px; font-weight: 600; line-height: 1.6; letter-spacing: -.3px; margin: 0 0 6px; }
body.experience .notice-empty p { max-width: 30ch; margin: 0 auto; font-size: 14px; line-height: 1.75; color: #856640; }
body.experience #toast { z-index: 80; color: #fff6e5; background: #35291f; font-size: 14px; padding: 14px 19px; border-radius: 14px; max-width: min(520px, calc(100% - 28px)); box-shadow: 0 8px 30px #24190f2b; }
body.experience #toast.error { background: #813e30; }

/* Deliberate motion: no continual decoration, and all movement respects the device setting. */
@media (prefers-reduced-motion: no-preference) {
  body.experience :is(button, a, input, select, textarea) { transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease; }
  body.experience button:not(:disabled):active { transform: translateY(1px); }
  body.experience .view-enter { animation: experience-view-in 220ms ease-out both; }
  /* This shell contains the fixed navigation. Never transform its coordinate system. */
  body.experience #board-view.view-enter { animation-name: experience-shell-in; }
  body.experience dialog[open] { animation: experience-dialog-in 180ms ease-out; }
  body.experience dialog[open]::backdrop { animation: experience-backdrop-in 180ms ease-out; }
  body.experience .toast-enter { animation: experience-toast-in 200ms ease-out; }
  body.experience button[aria-busy="true"]::after { animation: experience-busy 800ms linear infinite; }
}
body.experience button[aria-busy="true"] { cursor: progress; }
body.experience button[aria-busy="true"]::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 9px; vertical-align: middle; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; }
@keyframes experience-view-in { from { opacity: .25; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes experience-shell-in { from { opacity: .25; } to { opacity: 1; } }
@keyframes experience-dialog-in { from { opacity: .5; transform: translateY(8px) scale(.995); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes experience-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes experience-toast-in { from { opacity: 0; transform: translate(-50%, 7px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes experience-busy { to { transform: rotate(360deg); } }
@media (hover: hover) {
  body.experience .primary:hover { background: #50402b; border-color: #50402b; }
  body.experience .secondary:hover { background: #eee0c5; border-color: #bfa37a; }
  body.experience .quiet:hover { background: #ecdfc8; }
  body.experience .app-notifications-open:hover { background: #e4d3b4; }
  body.experience.workspace-page .more-card:hover { background: #f6ebd6; border-color: #c6aa7b; }
}

@media (max-width: 1000px) {
  body.experience .login-shell { max-width: 820px; gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(330px, 390px); }
  body.experience .login-identity { padding: 28px 20px; }
  body.experience .login-wordmark { font-size: 76px; }
  body.experience .login-identity-title { font-size: 23px; }
  body.experience.login-page .install-box { width: 390px; }
  body.experience.workspace-page .command-hero { padding: 25px; }
}
@media (max-width: 700px) {
  body.experience.login-page main { align-items: center; justify-content: flex-start; padding: calc(30px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom)); gap: 14px; }
  body.experience .login-shell { display: grid; grid-template-columns: minmax(0, 1fr); width: 390px; max-width: 100%; gap: 17px; }
  body.experience .login-identity { text-align: center; padding: 18px; background: rgba(250, 244, 230, .72); border-radius: 18px; }
  body.experience .login-identity .login-kicker, body.experience .login-rule, body.experience .login-services { display: none; }
  body.experience .login-wordmark { font-size: 61px; letter-spacing: 2px; }
  body.experience .login-identity-title { font-size: 13px; line-height: 1.6; margin-top: 9px; letter-spacing: .03em; }
  body.experience .login-identity-title br { display: none; }
  body.experience .login-panel { border-radius: 23px; padding: 25px; }
  body.experience .login-store-options { margin-bottom: 23px; }
  body.experience .login-shell .login-heading h1 { font-size: 25px; }
  body.experience .login-shell form { margin-top: 22px; }
  body.experience.login-page .install-box { width: 390px; flex-direction: row; align-items: center; padding: 12px 14px; }
  body.experience.login-page .install-box .hint { display: none; }
  body.experience .topbar { gap: 8px; padding-inline: 16px; align-items: center; }
  body.experience .brand { font-size: 19px; gap: 8px; }
  body.experience .brand .mark { width: 32px; height: 36px; font-size: 24px; border-radius: 10px; }
  body.experience .brand small { font-size: 10px; }
  body.experience .topbar #account { gap: 6px; }
  body.experience .workspace-role { font-size: 11px; padding: 2px 7px; }
  body.experience .app-notifications-open { min-width: 48px; width: 48px; height: 48px; padding: 11px; background: none; }
  body.experience .account-menu>summary { min-width: 48px; padding: 8px; font-size: 12px; }
  body.experience.workspace-page .topbar { height: calc(66px + env(safe-area-inset-top)); min-height: calc(66px + env(safe-area-inset-top)); padding-top: calc(8px + env(safe-area-inset-top)); }
  body.experience.workspace-page main { padding-top: calc(84px + env(safe-area-inset-top)); padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
  body.experience.workspace-page .workspace-header { top: calc(76px + env(safe-area-inset-top)); border-radius: 15px; margin-bottom: 18px; }
  body.experience.workspace-page .workspace-nav { padding: 7px 9px calc(8px + env(safe-area-inset-bottom)); border-radius: 19px 19px 0 0; background: rgba(250, 245, 232, .98); border-top-color: #d6c6aa; }
  body.experience.workspace-page .workspace-nav>button { min-height: 60px; border-radius: 12px; font-size: 11px; gap: 4px; }
  body.experience.workspace-page .workspace-nav>button svg { width: 21px; height: 21px; }
  body.experience.workspace-page .finance-nav { margin-bottom: 18px; gap: 2px; }
  body.experience.workspace-page .finance-nav button { font-size: 12px; min-height: 48px; }
  body.experience.workspace-page .command-hero { padding: 22px 20px; gap: 18px; border-radius: 20px; }
  body.experience.workspace-page #command-title { font-size: 29px; line-height: 1.3; }
  body.experience.workspace-page #command-caption { font-size: 14px; line-height: 1.65; }
  body.experience.workspace-page .command-hero-actions { gap: 8px; }
  body.experience.workspace-page .command-actions button { font-size: 13px; padding: 11px 12px; }
  body.experience.workspace-page .command-kpis { gap: 10px; }
  body.experience.workspace-page .command-kpi { padding: 18px 16px; gap: 8px; border-radius: 16px; }
  body.experience.workspace-page .command-kpi strong { font-size: 31px; }
  body.experience.workspace-page .command-kpi>span { font-size: 12px; }
  body.experience.workspace-page .command-kpi small { font-size: 12px; }
  body.experience.workspace-page .command-attention-item { padding: 13px; gap: 5px 10px; }
  body.experience.workspace-page .command-attention-item>button { font-size: 12px; padding: 9px 10px; }
  body.experience.workspace-page .shared-shop-card { padding: 22px 19px; border-radius: 19px; }
  body.experience.workspace-page #shared-shops, body.experience.workspace-page .command-venues .shared-shops, body.experience.workspace-page .command-side { grid-template-columns: minmax(0, 1fr); }
  body.experience.workspace-page .shared-metrics { gap: 8px; }
  body.experience.workspace-page .shared-metrics strong { font-size: 26px; }
  body.experience.workspace-page :is(.command-agenda, .command-money) { padding: 22px 20px; }
  body.experience.workspace-page #board-view>section>.section-title { padding: 21px 19px; border-radius: 18px; }
  body.experience.workspace-page .section-title h2 { font-size: 24px; }
  body.experience.workspace-page .stats>div { padding: 16px; }
  body.experience.workspace-page .stats strong { font-size: 26px; }
  body.experience.workspace-page .stats span { font-size: 12px; }
  body.experience.workspace-page .attendance-card { padding: 19px 17px; }
  body.experience.workspace-page .attendance-next strong { font-size: 13px; }
  body.experience.workspace-page .attendance-next small { font-size: 12px; }
  body.experience.workspace-page .inventory-row { padding: 20px 16px; }
  body.experience.workspace-page .inventory-row-fields { gap: 8px; }
  body.experience.workspace-page .inventory-row-input, body.experience.workspace-page .inventory-row-result { font-size: 22px; padding: 11px 8px; }
  body.experience.workspace-page .inventory-row-label { font-size: 14px; line-height: 1.5; }
  body.experience.workspace-page .transaction-shortcut { padding: 17px 15px; min-height: 102px; }
  body.experience.workspace-page .operations-metrics>div { padding: 16px; }
  body.experience.workspace-page .operations-metrics strong { font-size: 21px; }
  body.experience.workspace-page .more-card { min-height: 102px; padding: 21px; }
  body.experience.member-theme main { padding: 22px 16px calc(32px + env(safe-area-inset-bottom)); }
  body.experience.member-theme .member-day-hero { padding: 22px 20px; border-radius: 21px; }
  body.experience.member-theme .member-day-hero h1 { font-size: 25px; }
  body.experience.member-theme .member-day-hero .muted { font-size: 13px; }
  body.experience.member-theme .member-overview { gap: 9px; margin-top: 16px; padding-top: 15px; }
  body.experience.member-theme .member-overview dd { font-size: 16px; }
  body.experience.member-theme .member-card { padding: 23px 18px; border-radius: 19px; }
  body.experience.member-theme .schedule-navigation { gap: 8px; }
  body.experience.member-theme .schedule-navigation button { width: 48px; min-width: 48px; }
  body.experience.member-theme .schedule-day { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 12px; }
  body.experience.member-theme .schedule-day.edited { padding-left: 10px; }
  body.experience.member-theme .schedule-time { grid-column: 1/-1; padding-top: 2px; }
  body.experience.member-theme .schedule-meta { font-size: 12px; }
  body.experience.member-theme .single-day { padding: 7px 20px; }
  body.experience.member-theme .single-day[open] { padding-bottom: 20px; }
  body.experience.member-theme .member-history { padding: 0; }
  body.experience.member-theme .member-private { padding: 22px 20px; }
  body.experience.member-theme .member-actions { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  body.experience.member-theme .member-actions button { min-height: 54px; padding: 14px 15px; }
  body.experience.member-theme .single-day .section-title { flex-wrap: wrap; }
  body.experience.member-theme .single-day .date-label { width: 100%; }
  body.experience dialog { width: calc(100% - 20px); padding: 24px 20px; border-radius: 23px; max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  body.experience dialog .dialog-heading h2 { font-size: 22px; }
  body.experience #app-notifications-dialog { padding: 23px 20px; }
  body.experience .app-notifications-toolbar { gap: 9px; }
  body.experience .app-notification { padding: 16px; }
  body.experience .app-notification.is-unread { padding-left: 14px; }
  body.experience .notice-heading { font-size: 12px; }
  body.experience .app-notification h3 { font-size: 16px; }
  body.experience .app-connection-status { top: calc(74px + env(safe-area-inset-top)); font-size: 12px; }
  body.experience.workspace-page #toast { bottom: calc(94px + env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) {
  body.experience.login-page main { padding-inline: 16px; }
  body.experience .login-panel { padding: 23px 20px; }
  body.experience .login-store-heading { font-size: 12px; }
  body.experience .login-step { font-size: 10px; }
  body.experience .topbar { padding-inline: 12px; }
  body.experience .brand { font-size: 17px; }
  body.experience .brand .mark { width: 29px; height: 34px; font-size: 23px; }
  body.experience .topbar #account { gap: 3px; }
  body.experience .workspace-role { font-size: 10px; padding: 2px 6px; }
  body.experience.workspace-page .command-kpi { padding: 16px 12px; }
  body.experience.workspace-page .command-kpi:has(>button)>span { padding-right: 38px; }
  body.experience.workspace-page .command-kpi strong { font-size: 29px; }
  body.experience.workspace-page .shared-shop-card { padding: 20px 16px; }
  body.experience.workspace-page .shared-metrics { gap: 6px; }
  body.experience.workspace-page .shared-metrics strong { font-size: 24px; }
  body.experience.workspace-page .shared-room-summary>div { padding: 12px 5px; }
  body.experience.workspace-page .inventory-row { padding: 18px 12px; }
  body.experience.workspace-page .inventory-row-fields { gap: 6px; }
  body.experience.workspace-page .inventory-row-input, body.experience.workspace-page .inventory-row-result { font-size: 20px; padding-inline: 6px; }
  body.experience.member-theme .member-day-hero { padding: 21px 17px; }
  body.experience.member-theme .member-day-hero h1 { font-size: 23px; }
  body.experience.member-theme .member-overview dd { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  body.experience *, body.experience *::before, body.experience *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body.experience .app-notifications-open, body.experience .app-connection-status, body.experience #app-notifications-dialog { display: none !important; }
  body.experience :is(.view-enter, .toast-enter) { animation: none !important; transform: none !important; }
  body.experience :is(.ledger-scroll, .ledger-payee, .closing-summary>div) { box-shadow: none; background: #fff; color: #222; border-color: #bbb; }
  body.experience.workspace-page main { padding: 0 !important; }
}

body.experience.member-theme .member-overview-action { margin-top: 20px; min-height: 48px; padding: 12px 19px; font-size: 14px; border-radius: 12px; }
body.experience.workspace-page .past-task-notices { margin: 18px 0; border: 1px solid #dfceb1; border-radius: 16px; background: var(--ex-paper); padding: 4px 20px; }
body.experience.workspace-page .past-task-notices>summary { display: flex; align-items: center; min-height: 54px; gap: 12px; font-size: 14px; font-weight: 600; color: #735532; cursor: pointer; list-style: none; }
body.experience.workspace-page .past-task-notices>summary::after { content: ''; margin: 0 4px 4px auto; width: 7px; height: 7px; flex: 0 0 7px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); }
body.experience.workspace-page .past-task-notices[open]>summary::after { transform: rotate(225deg); margin-bottom: -3px; }
body.experience.workspace-page .past-task-notices>summary::-webkit-details-marker { display: none; }
body.experience.workspace-page .past-task-notices .team-notifications { padding: 8px 0 18px; margin: 0; border: 0; background: none; box-shadow: none; }

/* Updates never cover an editor or force the user away from an unfinished record. */
body.experience .app-update-banner { position: fixed; z-index: 60; left: 50%; bottom: calc(22px + env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: center; gap: 14px; width: max-content; max-width: min(620px, calc(100% - 28px)); padding: 13px 15px; border: 1px solid #c7aa7b; border-radius: 16px; background: #fbf3e1; color: #61431f; box-shadow: 0 10px 32px #36250f24; }
body.experience .app-update-banner p { margin: 0; min-width: 0; font-size: 14px; line-height: 1.65; }
body.experience .app-update-banner button { min-width: 104px; min-height: 48px; padding: 10px 13px; flex-shrink: 0; font-size: 13px; }
@media (max-width: 700px) { body.experience.workspace-page .app-update-banner { bottom: calc(94px + env(safe-area-inset-bottom)); } body.experience .app-update-banner { gap: 10px; padding: 12px; width: calc(100% - 28px); } body.experience .app-update-banner p { font-size: 13px; } }
@media (max-width: 360px) { body.experience .app-update-banner { align-items: stretch; flex-direction: column; } body.experience .app-update-banner button { width: 100%; } }
@media print { body.experience .app-update-banner { display: none !important; } }

body.experience:has(#app-update-banner:not([hidden])) main { padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
@media (max-width: 700px) { body.experience:has(#app-update-banner:not([hidden])) main { padding-bottom: calc(240px + env(safe-area-inset-bottom)); } }

/* Teams keep their own work visible; comparisons contain aggregate results only. */
body.experience .team-scope-note { padding: 15px 18px; border: 1px solid #dfd2bd; border-radius: 14px; background: rgba(252,249,242,.95); color: #6b5941; font-size: 14px; }
body.experience .waiter-stock-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
body.experience :is(.waiter-stock-card,.comparison-card) { min-width: 0; border: 1px solid #ddcfb8; background: var(--ex-paper); border-radius: 20px; padding: 24px; box-shadow: var(--ex-shadow); }
body.experience :is(.waiter-stock-card,.comparison-card) h3 { margin: 4px 0 12px; font-size: 25px; }
body.experience .team-values { display: grid; gap: 0; margin: 18px 0; }
body.experience .team-values>div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid #e5dac9; align-items: baseline; }
body.experience .team-values dt { font-size: 13px; color: #705d44; }
body.experience .team-values dd { margin: 0; text-align: right; font-size: 17px; font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
body.experience .waiter-stock-card summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 14px; color: #725637; }
body.experience .comparison-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body.experience .comparison-card h3 { font: 36px Georgia,serif; letter-spacing: -.6px; }
body.experience .comparison-card .team-values>div:first-child dd { font-size: 24px; }
body.experience .comparison-incomplete { padding: 10px; background: #f1e6d3; border-radius: 10px; margin: 12px 0; }
body.experience .ledger-photo-pages { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.experience.waiter-workspace #ledger-manual, body.experience.waiter-workspace #finance-nav { display:none !important; }
@media(max-width:700px) {
 body.experience.waiter-workspace .workspace-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.experience :is(.waiter-stock-list,.comparison-list) { grid-template-columns: minmax(0,1fr); gap: 14px; }
 body.experience :is(.waiter-stock-card,.comparison-card) { padding: 21px 18px; }
 body.experience .ledger-photo-pages { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.experience .photo-kind-tabs button { flex: 1 0 calc(25% - 6px); font-size: 12px; }
}
/* Empty invitation lists remain readable over the boutique background. */
body.experience :is(#invitation-status,#invite-form-status):empty { display: none; }
body.experience #invite-list>.muted { margin: 0; padding: 25px 22px; border: 1px dashed #d1c1a7; border-radius: 16px; background: var(--ex-paper); color: #6b5941; line-height: 1.7; }
/* Landscape phones and enlarged text need room to read the actual records. */
@media (max-width: 900px) and (max-height: 550px) {
 body.experience.workspace-page .workspace-header { position: static; }
}

/* Operational layout: shorter headings, stable controls and readable records. */
body.experience.workspace-page .workspace-header { position: static; margin-bottom: 16px; padding-block: 10px; box-shadow: none; }
body.experience.workspace-page .command-hero { padding: 18px 20px; border-radius: 16px; gap: 16px; margin-bottom: 8px; }
body.experience.workspace-page .command-hero>div:first-child>.eyebrow,
body.experience.workspace-page #board-view>section>.section-title>div>.eyebrow,
body.experience .paper-ledger-heading .eyebrow { display: none; }
body.experience.workspace-page #command-title { font-size: 25px; line-height: 1.3; letter-spacing: -.6px; margin: 0 0 4px; }
body.experience.workspace-page #command-caption { font-size: 13px; margin: 0; line-height: 1.5; }
body.experience.workspace-page .command-hero-actions { gap: 8px; max-width: none; }
body.experience.workspace-page .command-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
body.experience.workspace-page .command-actions button { min-height: 44px; padding: 10px 12px; border-radius: 10px; white-space: nowrap; font-size: 13px; }
body.experience.workspace-page .command-refresh { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 11px; }
body.experience.workspace-page .command-sync { margin: 0 0 12px; font-variant-numeric: tabular-nums; }
body.experience.workspace-page .command-kpi { padding: 16px; gap: 6px; border-radius: 14px; }
body.experience.workspace-page .command-kpi strong { font-size: 29px; }
body.experience.workspace-page .command-kpi small { line-height: 1.45; }
body.experience.workspace-page .command-definition { margin-block: 6px 10px; padding: 8px 10px; }
body.experience.workspace-page .shared-shop-card { padding: 18px; border-radius: 16px; }
body.experience.workspace-page .shared-metrics { margin: 14px 0; }
body.experience.workspace-page .shared-shop-heading h3 { font-size: 28px; }
body.experience.workspace-page #board-view>section>.section-title { padding: 17px 18px; border-radius: 15px; margin-bottom: 14px; gap: 12px; }
body.experience.workspace-page .section-title h2 { font-size: 23px; margin-block: 0 4px; }
body.experience.workspace-page .section-title .muted { margin: 0; line-height: 1.5; font-size: 13px; }
body.experience .paper-ledger { padding: 20px; border-radius: 17px; }
body.experience .paper-ledger-heading h2 { font-size: 24px; margin: 0 0 6px; }
body.experience .paper-ledger-heading p { font-size: 13px; line-height: 1.5; }
body.experience .paper-ledger-mark { display: none; }
body.experience .paper-ledger-actions { margin: 16px 0 8px; }
body.experience .ledger-photo-pages { margin: 16px 0; gap: 8px; }
body.experience .ledger-photo-page { padding: 14px; gap: 7px; border-radius: 12px; }
body.experience :is(.ledger-photo-caption,.ledger-photo-caption h4,#ledger-photo-view-title) { min-width: 0; overflow-wrap: anywhere; }
body.experience.workspace-page .more-card { min-height: 86px; padding: 17px; border-radius: 14px; }
body.experience.workspace-page .more-card strong { font-size: 16px; }
body.experience.workspace-page .more-card small { margin-top: 4px; line-height: 1.45; }
body.experience.workspace-page :is(.more-card-mark,.member-hero-mark) { display: none; }
body.experience.workspace-page #install-box { display: none; }
body.experience.workspace-page[data-view="more"] #install-box { display: flex; }
body.experience :is(.save-state,.operations-feedback):empty { display: none; }
body.experience :is(.team-values dd,.shared-metrics strong,.shared-room-summary strong,.stats strong,.command-kpi strong) { font-variant-numeric: tabular-nums; }
body.experience .login-help-button { width: 100%; font-size: 13px; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
body.experience .login-identity-title { font-size: 23px; line-height: 1.5; }
body.experience .login-services { display: none; }
body.experience .account-help-list { margin: 0; display: grid; gap: 20px; }
body.experience .account-help-list dt { margin-bottom: 6px; font-weight: 650; }
body.experience .account-help-list dd { margin: 0; color: #695a45; font-size: 14px; line-height: 1.65; }
body.experience .password-field { display: flex; position: relative; min-width: 0; }
body.experience .password-field input { width: 100%; min-width: 0; padding-right: 62px; }
body.experience .password-visibility { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); min-height: 44px; min-width: 48px; padding: 8px; background: transparent; border: 0; color: #6b5941; font-size: 12px; box-shadow: none; }
@media (max-width: 1000px) {
 body.experience.workspace-page .command-hero { gap: 12px; }
 body.experience.workspace-page .command-hero-actions { width: 100%; display: flex; flex-wrap: nowrap; }
 body.experience.workspace-page .command-actions { flex: 1; }
}
@media (max-width: 700px) {
 body.experience.workspace-page .workspace-header { margin-bottom: 12px; }
 body.experience.workspace-page .command-hero { padding: 16px; gap: 12px; }
 body.experience.workspace-page #command-title { font-size: 23px; }
 body.experience.workspace-page .command-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.experience.workspace-page .command-hero-actions { align-items: flex-start; }
 body.experience.workspace-page .command-refresh { align-self: stretch; height: auto; border-radius: 11px; }
 body.experience.workspace-page .command-kpis { gap: 8px; }
 body.experience.workspace-page .command-kpi { padding: 13px 14px; gap: 5px; }
 body.experience.workspace-page .command-kpi strong { font-size: 27px; }
 body.experience.workspace-page .command-section-heading h3 { font-size: 18px; }
 body.experience.workspace-page .section-title { align-items: flex-start; }
 body.experience.workspace-page .section-title h2 { font-size: 22px; }
 body.experience.workspace-page .section-title .row-actions { flex-wrap: wrap; gap: 6px; }
 body.experience .paper-ledger { padding: 17px; }
 body.experience .paper-ledger-heading h2 { font-size: 22px; }
 body.experience.member-theme .member-day-hero { padding: 22px 19px; border-radius: 18px; }
 body.experience.member-theme .member-day-hero .eyebrow { display: none; }
 body.experience.member-theme .member-day-hero h1 { font-size: 27px; }
}
body.experience .photo-kind-tabs button { min-height: 44px; }
@media (max-width: 700px) {
 body.experience.member-theme .member-overview { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
 body.experience.member-theme .member-overview>div:first-child { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
 body.experience.member-theme .member-overview>div:first-child dd { margin: 0; white-space: nowrap; }
}
