:root {
  --forest: #153b32;
  --forest-2: #214d42;
  --forest-dark: #0d2822;
  --bone: #f5f1e9;
  --paper: #fbfaf6;
  --white: #ffffff;
  --clay: #d27b57;
  --clay-soft: #f3ded5;
  --sage: #dde8df;
  --ink: #14231f;
  --muted: #69736f;
  --line: #e3e2dc;
  --blue: #4f758e;
  --gold: #c69645;
  --red: #b8544b;
  --sidebar: 252px;
  --header: 74px;
  --radius: 20px;
  --shadow: 0 18px 50px rgba(21, 59, 50, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { display: block; }
[hidden] { display: none !important; }

.auth-root { min-height: 100vh; background: var(--bone); }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.1fr); }
.auth-story { padding: clamp(38px, 6vw, 82px); color: var(--white); background: var(--forest-dark); position: relative; overflow: hidden; display: flex; flex-direction: column; }
.auth-story::before, .auth-story::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.auth-story::before { width: 560px; height: 560px; right: -310px; top: -180px; }
.auth-story::after { width: 420px; height: 420px; left: -230px; bottom: -250px; box-shadow: 0 0 0 90px rgba(255,255,255,.025); }
.auth-brand { position: relative; z-index: 2; display: flex; align-items: center; gap: 11px; color: var(--bone); font-size: 15px; font-weight: 800; letter-spacing: .23em; }
.auth-brand img { color: var(--bone); }
.auth-story-copy { max-width: 590px; margin: auto 0; position: relative; z-index: 2; }
.auth-story-copy .kicker { color: #bad1c2; }
.auth-story-copy h1 { margin: 18px 0 22px; font-size: clamp(48px, 6vw, 82px); line-height: .94; letter-spacing: -.065em; font-weight: 570; }
.auth-story-copy p { max-width: 500px; margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.7; }
.auth-points { margin-top: 36px; display: grid; gap: 12px; }
.auth-point { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72); font-size: 10px; }
.auth-point span { width: 25px; height: 25px; flex: 0 0 auto; border-radius: 8px; display: grid; place-items: center; color: var(--forest-dark); background: var(--sage); }
.auth-point svg { width: 13px; height: 13px; }
.auth-story-foot { position: relative; z-index: 2; color: rgba(255,255,255,.35); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.auth-panel { padding: 40px clamp(24px, 8vw, 110px); display: grid; place-items: center; }
.auth-card { width: min(440px, 100%); }
.auth-mobile-brand { display: none; }
.auth-card .kicker { margin-bottom: 12px; }
.auth-card h2 { margin: 0; font-size: clamp(34px, 4vw, 48px); line-height: 1; letter-spacing: -.055em; font-weight: 630; }
.auth-intro { margin: 14px 0 29px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.auth-form { display: grid; gap: 14px; }
.auth-form .field input, .auth-form .field select { min-height: 49px; border-radius: 13px; }
.registration-roles { min-width: 0; margin: 0; padding: 0; border: 0; }
.registration-roles legend { padding: 0; color: var(--text); font-size: 10px; font-weight: 720; }
.registration-roles > p { margin: 5px 0 10px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.registration-roles > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.registration-roles label { min-width: 0; min-height: 62px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: flex-start; gap: 8px; background: var(--white); cursor: pointer; }
.registration-roles label:last-child { grid-column: 1 / -1; }
.registration-roles label:has(input:checked) { border-color: #93ad9a; background: var(--sage); box-shadow: inset 0 0 0 1px rgba(21,59,50,.08); }
.registration-roles input { margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--forest); }
.registration-roles span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.registration-roles strong { font-size: 9px; }
.registration-roles small { color: var(--muted); font-size: 7px; line-height: 1.35; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 72px; }
.password-toggle { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); padding: 7px; border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: 8px; }
.auth-submit { width: 100%; min-height: 50px; margin-top: 4px; border-radius: 13px; }
.auth-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.auth-check { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.auth-check input { margin: 1px 0 0; accent-color: var(--forest); }
.auth-link { padding: 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 9px; font-weight: 740; }
.auth-separator { margin: 24px 0; display: flex; align-items: center; gap: 12px; color: #a1a7a4; font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.auth-separator::before, .auth-separator::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.auth-switch { color: var(--muted); text-align: center; font-size: 10px; }
.auth-switch a { color: var(--forest); font-weight: 760; }
.auth-message { margin-bottom: 17px; padding: 12px 13px; border: 1px solid #d4e1d6; border-radius: 11px; color: #426052; background: #edf5ee; font-size: 9px; line-height: 1.5; }
.auth-message.error { border-color: #ead1cd; color: #8a433c; background: #faece9; }
.auth-resend { margin: 8px auto 0; padding: 6px 9px; border: 1px solid currentColor; border-radius: 8px; display: block; color: inherit; background: transparent; cursor: pointer; font: inherit; font-weight: 720; }
.auth-direct-verify { color: var(--forest); font-weight: 780; }
.auth-state { text-align: center; }
.auth-state-icon { width: 68px; height: 68px; margin: 0 auto 22px; border-radius: 21px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.auth-state-icon svg { width: 31px; height: 31px; }
.auth-state h2 { font-size: 34px; }
.auth-state .button { margin-top: 10px; }
.auth-state .local-mail-button { margin-left: 7px; }
.mailpit-link { margin-top: 13px; display: inline-flex; color: var(--clay); font-size: 9px; font-weight: 720; }
.auth-loading { min-height: 100vh; display: grid; place-items: center; text-align: center; }
.auth-loading img { width: 55px; height: 55px; color: var(--forest); animation: authPulse 1.2s ease-in-out infinite alternate; }
.auth-loading p { margin: 14px 0 0; color: var(--muted); font-size: 10px; }
@keyframes authPulse { to { transform: scale(1.08); opacity: .55; } }

.app-shell { min-height: 100vh; }
.sidebar { width: var(--sidebar); position: fixed; inset: 0 auto 0 0; z-index: 40; display: flex; flex-direction: column; padding: 24px 16px 18px; color: #edf3ef; background: var(--forest-dark); }
.brand { height: 48px; padding: 0 10px; display: flex; align-items: center; gap: 10px; color: var(--bone); font-size: 15px; font-weight: 800; letter-spacing: .22em; }
.brand img { color: var(--bone); }
.side-nav { min-height: 0; margin-top: 28px; padding-right: 2px; display: flex; flex: 1; flex-direction: column; gap: 5px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.nav-section-label { padding: 16px 13px 6px; color: rgba(255,255,255,.35); font-size: 9px; font-weight: 760; letter-spacing: .16em; text-transform: uppercase; }
.nav-item { min-height: 44px; padding: 0 13px; border-radius: 12px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.64); font-size: 13px; font-weight: 610; transition: .18s ease; }
.nav-item svg { width: 19px; height: 19px; stroke-width: 1.7; }
.nav-item:hover { color: var(--white); background: rgba(255,255,255,.06); }
.nav-item.active { color: var(--white); background: rgba(221,232,223,.13); }
.nav-item.nav-logout { width: 100%; border: 0; background: transparent; cursor: pointer; text-align: left; }
.nav-item.nav-logout:hover { color: var(--white); background: rgba(255,255,255,.06); }
.nav-item.active .nav-icon { color: #b9d4c2; }
.nav-order-tools { margin: 0 6px 8px; }
.nav-order-tools > button { width: 100%; min-height: 34px; padding: 0 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.045); cursor: pointer; font-size: 9px; font-weight: 720; }
.nav-order-tools > button:hover, .nav-order-tools > button:focus-visible { color: #fff; background: rgba(255,255,255,.1); outline: none; }
.nav-order-editor { margin-top: 7px; padding: 6px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; display: grid; gap: 3px; background: rgba(0,0,0,.12); }
.nav-order-editor > div { min-height: 36px; padding-left: 7px; display: flex; align-items: center; justify-content: space-between; gap: 5px; color: rgba(255,255,255,.74); font-size: 9px; }
.nav-order-editor > div > span:last-child { display: flex; gap: 3px; }
.nav-order-editor button { width: 31px; height: 31px; border: 0; border-radius: 8px; color: #e4eee6; background: rgba(255,255,255,.09); cursor: pointer; font-size: 14px; }
.nav-order-editor button:disabled { opacity: .25; cursor: default; }
.nav-count { margin-left: auto; min-width: 22px; padding: 3px 6px; border-radius: 99px; color: #ffd9ca; background: rgba(210,123,87,.2); text-align: center; font-size: 9px; }
.nav-tree-root { display: grid; grid-template-columns: minmax(0, 1fr) 31px; gap: 3px; }
.nav-tree-root .nav-item { min-width: 0; padding-right: 8px; }
.nav-tree-root > button, .nav-horse-row > button { padding: 0; border: 0; border-radius: 9px; color: rgba(255,255,255,.55); background: transparent; cursor: pointer; font-size: 17px; }
.nav-tree-root > button:hover, .nav-horse-row > button:hover { color: var(--white); background: rgba(255,255,255,.08); }
.nav-horse-count { color: rgba(255,255,255,.58); background: rgba(255,255,255,.08); }
.nav-horse-list { margin: 3px 0 5px 22px; padding: 3px 0 3px 10px; border-left: 1px solid rgba(255,255,255,.12); display: grid; gap: 3px; }
.nav-horse-group { border-radius: 11px; }
.nav-horse-group.current { background: rgba(255,255,255,.035); }
.nav-horse-row { min-height: 36px; display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 3px; }
.nav-horse-row > a { min-width: 0; padding: 0 7px; border-radius: 9px; display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.67); }
.nav-horse-row > a:hover { color: var(--white); background: rgba(255,255,255,.055); }
.nav-horse-row > a > span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--horse-nav-color); box-shadow: 0 0 0 3px rgba(255,255,255,.07); }
.nav-horse-row strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.nav-horse-sections { margin: 0 5px 5px 15px; padding: 2px 0 4px 10px; border-left: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: 1fr 1fr; gap: 2px 4px; }
.nav-horse-sections a { min-width: 0; padding: 6px 7px; border-radius: 8px; overflow: hidden; color: rgba(255,255,255,.47); font-size: 9px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.nav-horse-sections a:hover { color: var(--white); background: rgba(255,255,255,.055); }
.nav-horse-sections a.active { color: #d9eadc; background: rgba(185,212,194,.12); }
.nav-horse-empty { padding: 9px 7px; color: rgba(255,255,255,.38); font-size: 9px; }
.sidebar-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.workspace-badge { width: 100%; border: 0; display: flex; align-items: center; gap: 10px; padding: 8px; color: var(--white); background: transparent; text-align: left; cursor: pointer; }
.workspace-badge > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--forest-dark); background: var(--sage); font-size: 10px; font-weight: 800; }
.workspace-badge div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.workspace-badge strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.workspace-badge small { color: rgba(255,255,255,.4); font-size: 8px; }
.workspace-badge > b { margin-left: auto; color: rgba(255,255,255,.42); font-size: 10px; font-weight: 600; transform: rotate(90deg); }
.workspace-badge:hover { border-radius: 12px; background: rgba(255,255,255,.05); }

.app-body { min-height: 100vh; margin-left: var(--sidebar); }
.app-header { height: var(--header); position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 20px; padding: 0 clamp(20px, 3vw, 42px); border-bottom: 1px solid var(--line); background: rgba(251,250,246,.92); backdrop-filter: blur(18px); }
.mobile-brand, .menu-button { display: none; }
.search-trigger { width: min(460px, 42vw); height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 13px; display: flex; align-items: center; gap: 10px; color: var(--muted); background: var(--white); cursor: pointer; text-align: left; }
.search-trigger svg { width: 18px; }
.search-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
kbd { margin-left: auto; padding: 3px 7px; border: 1px solid #dadbd6; border-radius: 6px; color: #8b918e; background: #f7f7f4; font-family: inherit; font-size: 9px; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.profile-menu-wrap { position: relative; }
.icon-button { width: 40px; height: 40px; padding: 0; border: 1px solid var(--line); border-radius: 12px; display: grid; place-items: center; background: var(--white); cursor: pointer; position: relative; }
.icon-button svg { width: 19px; height: 19px; }
.notification-dot { min-width: 17px; height: 17px; padding: 0 4px; position: absolute; top: -4px; right: -4px; border: 2px solid var(--white); border-radius: 99px; display: grid; place-items: center; color: var(--white); background: var(--clay); font-size: 7px; font-weight: 850; line-height: 1; }
.notification-dot[hidden] { display: none; }
.profile-button { min-height: 46px; padding: 4px 7px 4px 4px; border: 1px solid transparent; border-radius: 14px; display: flex; align-items: center; gap: 9px; background: transparent; cursor: pointer; text-align: left; transition: .18s ease; }
.profile-button:hover, .profile-button[aria-expanded="true"] { border-color: var(--line); background: var(--white); }
.profile-button > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: var(--bone); background: var(--forest); font-size: 10px; font-weight: 800; }
.profile-button div { display: flex; flex-direction: column; gap: 2px; }
.profile-button strong { font-size: 11px; }
.profile-button small { color: var(--muted); font-size: 8px; }
.profile-chevron { margin-left: 2px; color: var(--muted); font-size: 12px; font-weight: 500; transition: transform .18s ease; }
.profile-button[aria-expanded="true"] .profile-chevron { transform: rotate(180deg); }
.profile-menu { width: 286px; position: absolute; top: calc(100% + 9px); right: 0; z-index: 90; padding: 9px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); box-shadow: 0 20px 55px rgba(13,40,34,.16); }
.profile-menu-identity { padding: 9px 9px 11px; display: flex; align-items: center; gap: 10px; }
.profile-menu-identity > span { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; color: var(--bone); background: var(--forest); font-size: 9px; font-weight: 800; }
.profile-menu-identity div, .profile-menu button div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.profile-menu-identity strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.profile-menu-identity small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.profile-menu-divider { height: 1px; margin: 0 5px 5px; background: var(--line); }
.profile-role-switcher { padding: 7px 5px 9px; }
.profile-role-head { margin: 0 4px 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.profile-role-head strong { font-size: 9px; }
.profile-role-head small { padding: 3px 6px; border-radius: 99px; color: #7a5947; background: var(--clay-soft); font-size: 7px; font-weight: 700; }
.profile-role-options { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.profile-role-scope-note { margin: 8px 4px 2px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.ori-expense-plan { margin: 14px 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-soft); }
.ori-expense-plan > strong { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.ori-expense-plan dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ori-expense-plan dl div { padding: 9px 10px; border-radius: 12px; background: var(--surface); }
.ori-expense-plan dt { color: var(--muted); font-size: 11px; }
.ori-expense-plan dd { margin: 3px 0 0; font-weight: 700; }
.ori-expense-plan p { margin: 10px 0 0; font-size: 13px; line-height: 1.45; }
@media (max-width: 650px) { .ori-expense-plan dl { grid-template-columns: 1fr; } }
.profile-menu .profile-role-option { min-height: 38px; padding: 6px 7px; border: 1px solid var(--line); gap: 6px; background: #fbfbf8; }
.profile-menu .profile-role-option > span { width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; color: transparent; background: #e8ece7; font-size: 9px; }
.profile-menu .profile-role-option > strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.profile-menu .profile-role-option.active { border-color: #a9c0ae; color: var(--forest); background: var(--sage); }
.profile-menu .profile-role-option.active > span { color: var(--white); background: var(--forest); }
.profile-menu .profile-role-option:disabled { cursor: wait; opacity: .7; }
.profile-menu button { width: 100%; min-height: 54px; padding: 8px; border: 0; border-radius: 11px; display: flex; align-items: center; gap: 10px; background: transparent; cursor: pointer; text-align: left; }
.profile-menu button:hover, .profile-menu button:focus-visible { outline: none; background: #f4f6f2; }
.profile-menu button strong { font-size: 10px; }
.profile-menu button small { color: var(--muted); font-size: 8px; }
.profile-menu-icon { width: 31px; height: 31px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 14px; font-weight: 700; }
.profile-menu .profile-menu-logout strong { color: #8d423b; }
.profile-menu .profile-menu-logout .profile-menu-icon { color: #994d45; background: #fae8e4; }

.main-content { min-height: calc(100vh - var(--header)); padding: 38px clamp(20px, 3.7vw, 56px) 80px; outline: none; }
.page { max-width: 1420px; margin: 0 auto; animation: pageIn .28s ease; }
@keyframes pageIn { from { opacity: .35; transform: translateY(5px); } }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.page-head h1 { margin: 4px 0 0; font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: -.055em; font-weight: 650; }
.page-head p:not(.kicker) { max-width: 660px; margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.kicker { margin: 0; color: var(--clay); font-size: 9px; font-weight: 780; letter-spacing: .16em; text-transform: uppercase; }
.head-actions { display: flex; gap: 10px; }
.button { min-height: 43px; padding: 0 17px; border: 1px solid transparent; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; font-size: 11px; font-weight: 740; transition: .18s ease; }
.button svg { width: 16px; height: 16px; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: var(--white); background: var(--forest); }
.button.primary:hover { background: var(--forest-dark); }
.button.secondary { border-color: var(--line); background: var(--white); }
.button.ghost { color: var(--forest); background: var(--sage); }
.button.danger { border-color: #a9342a; color: #fff; background: #b73d32; }
.button.danger:hover { background: #972f27; }
.button.danger-outline { border-color: #d9a7a2; color: #a02f27; background: #fff7f6; }
.button.danger-outline:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.text-button { padding: 0; border: 0; color: var(--forest); background: none; cursor: pointer; font-size: 10px; font-weight: 750; }

.status-strip { margin-bottom: 25px; padding: 11px 14px; border: 1px solid #d4e1d6; border-radius: 13px; display: flex; align-items: center; gap: 9px; color: #426052; background: #edf5ee; font-size: 10px; }
.status-strip span { width: 7px; height: 7px; border-radius: 50%; background: #6a9a77; box-shadow: 0 0 0 4px rgba(106,154,119,.13); }
.status-strip strong { color: var(--forest); }
.feed-dashboard-alert { width: 100%; min-height: 62px; margin: -11px 0 25px; padding: 11px 14px; border: 1px solid #efcec3; border-radius: 14px; display: flex; align-items: center; gap: 11px; color: #8e473e; background: #fff3ef; cursor: pointer; text-align: left; }
.feed-dashboard-alert > svg { width: 21px; height: 21px; flex: 0 0 auto; }
.feed-dashboard-alert > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.feed-dashboard-alert strong { font-size: 10px; }
.feed-dashboard-alert span { overflow: hidden; color: #91635d; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.feed-dashboard-alert > b { margin-left: auto; display: flex; align-items: center; gap: 5px; font-size: 8px; white-space: nowrap; }
.feed-dashboard-alert > b svg { width: 13px; height: 13px; }
.stable-dashboard-alert { border-color: #bad8c4; color: var(--forest); background: #f0f8f2; text-decoration: none; }
.stable-dashboard-alert span { color: #5f7768; }

.hero-card { min-height: 290px; padding: clamp(27px, 4vw, 48px); border-radius: 27px; color: var(--white); background: var(--forest); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; }
.hero-card::before, .hero-card::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.hero-card::before { width: 430px; height: 430px; right: -150px; top: -190px; }
.hero-card::after { width: 280px; height: 280px; right: -20px; bottom: -210px; }
.hero-top, .hero-bottom { position: relative; z-index: 2; }
.hero-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.hero-card .kicker { color: #b7d0c0; }
.hero-card h2 { max-width: 720px; margin: 13px 0 0; font-size: clamp(31px, 4vw, 53px); line-height: 1.02; letter-spacing: -.055em; font-weight: 570; }
.weather-chip { min-width: 80px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.08); text-align: right; }
.weather-chip strong { display: block; font-size: 20px; }
.weather-chip span { color: rgba(255,255,255,.55); font-size: 8px; }
.weather-overview { width: min(500px, 50%); padding: 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.weather-current { display: flex; align-items: center; gap: 11px; }
.weather-current-icon { width: 39px; height: 39px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.1); font-size: 22px; }
.weather-current > div { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 8px; }
.weather-current strong { font-size: 24px; line-height: 1; }
.weather-current span { color: rgba(255,255,255,.76); font-size: 9px; }
.weather-current small { grid-column: 1 / -1; margin-top: 4px; color: rgba(255,255,255,.48); font-size: 7px; }
.weather-hours { margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: repeat(6, minmax(42px, 1fr)); gap: 5px; }
.weather-hour { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.weather-hour time, .weather-hour small { color: rgba(255,255,255,.48); font-size: 6.5px; }
.weather-hour > span { font-size: 14px; }
.weather-hour strong { font-size: 10px; }
.weather-overview.unavailable { display: flex; align-items: center; gap: 9px; }
.weather-overview.unavailable > span svg { width: 20px; }
.weather-overview.unavailable > div { display: flex; flex-direction: column; gap: 3px; }
.weather-overview.unavailable strong { font-size: 10px; }
.weather-overview.unavailable small { color: rgba(255,255,255,.55); font-size: 8px; }
.hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.next-event { display: flex; align-items: center; gap: 12px; }
.dashboard-next-event { padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.dashboard-next-event > svg { width: 15px; margin-left: 3px; color: rgba(255,255,255,.55); transition: transform .18s ease; }
.dashboard-next-event:hover > svg, .dashboard-next-event:focus-visible > svg { transform: translateX(3px); }
.dashboard-next-event:focus-visible { border-radius: 12px; outline: 2px solid rgba(255,255,255,.45); outline-offset: 5px; }
.event-time { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; color: var(--forest-dark); background: var(--clay); font-size: 11px; font-weight: 800; }
.next-event div { display: flex; flex-direction: column; gap: 3px; }
.next-event strong { font-size: 12px; }
.next-event span { color: rgba(255,255,255,.55); font-size: 9px; }
.hero-link { min-height: 39px; padding: 0 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; display: inline-flex; align-items: center; gap: 8px; color: var(--white); background: rgba(255,255,255,.08); font-size: 9px; font-weight: 700; }

.metric-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.metric-card { min-height: 138px; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); display: flex; flex-direction: column; }
.metric-card.clickable { cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.metric-card.clickable:hover, .metric-card.clickable:focus-visible { border-color: #bdc9c0; box-shadow: 0 12px 30px rgba(21,59,50,.08); transform: translateY(-2px); outline: none; }
.metric-card-head { display: flex; align-items: center; justify-content: space-between; }
.metric-icon { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; }
.metric-icon svg { width: 17px; height: 17px; }
.metric-icon.sage { color: var(--forest); background: var(--sage); }
.metric-icon.clay { color: var(--red); background: var(--clay-soft); }
.metric-icon.blue { color: var(--blue); background: #e2edf3; }
.metric-icon.gold { color: #8a672d; background: #f5ead1; }
.metric-trend { color: #578265; font-size: 8px; }
.metric-card strong.value { margin-top: auto; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.metric-card small { margin-top: 6px; color: var(--muted); font-size: 9px; }

.dashboard-grid { margin-top: 16px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 16px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); overflow: hidden; }
.panel-pad { padding: 21px; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.panel-head h2, .panel-head h3 { margin: 0; font-size: 15px; letter-spacing: -.02em; }
.panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.schedule-list, .activity-list, .task-list { display: flex; flex-direction: column; }
.schedule-item { width: 100%; padding: 12px 0; border: 0; border-top: 1px solid #efefeb; display: grid; grid-template-columns: 56px 9px minmax(0, 1fr) auto 15px; align-items: center; gap: 12px; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.schedule-item:first-child { border-top: 0; }
.schedule-item:hover .schedule-info strong, .schedule-item:focus-visible .schedule-info strong { color: var(--forest); }
.schedule-item:focus-visible { border-radius: 9px; outline: 2px solid rgba(21,59,50,.2); outline-offset: 2px; }
.schedule-item > svg { width: 14px; color: #98a49e; }
.schedule-item.grouped { margin-block: 3px; padding-inline: 9px; border: 1px solid #d4e1d6; border-radius: 11px; background: #f5f9f5; }
.schedule-item.completed { opacity: .68; }
.completed-schedule { margin-top: 9px; border-top: 1px solid var(--line); }
.completed-schedule > summary { min-height: 48px; padding: 9px 3px; display: grid; grid-template-columns: 26px minmax(0, 1fr) 14px; align-items: center; gap: 8px; color: var(--muted); cursor: pointer; list-style: none; }
.completed-schedule > summary::-webkit-details-marker { display: none; }
.completed-schedule > summary > svg:first-child { width: 18px; color: var(--forest); }
.completed-schedule > summary > svg:last-child { width: 13px; transition: transform .2s; }
.completed-schedule[open] > summary > svg:last-child { transform: rotate(90deg); }
.completed-schedule > summary span { display: grid; gap: 2px; }
.completed-schedule > summary strong { color: var(--ink); font-size: 9px; }
.completed-schedule > summary small { font-size: 8px; }
.schedule-item time { color: var(--muted); font-size: 10px; }
.schedule-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--clay); }
.schedule-item:nth-child(3n) .schedule-dot { background: var(--blue); }
.schedule-item:nth-child(2n) .schedule-dot { background: #6d9876; }
.schedule-info { display: flex; flex-direction: column; gap: 3px; }
.schedule-info strong { font-size: 11px; }
.schedule-info span { color: var(--muted); font-size: 8px; }
.schedule-tag { padding: 5px 7px; border-radius: 7px; color: var(--forest); background: var(--sage); font-size: 8px; }
.activity-item { padding: 13px 0; border-top: 1px solid #efefeb; display: flex; gap: 10px; }
.activity-item:is(button) { width: 100%; border-right: 0; border-bottom: 0; border-left: 0; align-items: center; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.activity-item:is(button):hover p { color: var(--forest); }
.activity-item:first-child { border-top: 0; }
.activity-avatar { width: 31px; height: 31px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.activity-item div { min-width: 0; }
.activity-item p { margin: 0; font-size: 10px; line-height: 1.45; }
.activity-item small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.activity-item > svg { width: 14px; margin-left: auto; flex: 0 0 auto; color: #98a49e; }
.dashboard-empty { min-height: 86px; padding: 15px 0; display: flex; align-items: center; gap: 12px; color: var(--muted); }
.dashboard-empty > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.dashboard-empty > span svg { width: 17px; height: 17px; }
.dashboard-empty div { display: flex; flex-direction: column; gap: 4px; }
.dashboard-empty strong { color: var(--ink); font-size: 10px; }
.dashboard-empty small { font-size: 8px; }
.daily-routine-panel { padding-bottom: 22px; }
.daily-routine-note { margin: 0 22px 18px; padding: 11px 13px; border-radius: 12px; display: flex; align-items: center; gap: 9px; color: var(--forest); background: var(--sage); font-size: 9px; line-height: 1.45; }
.daily-routine-note svg { width: 17px; flex: 0 0 auto; }
.daily-routine-columns { padding: 0 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.daily-routine-columns > section { min-width: 0; }
.daily-routine-section-head { min-height: 42px; margin-bottom: 5px; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.daily-routine-section-head h3 { margin: 0; font-size: 13px; }
.daily-routine-section-head span { color: var(--muted); font-size: 7px; }
.daily-routine-item { min-height: 82px; padding: 12px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 62px 34px 1fr auto; align-items: center; gap: 10px; }
.daily-routine-item time { color: var(--muted); font-size: 9px; }
.daily-routine-mark { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.daily-routine-item.calendar .daily-routine-mark { color: var(--blue); background: #e2edf3; }
.daily-routine-mark svg { width: 16px; }
.daily-routine-item > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.daily-routine-item small { color: var(--muted); font-size: 7px; }
.daily-routine-item strong { font-size: 10px; }
.daily-routine-item p { margin: 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.daily-routine-item > button, .daily-routine-requests button { padding: 6px 8px; border: 1px solid #ccd8d0; border-radius: 8px; color: var(--forest); background: var(--white); cursor: pointer; font-size: 7px; font-weight: 750; }
.daily-routine-lock { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 7px; white-space: nowrap; }
.daily-routine-lock svg { width: 12px; }
.daily-routine-empty { min-height: 100px; padding: 20px; border: 1px dashed #ccd6cf; border-radius: 13px; display: flex; flex-direction: column; justify-content: center; gap: 6px; color: var(--muted); background: #fbfcfa; }
.daily-routine-empty.compact { min-height: 82px; }
.daily-routine-empty strong { color: var(--ink); font-size: 10px; }
.daily-routine-empty span { font-size: 8px; line-height: 1.45; }
.daily-routine-requests { margin: 20px 22px 0; padding: 16px; border: 1px solid #efd9c6; border-radius: 14px; background: #fffaf5; }
.daily-routine-requests article { padding: 10px 0; border-top: 1px solid #f1dfd0; display: flex; justify-content: space-between; gap: 12px; }
.daily-routine-requests article > div:first-child { min-width: 0; }
.daily-routine-requests article strong, .daily-routine-requests article span { font-size: 8px; }
.daily-routine-requests article p { margin: 5px 0 0; font-size: 9px; }
.daily-routine-requests article > div:last-child { display: flex; gap: 6px; align-items: center; }
.weekday-picker { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.weekday-picker label { cursor: pointer; }
.weekday-picker input { position: absolute; opacity: 0; pointer-events: none; }
.weekday-picker span { min-height: 34px; border: 1px solid var(--line); border-radius: 9px; display: grid; place-items: center; color: var(--muted); background: var(--white); font-size: 8px; font-weight: 750; }
.weekday-picker input:checked + span { border-color: var(--forest); color: var(--forest); background: var(--sage); }

.filter-row { margin-bottom: 20px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.filter-search { min-width: 230px; height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); outline: none; font-size: 11px; }
.filter-search:focus { border-color: #9ab2a3; box-shadow: 0 0 0 3px rgba(21,59,50,.07); }
.filter-chip { min-height: 37px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); cursor: pointer; font-size: 9px; }
.filter-chip.active { border-color: var(--forest); color: var(--white); background: var(--forest); }

.horse-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.horse-card { min-height: 270px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); overflow: hidden; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.horse-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.horse-art { height: 125px; position: relative; overflow: hidden; background: linear-gradient(145deg, var(--sage), #b7cec0); }
.horse-art::before { content: ""; width: 170px; height: 170px; position: absolute; right: -34px; top: -61px; border: 1px solid rgba(21,59,50,.14); border-radius: 50%; }
.horse-art::after { content: ""; width: 74px; height: 94px; position: absolute; left: 50%; bottom: -14px; transform: translateX(-50%) rotate(8deg); border-radius: 48% 52% 44% 50%; background: rgba(21,59,50,.8); clip-path: polygon(33% 0, 48% 13%, 61% 0, 68% 22%, 86% 40%, 80% 78%, 59% 100%, 38% 88%, 22% 60%, 17% 30%); }
.horse-card:nth-child(2n) .horse-art { background: linear-gradient(145deg, #ecd8cb, #d3a68e); }
.horse-card:nth-child(3n) .horse-art { background: linear-gradient(145deg, #dae5ea, #a7c0cc); }
.horse-color { position: absolute; top: 14px; left: 14px; width: 8px; height: 8px; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; background: var(--clay); z-index: 2; }
.horse-card-body { padding: 17px; }
.horse-card-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.horse-card h3 { margin: 0; font-size: 19px; letter-spacing: -.04em; }
.horse-card-title span { padding: 5px 7px; border-radius: 7px; color: #4e7158; background: #e7f1e8; font-size: 8px; }
.horse-card p { margin: 5px 0 15px; color: var(--muted); font-size: 9px; }
.horse-meta { padding-top: 13px; border-top: 1px solid #efefeb; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.horse-meta span { display: flex; flex-direction: column; gap: 3px; color: var(--muted); font-size: 8px; }
.horse-meta strong { color: var(--ink); font-size: 10px; }
.empty-add-card { min-height: 270px; border: 1px dashed #cfd3cd; border-radius: 22px; display: grid; place-items: center; color: var(--muted); background: rgba(255,255,255,.45); cursor: pointer; text-align: center; }
.empty-add-card div { display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 10px; }
.empty-add-card span { width: 43px; height: 43px; border-radius: 14px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.empty-add-card svg { width: 20px; }

.back-link { margin-bottom: 18px; display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.back-link svg { width: 15px; }
.horse-profile-head { padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); display: flex; align-items: center; gap: 18px; }
.profile-horse-art { width: 88px; height: 88px; flex: 0 0 auto; border-radius: 22px; background: linear-gradient(145deg, var(--sage), #a9c8b4); position: relative; overflow: hidden; }
.profile-horse-art::after { content: ""; width: 55px; height: 72px; position: absolute; left: 50%; bottom: -9px; transform: translateX(-50%) rotate(8deg); border-radius: 48%; background: var(--forest); clip-path: polygon(33% 0, 48% 13%, 61% 0, 68% 22%, 86% 40%, 80% 78%, 59% 100%, 38% 88%, 22% 60%, 17% 30%); }
.profile-info { min-width: 0; }
.profile-info h1 { margin: 0; font-size: 31px; letter-spacing: -.05em; }
.profile-info p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.profile-chips { margin: 11px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.profile-chips span { padding: 5px 8px; border-radius: 7px; color: var(--forest); background: var(--sage); font-size: 8px; }
.profile-actions { margin-left: auto; display: flex; gap: 8px; }
.tabs-wrap { margin: 16px 0; border: 1px solid var(--line); border-radius: 15px; background: var(--white); overflow: hidden; }
.tabs { padding: 5px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: 0 0 auto; min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; cursor: pointer; font-size: 9px; font-weight: 650; }
.tab.active { color: var(--forest); background: var(--sage); }
.horse-section-switcher { display: none; }
.detail-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; }
.vitals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.vital { min-height: 110px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); display: flex; flex-direction: column; }
.vital span { color: var(--muted); font-size: 8px; }
.vital strong { margin-top: auto; font-size: 23px; }
.vital small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.info-table { display: grid; grid-template-columns: 1fr 1fr; }
.info-cell { padding: 15px 0; border-top: 1px solid #efefeb; display: flex; flex-direction: column; gap: 5px; }
.info-cell:nth-child(-n+2) { border-top: 0; }
.info-cell span { color: var(--muted); font-size: 8px; }
.info-cell strong { font-size: 11px; }
.horse-basic-layout { display: grid; grid-template-columns: minmax(0, 1fr) 255px; gap: 16px; align-items: start; }
.horse-basic-main { padding: 24px; }
.horse-basic-head { margin-bottom: 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.horse-basic-head h2 { margin: 5px 0 6px; font-size: 24px; letter-spacing: -.04em; }
.horse-basic-head p:not(.kicker) { margin: 0; color: var(--muted); font-size: 9px; }
.horse-info-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.horse-info-group { padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: #fdfdfb; }
.horse-info-group h3 { margin: 0 0 9px; color: var(--forest); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.horse-info-row { min-height: 41px; padding: 8px 0; border-top: 1px solid #eeefeb; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.horse-info-row:first-of-type { border-top: 0; }
.horse-info-row > span { color: var(--muted); font-size: 8px; }
.horse-info-row strong { max-width: 62%; font-size: 10px; text-align: right; overflow-wrap: anywhere; }
.horse-info-row .empty-value { color: #a2a8a4; font-size: 8px; font-weight: 500; }
.horse-basic-notes { margin-top: 14px; padding: 16px; border-radius: 14px; background: var(--sage); }
.horse-basic-notes span { color: var(--forest); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.horse-basic-notes p { margin: 7px 0 0; font-size: 10px; line-height: 1.55; white-space: pre-wrap; }
.horse-completion { padding: 22px; position: sticky; top: 84px; }
.horse-completion-value { display: block; color: var(--forest); font-size: 38px; font-weight: 780; letter-spacing: -.05em; }
.horse-completion h3 { margin: 5px 0 8px; font-size: 12px; }
.horse-completion p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.completion-track { height: 7px; margin: 18px 0 8px; border-radius: 999px; overflow: hidden; background: #e7e9e5; }
.completion-track span { height: 100%; display: block; border-radius: inherit; background: var(--forest); }
.horse-completion small { color: var(--muted); font-size: 7px; }
.horse-tab-panel { padding: 24px; }
.horse-tab-head { margin-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.horse-tab-head h2 { margin: 5px 0 6px; font-size: 25px; letter-spacing: -.04em; }
.horse-tab-head p:not(.kicker) { max-width: 620px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.horse-tab-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.horse-tab-actions .button { min-width: 0; }
.training-summary-grid { margin-bottom: 22px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 12px; }
.training-goal-card, .training-recommendation { min-height: 150px; padding: 20px; border-radius: 17px; }
.training-goal-card { border: 1px solid #cddfd2; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; color: #f9fbf8; background: linear-gradient(135deg, var(--forest), #285949); }
.training-goal-card small, .training-recommendation small { display: block; margin-bottom: 7px; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.training-goal-card h3 { max-width: 580px; margin: 0; font-size: 18px; line-height: 1.25; letter-spacing: -.025em; }
.training-goal-card p { margin: 9px 0 0; color: rgba(255,255,255,.72); font-size: 8px; line-height: 1.5; }
.training-goal-card time { min-width: 115px; padding: 10px; border-radius: 11px; display: flex; flex-direction: column; gap: 4px; color: rgba(255,255,255,.68); background: rgba(255,255,255,.1); font-size: 7px; }
.training-goal-card time strong { color: #fff; font-size: 9px; }
.training-goal-card.empty { color: var(--ink); border-style: dashed; background: #f7faf6; }
.training-goal-card.empty p { color: var(--muted); }
.training-goal-card.empty button { min-height: 36px; padding: 0 12px; border: 0; border-radius: 10px; flex: 0 0 auto; color: #fff; background: var(--forest); font-size: 8px; font-weight: 750; cursor: pointer; }
.training-recommendation { border: 1px solid #dbe3da; display: flex; gap: 14px; align-items: flex-start; background: #f6f8f3; }
.training-recommendation > span { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.training-recommendation > span svg { width: 20px; }
.training-recommendation strong { display: block; font-size: 11px; line-height: 1.45; }
.training-recommendation p { margin: 9px 0 0; color: var(--muted); font-size: 8px; }
.training-recommendation.recovery { border-color: #e5cda9; background: #fbf4e7; }
.training-recommendation.recovery > span { color: #875a2d; background: #f2dfbf; }
.training-section { padding-top: 20px; border-top: 1px solid var(--line); }
.training-section + .training-section { margin-top: 22px; }
.training-section-head { margin-bottom: 10px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.training-section-head small { color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.training-section-head h3 { margin: 4px 0 0; font-size: 15px; }
.training-section-head > span { color: var(--muted); font-size: 8px; }
.training-event-list, .training-feedback-list { display: grid; gap: 8px; }
.training-event-row { min-height: 76px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 13px; display: grid; grid-template-columns: 80px 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; background: #fdfdfb; }
.training-event-row.completed { border-color: #cfe0d2; background: #f7faf6; }
.training-event-row time { display: flex; flex-direction: column; gap: 3px; color: var(--forest); font-size: 8px; font-weight: 750; }
.training-event-row time small { color: var(--muted); font-size: 7px; font-weight: 500; }
.training-event-mark { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.training-event-mark svg { width: 16px; }
.training-event-row > div { min-width: 0; }
.training-event-row strong { display: block; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.training-event-row p { margin: 4px 0 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.training-event-row > button, .training-feedback-actions button { min-height: 31px; padding: 0 9px; border: 1px solid #cbd8ce; border-radius: 9px; color: var(--forest); background: #fff; font-size: 8px; font-weight: 750; cursor: pointer; }
.training-event-done, .training-event-muted { color: #52705f; font-size: 8px; font-weight: 750; }
.training-event-muted { color: var(--muted); }
.training-list-empty { padding: 18px; border: 1px dashed #d5dad4; border-radius: 13px; color: var(--muted); background: #fafbf8; font-size: 8px; line-height: 1.55; text-align: center; }
.training-feedback-card { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fdfdfb; }
.training-feedback-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.training-feedback-head span { display: block; color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.training-feedback-head strong { display: block; margin-top: 4px; font-size: 12px; }
.training-feedback-actions { display: flex; align-items: center; gap: 5px; }
.training-feedback-actions small { padding: 5px 7px; border-radius: 7px; color: var(--forest); background: var(--sage); font-size: 7px; font-weight: 800; }
.training-feedback-actions button { display: inline-flex; align-items: center; gap: 4px; }
.training-feedback-actions button svg { width: 13px; }
.training-facts { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.training-facts span { padding: 5px 7px; border-radius: 7px; color: #496054; background: #edf1eb; font-size: 7px; font-weight: 750; }
.training-feedback-grid { margin-top: 11px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.training-feedback-grid > div { padding: 11px; border-radius: 10px; background: #f2f3ef; }
.training-feedback-grid > div.success { background: #eaf4ec; }
.training-feedback-grid > div.attention { background: #fbefe7; }
.training-feedback-grid small, .ori-training-note small { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.training-feedback-grid p { margin: 5px 0 0; color: #3e4c45; font-size: 8px; line-height: 1.5; white-space: pre-wrap; }
.training-feedback-card footer { margin-top: 11px; color: var(--muted); font-size: 7px; }
.training-modal-event { padding: 12px; border-radius: 12px; display: flex; align-items: center; gap: 10px; color: var(--forest); background: var(--sage); }
.training-modal-event > svg { width: 20px; }
.training-modal-event small, .training-modal-event strong { display: block; }
.training-modal-event small { margin-bottom: 3px; font-size: 7px; text-transform: uppercase; letter-spacing: .07em; }
.training-modal-event strong { font-size: 10px; }
.training-feedback-field.success textarea { border-color: #bcd6c1; background: #f8fcf8; }
.training-feedback-field.attention textarea { border-color: #e4c6b5; background: #fffaf7; }
.horse-entry-list { display: flex; flex-direction: column; }
.horse-entry-card { padding: 15px 0; border-top: 1px solid #edeee9; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
.horse-entry-card:first-child { border-top: 0; }
.horse-entry-card > .record-kind { width: 42px; height: 42px; border-radius: 13px; }
.horse-entry-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.horse-entry-top strong { font-size: 11px; }
.horse-entry-top time { flex: 0 0 auto; color: var(--muted); font-size: 8px; }
.horse-entry-card p { margin: 6px 0 9px; color: #4e5652; font-size: 9px; line-height: 1.55; white-space: pre-wrap; }
.horse-tab-empty { min-height: 230px; padding: 28px; border: 1px dashed #cfd4ce; border-radius: 17px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); background: rgba(255,255,255,.42); text-align: center; }
.horse-tab-empty > span { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.horse-tab-empty > span svg { width: 20px; }
.horse-tab-empty strong { color: var(--ink); font-size: 11px; }
.horse-tab-empty p { max-width: 430px; margin: 0; font-size: 8px; line-height: 1.55; }
.horse-bcs-summary { margin-bottom: 15px; padding: 18px; border-radius: 16px; display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: center; color: var(--forest); background: var(--sage); }
.horse-bcs-summary span { font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.horse-bcs-summary strong { grid-row: 1 / 3; grid-column: 2; font-size: 34px; }
.horse-bcs-summary small { color: #587267; font-size: 8px; }
.horse-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.horse-task-grid .task-card { margin-top: 0; }
.horse-event-list { display: flex; flex-direction: column; }
.horse-event-card { width: 100%; padding: 14px 0; border: 0; border-top: 1px solid #edeee9; display: grid; grid-template-columns: 62px 8px minmax(0, 1fr) auto; align-items: center; gap: 12px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: color .16s ease, transform .16s ease; }
.horse-event-card:first-child { border-top: 0; }
.horse-event-card:hover { color: var(--forest); transform: translateX(2px); }
.horse-event-card:focus-visible { border-radius: 10px; outline: 2px solid var(--forest); outline-offset: 3px; }
.horse-event-card time { display: flex; flex-direction: column; gap: 3px; color: var(--forest); font-size: 10px; font-weight: 750; }
.horse-event-card time small { color: var(--muted); font-size: 7px; font-weight: 500; }
.event-mark { width: 8px; height: 38px; border-radius: 999px; background: var(--clay); }
.event-mark.green { background: #6f9879; }
.event-mark.blue { background: var(--blue); }
.horse-event-card div { display: flex; flex-direction: column; gap: 4px; }
.horse-event-card strong { font-size: 11px; }
.horse-event-card div span { color: var(--muted); font-size: 8px; }
.horse-event-open { display: inline-flex; align-items: center; gap: 5px; color: var(--forest); font-size: 8px; font-weight: 750; white-space: nowrap; }
.horse-event-open svg { width: 14px; height: 14px; }
.care-plan-note { margin-bottom: 13px; padding: 11px 13px; border-radius: 12px; display: flex; align-items: flex-start; gap: 8px; color: #526c5c; background: var(--sage); font-size: 8px; line-height: 1.5; }
.care-plan-note svg { width: 16px; flex: 0 0 auto; }
.care-plan-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.care-plan-item { min-height: 94px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; display: flex; align-items: center; gap: 11px; color: var(--ink); background: #fdfdfb; cursor: pointer; text-align: left; }
.care-plan-item:hover { border-color: #b9cbbf; background: #f7faf6; }
.care-plan-item.planned { border-color: #cddfd2; background: #f6faf6; }
.care-plan-icon { width: 37px; height: 37px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; color: #8a6a4d; background: #f5eadf; }
.care-plan-item.planned .care-plan-icon { color: var(--forest); background: #dfeee2; }
.care-plan-icon svg { width: 18px; }
.care-plan-item > div { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 3px; }
.care-plan-item small { color: var(--muted); font-size: 7px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.care-plan-item strong { font-size: 11px; }
.care-plan-item p { margin: 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.care-plan-action { display: flex; align-items: center; gap: 4px; color: var(--forest); font-size: 8px; font-weight: 750; }
.care-plan-action svg { width: 13px; }
.horse-overview-events-empty { min-height: 82px; padding: 14px; border: 1px dashed #d5dbd4; border-radius: 13px; display: flex; align-items: center; gap: 12px; color: var(--muted); background: #fafbf8; }
.horse-overview-events-empty > span { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.horse-overview-events-empty svg { width: 18px; }
.horse-overview-events-empty strong { display: block; color: var(--ink); font-size: 10px; }
.horse-overview-events-empty p { margin: 4px 0 0; font-size: 8px; line-height: 1.45; }
.horse-analytics-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.horse-analytics-grid article { min-height: 100px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; display: flex; flex-direction: column; justify-content: flex-end; background: #fdfdfb; }
.horse-analytics-grid strong { color: var(--forest); font-size: 25px; letter-spacing: -.04em; }
.horse-analytics-grid span { margin-top: 4px; color: var(--muted); font-size: 8px; }
.horse-tab-guidance { margin-bottom: 14px; padding: 13px 14px; border-radius: 13px; background: #f2f3ef; }
.horse-tab-guidance > strong { color: var(--forest); font-size: 8px; }
.horse-tab-guidance > div { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.horse-tab-guidance span { padding: 5px 7px; border: 1px solid #dce1da; border-radius: 7px; color: #5e6d65; background: var(--white); font-size: 7px; }
.horse-access-note { margin-bottom: 12px; padding: 12px 14px; border-radius: 12px; display: flex; align-items: center; gap: 9px; color: var(--forest); background: var(--sage); font-size: 8px; line-height: 1.45; }
.horse-access-note svg { width: 17px; height: 17px; flex: 0 0 auto; }
.horse-access-list { display: flex; flex-direction: column; }
.horse-access-card { padding: 15px 0; border-top: 1px solid #edeee9; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
.horse-access-card:first-child { border-top: 0; }
.horse-access-card.inactive { opacity: .55; }
.horse-access-avatar { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.horse-access-name { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.horse-access-name strong { font-size: 11px; }
.horse-access-name span { padding: 5px 7px; border-radius: 7px; color: #4e7158; background: #e7f1e8; font-size: 8px; }
.horse-access-card p { margin: 4px 0 6px; color: var(--muted); font-size: 8px; }
.horse-access-card small { color: #59635e; font-size: 8px; line-height: 1.45; }
.access-modal-help { padding: 14px; border-radius: 13px; color: #496158; background: var(--sage); }
.access-modal-help strong { font-size: 9px; }
.access-modal-help p { margin: 6px 0 0; font-size: 8px; line-height: 1.5; }
.professional-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.professional-list .horse-tab-empty { grid-column: 1 / -1; }
.professional-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 15px; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 11px; background: #fdfdfb; }
.professional-avatar { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.professional-card > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.professional-card > div > span { color: var(--clay); font-size: 7px; font-weight: 780; text-transform: uppercase; letter-spacing: .08em; }
.professional-card strong { font-size: 11px; }
.professional-card p { overflow: hidden; margin: 0; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.professional-card small { margin-top: 7px; display: flex; align-items: flex-start; gap: 5px; color: #7c655d; font-size: 7px; line-height: 1.4; }
.professional-card small.linked { color: #4e765a; }
.professional-card small svg { width: 13px; height: 13px; flex: 0 0 auto; }
.professional-modal-help, .event-sharing-note { padding: 13px 14px; border-radius: 13px; display: flex; align-items: flex-start; gap: 9px; color: #53645c; background: var(--sage); font-size: 8px; line-height: 1.5; }
.professional-modal-help svg, .event-sharing-note svg { width: 17px; height: 17px; flex: 0 0 auto; }
.event-sharing-note span { display: flex; flex-direction: column; gap: 2px; }
.event-sharing-note.linked { color: #426b50; background: #e5f2e7; }
.feed-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.feed-summary > div { min-height: 78px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; display: flex; flex-direction: column; justify-content: flex-end; background: #fdfdfb; }
.feed-summary strong { color: var(--forest); font-size: 22px; letter-spacing: -.04em; }
.feed-summary span { margin-top: 3px; color: var(--muted); font-size: 8px; }
.feed-summary .warning { border-color: #edcfc5; background: #fff5f1; }
.feed-summary .warning strong { color: #9e4f44; }
.feed-alert { margin-bottom: 12px; padding: 13px 14px; border: 1px solid #efcec3; border-radius: 13px; display: flex; align-items: center; gap: 10px; color: #8e473e; background: #fff3ef; }
.feed-alert > svg { width: 20px; height: 20px; flex: 0 0 auto; }
.feed-alert div { display: flex; flex-direction: column; gap: 3px; }
.feed-alert strong { font-size: 9px; }
.feed-alert span { color: #91635d; font-size: 8px; }
.feed-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.feed-plan-card { padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: #fdfdfb; }
.feed-plan-card.low-stock { border-color: #ebcfc6; }
.feed-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.feed-category { display: block; margin-bottom: 4px; color: var(--clay); font-size: 7px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.feed-card-head h3 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
.feed-provider { width: fit-content; margin-top: 6px; padding: 4px 6px; border-radius: 6px; display: block; color: #52675c; background: #edf1eb; font-size: 7px; font-weight: 750; }
.feed-provider.stable { color: #365a6b; background: #e4eff3; }
.feed-provider-help { padding: 11px 13px; border-radius: 12px; display: flex; flex-direction: column; gap: 3px; color: #52675c; background: #edf1eb; }
.feed-provider-help.stable { color: #365a6b; background: #e4eff3; }
.feed-provider-help strong { font-size: 9px; }
.feed-provider-help span { font-size: 8px; line-height: 1.45; }
.feed-stock-status { flex: 0 0 auto; padding: 5px 7px; border-radius: 7px; color: #477157; background: #e7f1e8; font-size: 7px; font-weight: 730; }
.feed-stock-status.low, .feed-stock-status.empty { color: #934b42; background: #fae7e2; }
.feed-stock-status.unused { color: #6d746f; background: #edeeda; }
.feed-meals { margin: 15px 0 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.feed-meals > div { min-width: 0; padding: 10px; border-radius: 11px; display: flex; flex-direction: column; gap: 4px; background: var(--sage); }
.feed-meals span { overflow: hidden; color: #5e756a; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.feed-meals strong { color: var(--forest); font-size: 10px; }
.feed-daily { padding: 0 2px 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.feed-daily span { color: var(--muted); font-size: 8px; }
.feed-daily strong { font-size: 9px; }
.feed-stock-block { padding: 14px; border-radius: 13px; background: #f2f3ef; }
.feed-stock-top { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.feed-stock-top > div { display: flex; flex-direction: column; gap: 3px; }
.feed-stock-top span { color: var(--muted); font-size: 7px; }
.feed-stock-top strong { font-size: 11px; }
.feed-stock-track { height: 6px; margin: 12px 0 8px; border-radius: 99px; overflow: hidden; background: #dbddd8; }
.feed-stock-track span { height: 100%; display: block; border-radius: inherit; background: var(--forest); }
.low-stock .feed-stock-track span { background: var(--clay); }
.feed-stock-dates { display: flex; flex-direction: column; gap: 3px; }
.feed-stock-dates span { color: var(--muted); font-size: 7px; }
.feed-stock-dates b { color: var(--forest); font-size: 8px; font-weight: 700; }
.low-stock .feed-stock-dates b { color: #994d44; }
.feed-notes { margin: 12px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.feed-edit-button { margin-top: 12px; padding: 8px 0 0; border: 0; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 6px; color: var(--forest); background: transparent; cursor: pointer; font-size: 8px; font-weight: 740; }
.feed-edit-button svg { width: 14px; height: 14px; }
.feed-same-toggle { min-height: 58px; padding: 12px 14px; border: 1px solid #c8d8cc; border-radius: 13px; display: flex; align-items: flex-start; gap: 10px; background: var(--sage); }
.feed-same-toggle input { margin: 2px 0 0; accent-color: var(--forest); }
.feed-same-toggle span { display: flex; flex-direction: column; gap: 3px; }
.feed-same-toggle strong { font-size: 9px; }
.feed-same-toggle small { color: var(--muted); font-size: 8px; }
.feed-unit-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
.feed-unit-input input { border-radius: 10px 0 0 10px !important; }
.feed-unit-input > span { min-width: 41px; padding: 0 9px; border: 1px solid var(--line); border-left: 0; border-radius: 0 10px 10px 0; display: grid; place-items: center; color: var(--muted); background: #f4f5f1; font-size: 8px; }
.stable-restock-new-fields, .stable-restock-package-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.stable-restock-new-fields[hidden], .stable-restock-package-fields[hidden], .stable-restock-amount-field[hidden], .stable-restock-custom-category[hidden] { display: none; }
.stable-restock-new-fields > .full { grid-column: 1 / -1; }
.feed-meal-grid { display: grid; gap: 8px; }
.feed-meal-row { padding: 11px; border: 1px solid var(--line); border-radius: 13px; display: grid; grid-template-columns: 75px 1fr 1fr; align-items: end; gap: 10px; background: #fdfdfb; }
.feed-meal-row > strong { align-self: center; color: var(--forest); font-size: 9px; }
.feed-meal-row > label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 7px; }
.feed-meal-row input { width: 100%; min-height: 39px; padding: 0 9px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); }
.feed-time-input, .feed-url-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.feed-time-input button { width: 38px; min-height: 39px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: var(--white); cursor: pointer; font-size: 17px; }
.feed-url-row .button { min-height: 42px; white-space: nowrap; }
.optional-label { color: var(--muted); font-size: 7px; font-weight: 500; }
.feed-product-advice { padding: 14px; border: 1px solid #cddfd2; border-radius: 13px; color: var(--forest); background: #edf5ee; }
.feed-product-advice strong { display: flex; align-items: center; gap: 7px; font-size: 9px; }
.feed-product-advice svg { width: 15px; height: 15px; }
.feed-product-advice p { margin: 7px 0 4px; font-size: 9px; line-height: 1.5; }
.feed-product-advice small { color: #66786f; font-size: 7px; line-height: 1.45; }
.feed-dosage-advice { padding: 15px; border: 1px solid #b9d0c1; border-radius: 14px; color: var(--forest); background: linear-gradient(135deg, #edf5ee, #f8f8f2); }
.feed-dosage-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.feed-dosage-head strong { display: flex; align-items: center; gap: 7px; font-size: 9px; }
.feed-dosage-head strong svg { width: 15px; height: 15px; }
.feed-dosage-head > span { padding: 5px 8px; border-radius: 99px; color: #547064; background: rgba(255,255,255,.72); font-size: 7px; font-weight: 750; }
.feed-dosage-advice p { margin: 10px 0; color: #31473e; font-size: 9px; line-height: 1.55; }
.feed-dosage-actions { margin: 4px 0 9px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.feed-dosage-actions a { color: var(--forest); font-size: 8px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.feed-dosage-actions .button { min-height: 34px; padding: 0 11px; font-size: 8px; }
.feed-dosage-advice > small { display: block; color: #66786f; font-size: 7px; line-height: 1.5; }
.stock-list { display: flex; flex-direction: column; }
.stock-row { padding: 14px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(90px, .7fr)) auto; align-items: center; gap: 13px; }
.stock-row:first-child { border-top: 0; }
.stock-row.low-stock { color: #924a41; }
.stock-row > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.stock-row > div > span:not(.feed-category), .stock-row small { color: var(--muted); font-size: 7px; }
.stock-row strong, .stock-row b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; }
.stock-actions { align-items: flex-start; }
.stock-actions .stock-owner-lock { max-width: 150px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.blanket-weather { margin-bottom: 16px; padding: 15px; border-radius: 15px; background: var(--sage); }
.blanket-weather-head span { color: var(--forest); font-size: 9px; font-weight: 750; }
.blanket-weather-head small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; }
.blanket-weather-grid { margin-top: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.blanket-weather-grid article { padding: 13px; border: 1px solid #d3dfd6; border-radius: 12px; display: flex; flex-direction: column; background: rgba(255,255,255,.65); }
.blanket-weather-grid article.unsuitable { border-color: #e3b49d; background: #fff4ed; }
.blanket-weather-grid article > span { color: var(--muted); font-size: 7px; }
.blanket-weather-grid article > strong { margin-top: 3px; font-size: 15px; }
.blanket-weather-grid article > small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.blanket-weather-grid article > b { margin-top: 10px; color: var(--forest); font-size: 10px; }
.blanket-weather-grid article.unsuitable > b { color: #a44d2b; }
.blanket-weather-grid article > p { margin: 4px 0 0; color: #60736a; font-size: 8px; line-height: 1.4; }
.blanket-disclaimer { margin: 10px 2px 0; color: #66786f; font-size: 7px; line-height: 1.45; }
.weather-unavailable { display: flex; align-items: center; gap: 8px; color: #6b736e; font-size: 8px; }
.weather-unavailable svg { width: 16px; }
.blanket-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.blanket-import-note { padding: 12px 13px; border-radius: 12px; display: flex; align-items: flex-start; gap: 8px; color: #4e6f59; background: #e8f2e9; font-size: 8px; line-height: 1.45; }
.blanket-import-note svg { width: 17px; height: 17px; flex: 0 0 auto; }
.blanket-import-note span { display: flex; flex-direction: column; gap: 2px; }
.blanket-import-note strong { font-size: 9px; }
.blanket-fill-range { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; border: 1px solid #d7e2da; border-radius: 13px; background: #f5f8f4; }
.blanket-fill-range[hidden] { display: none; }
.blanket-card { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fdfdfb; }
.blanket-card-head { display: flex; justify-content: space-between; gap: 10px; }
.blanket-card-head span { color: var(--clay); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.blanket-card-head h3 { margin: 4px 0 0; font-size: 15px; }
.blanket-card-head > b { color: var(--forest); font-size: 15px; }
.blanket-meta { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 5px; }
.blanket-meta span { padding: 5px 7px; border-radius: 7px; color: #5f7268; background: var(--sage); font-size: 7px; }
.blanket-card > p { margin: 10px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.equipment-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.equipment-summary > div { min-height: 78px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; display: flex; flex-direction: column; justify-content: flex-end; background: #fdfdfb; }
.equipment-summary strong { color: var(--forest); font-size: 20px; letter-spacing: -.04em; }
.equipment-summary span { margin-top: 3px; color: var(--muted); font-size: 7px; }
.equipment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.equipment-card { padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: #fdfdfb; }
.equipment-card.blanket-item { border-color: #d8e1d8; background: #fbfcf9; }
.equipment-card-head { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.equipment-card-head > span { width: 35px; height: 35px; border-radius: 11px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.equipment-card-head > span svg { width: 17px; }
.equipment-card-head > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.equipment-card-head small { color: var(--clay); font-size: 7px; text-transform: uppercase; letter-spacing: .07em; }
.equipment-card-head strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.equipment-card-head b { color: var(--forest); font-size: 10px; }
.equipment-tags { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 5px; }
.equipment-tags span { padding: 5px 7px; border-radius: 7px; color: #5b6861; background: #f0f1ed; font-size: 7px; }
.equipment-card > p { margin: 10px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.expense-total { padding: 20px; border-radius: 17px; color: var(--bone); background: var(--forest); }
.expense-total span, .expense-total small { display: block; color: rgba(255,255,255,.62); font-size: 8px; }
.expense-total strong { display: block; margin: 5px 0; font-size: 30px; letter-spacing: -.05em; }
.expense-categories { margin: 11px 0 15px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.expense-categories > div { padding: 11px; border: 1px solid var(--line); border-radius: 11px; display: flex; flex-direction: column; gap: 4px; background: #fdfdfb; }
.expense-categories span { color: var(--muted); font-size: 7px; }
.expense-categories strong { font-size: 10px; }
.expense-list { display: flex; flex-direction: column; }
.expense-row { padding: 12px 0; border-top: 1px solid #eceeea; display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.expense-row:first-child { border-top: 0; }
.expense-category { padding: 5px 7px; border-radius: 7px; color: var(--forest); background: var(--sage); font-size: 7px; text-align: center; }
.expense-row > div { display: flex; flex-direction: column; gap: 3px; }
.expense-row strong { font-size: 9px; }
.expense-row small { color: var(--muted); font-size: 7px; }
.expense-row > b { color: var(--forest); font-size: 10px; }
.ori-feed-restock { margin-top: 13px; padding: 14px; border: 1px solid #cddfd2; border-radius: 13px; background: #edf5ee; }
.ori-feed-restock > strong { display: flex; align-items: center; gap: 7px; color: var(--forest); font-size: 9px; }
.ori-feed-restock > strong svg { width: 15px; }
.ori-feed-restock-grid { margin-top: 10px; display: grid; grid-template-columns: minmax(0, 1fr) 95px; gap: 8px; }
.ori-feed-restock label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 7px; }
.ori-feed-restock select, .ori-feed-restock input { min-height: 40px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--white); font: inherit; }
.ori-new-feed { margin-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.ori-new-feed .button { grid-column: 1 / -1; justify-content: center; }
.ori-restock-summary { margin-top: 10px; padding-top: 10px; border-top: 1px solid #d4e1d7; display: flex; flex-direction: column; gap: 3px; }
.ori-restock-summary span, .ori-restock-summary small { color: #66786f; font-size: 7px; }
.ori-restock-summary b { color: var(--forest); font-size: 10px; }
.workspace-switch-list { display: flex; flex-direction: column; gap: 8px; }
.workspace-switch-item { width: 100%; min-height: 64px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 11px; color: var(--ink); background: var(--white); text-align: left; cursor: pointer; }
.workspace-switch-item:hover:not(:disabled) { border-color: #a8bcae; background: #fbfcf9; }
.workspace-switch-item.active { border-color: #b9cdbf; background: var(--sage); }
.workspace-switch-item:disabled { cursor: default; }
.workspace-switch-item > span { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: var(--bone); background: var(--forest); font-size: 9px; font-weight: 800; }
.workspace-switch-item > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.workspace-switch-item strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-switch-item small { color: var(--muted); font-size: 8px; }
.workspace-switch-item > b { color: var(--forest); font-size: 8px; }
.module-placeholder { min-height: 310px; padding: 38px; display: grid; place-items: center; text-align: center; }
.module-placeholder .module-symbol { width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 18px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.module-placeholder h2 { margin: 0; font-size: 23px; letter-spacing: -.04em; }
.module-placeholder p { max-width: 510px; margin: 10px auto 20px; color: var(--muted); font-size: 11px; line-height: 1.6; }

.task-layout { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.task-column { min-height: 480px; padding: 16px; border-radius: 19px; background: #f0f1ed; }
.task-column-head { margin-bottom: 13px; display: flex; align-items: center; justify-content: space-between; }
.task-column-head h3 { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.task-column-head span { min-width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; color: var(--muted); background: var(--white); font-size: 8px; }
.task-card { margin-top: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); cursor: pointer; }
.task-card-top { display: flex; align-items: flex-start; gap: 9px; }
.task-check { width: 18px; height: 18px; flex: 0 0 auto; border: 1px solid #c7cbc5; border-radius: 6px; display: grid; place-items: center; background: var(--white); }
.task-check svg { display: none; width: 12px; }
.task-card.done .task-check { color: var(--white); border-color: var(--forest); background: var(--forest); }
.task-card.done .task-check svg { display: block; }
.task-card.done h4 { text-decoration: line-through; color: var(--muted); }
.task-card h4 { margin: 1px 0 7px; font-size: 11px; line-height: 1.4; }
.task-card p { margin: 0; color: var(--muted); font-size: 8px; }
.task-card-foot { margin-top: 13px; display: flex; align-items: center; justify-content: space-between; }
.priority { padding: 4px 6px; border-radius: 6px; color: var(--red); background: #f7e5e2; font-size: 7px; text-transform: uppercase; }
.priority.low { color: var(--blue); background: #e5edf2; }
.assignee { width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 7px; font-weight: 800; }

.calendar-shell { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 16px; }
.calendar-main { min-width: 0; padding: 18px; }
.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.calendar-toolbar h2 { margin: 0; font-size: 17px; }
.calendar-nav { display: flex; gap: 5px; }
.calendar-nav button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); cursor: pointer; }
.calendar-nav .calendar-today { width: auto; padding: 0 11px; color: var(--forest); font-size: 8px; font-weight: 750; }
.week-grid { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.day-column { min-height: 460px; border-left: 1px solid var(--line); background: #fdfdfb; cursor: pointer; outline: none; transition: background .15s ease, box-shadow .15s ease; }
.day-column:first-child { border-left: 0; }
.day-column:hover, .day-column:focus-visible { background: #f6f8f3; box-shadow: inset 0 0 0 2px rgba(21,59,50,.12); }
.day-column.selected { background: #f8faf6; }
.day-head { padding: 12px 8px; border-bottom: 1px solid var(--line); text-align: center; }
.day-head span { display: block; color: var(--muted); font-size: 7px; text-transform: uppercase; }
.day-head strong { display: grid; place-items: center; width: 28px; height: 28px; margin: 5px auto 0; border-radius: 9px; font-size: 10px; }
.day-column.today .day-head strong { color: var(--white); background: var(--forest); }
.day-column.selected .day-head { background: rgba(220,231,213,.45); }
.day-events { min-height: 190px; padding: 7px; display: flex; flex-direction: column; gap: 6px; }
.day-add-hint { margin: auto auto 4px; padding: 6px; display: flex; align-items: center; gap: 3px; color: #98a19c; font-size: 7px; opacity: 0; transition: opacity .15s ease; }
.day-add-hint svg { width: 10px; height: 10px; }
.day-column:hover .day-add-hint, .day-column:focus-visible .day-add-hint { opacity: 1; }
.cal-event { width: 100%; padding: 8px; border: 0; border-left: 3px solid var(--clay); border-radius: 7px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; color: #694133; background: #f7e4db; font: inherit; font-size: 7px; line-height: 1.35; text-align: left; cursor: pointer; }
.cal-event:hover { filter: brightness(.97); }
.cal-event span { font-weight: 800; }
.cal-event strong { font-size: 7px; }
.cal-event small { color: inherit; font-size: 6.5px; opacity: .78; }
.cal-event.green { border-color: #668a70; color: #405b48; background: #e6efe7; }
.cal-event.blue { border-color: var(--blue); color: #3f596a; background: #e6eff3; }
.cal-event.facility { border-color: #8669a5; color: #59466d; background: #eee8f5; }
.cal-event.closure, .timeline-event.closure, .month-event.closure { border-color: #b65d50; color: #783d35; background: repeating-linear-gradient(135deg, #f9e4df, #f9e4df 7px, #f4d9d3 7px, #f4d9d3 14px); }
.cal-event.paused, .timeline-event.paused, .month-event.paused { filter: grayscale(.45); opacity: .6; }
.cal-event.relocation-required, .timeline-event.relocation-required, .month-event.relocation-required { border-color: #c1493e; box-shadow: inset 0 0 0 1px rgba(193,73,62,.2); }
.agenda-panel { padding: 19px; }
.agenda-date { margin-bottom: 17px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.agenda-date strong { display: block; font-size: 30px; letter-spacing: -.04em; }
.agenda-date span { color: var(--muted); font-size: 9px; }
.agenda-item { width: 100%; padding: 13px 0; border: 0; border-top: 1px solid #efefeb; display: flex; gap: 10px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.agenda-item:first-of-type { border-top: 0; }
.agenda-item time { width: 36px; color: var(--muted); font-size: 8px; }
.agenda-item div { display: flex; flex-direction: column; gap: 3px; }
.agenda-item strong { font-size: 10px; }
.agenda-item span { color: var(--muted); font-size: 8px; }
.agenda-empty { width: 100%; min-height: 140px; padding: 18px; border: 1px dashed #ccd3cd; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--muted); background: transparent; cursor: pointer; text-align: center; }
.agenda-empty svg { width: 18px; color: var(--forest); }
.agenda-empty strong { color: var(--ink); font-size: 10px; }
.agenda-empty span { font-size: 8px; }
.calendar-view-switch-wrap { margin: -6px 0 14px; display: flex; justify-content: flex-end; }
.calendar-view-switch { padding: 3px; border: 1px solid var(--line); border-radius: 11px; display: inline-flex; gap: 3px; background: #f2f4f0; }
.calendar-view-switch button { min-height: 31px; padding: 0 11px; border: 0; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--muted); background: transparent; cursor: pointer; font-size: 8px; font-weight: 750; }
.calendar-view-switch button svg { width: 12px; }
.calendar-view-switch button.active { color: var(--forest); background: var(--white); box-shadow: 0 1px 4px rgba(19,47,39,.1); }
.calendar-timeline-scroll { max-height: min(72vh, 780px); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 15px; background: var(--white); scrollbar-gutter: stable; }
.calendar-timeline { min-width: 720px; display: grid; grid-template-columns: 50px repeat(7, minmax(95px, 1fr)); }
.timeline-hours, .timeline-day { min-width: 0; border-left: 1px solid var(--line); }
.timeline-hours { position: sticky; left: 0; z-index: 8; border-left: 0; background: var(--white); }
.timeline-day-spacer, .timeline-day-head { height: 66px; border-bottom: 1px solid var(--line); }
.timeline-day-spacer, .timeline-day-head { position: sticky; top: 0; z-index: 7; background: #fafbf8; }
.timeline-day-head { width: 100%; border: 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: inherit; cursor: pointer; }
.timeline-day-head span { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.timeline-day-head strong { width: 27px; height: 27px; border-radius: 9px; display: grid; place-items: center; font-size: 10px; }
.timeline-day.today .timeline-day-head strong { color: var(--white); background: var(--forest); }
.timeline-all-day, .timeline-all-day-label { height: 48px; position: sticky; top: 66px; z-index: 6; border-bottom: 1px solid var(--line); background: #fbfcfa; }
.timeline-all-day { padding: 3px; overflow: hidden; display: grid; align-content: start; gap: 3px; }
.timeline-all-day:empty { padding: 0; }
.timeline-all-day-label { padding: 6px 7px; display: flex; align-items: flex-start; justify-content: flex-end; color: var(--muted); font-size: 6.5px; }
.timeline-hour-body, .timeline-day-body { position: relative; }
.timeline-hour-body span { position: absolute; right: 8px; color: var(--muted); font-size: 7px; transform: translateY(-50%); }
.timeline-day-body > i { width: 100%; height: 1px; position: absolute; left: 0; background: #eceeea; }
.timeline-event { width: calc(100% - 8px); min-height: 26px; padding: 4px 6px; border: 0; border-left: 3px solid var(--clay); border-radius: 7px; position: absolute; left: 4px; z-index: 2; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; color: #694133; background: #f7e4db; cursor: pointer; text-align: left; }
.timeline-event span, .timeline-event strong, .timeline-event small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.timeline-event span { font-size: 6.5px; font-weight: 800; }
.timeline-event strong { font-size: 7.5px; }
.timeline-event small { color: inherit; font-size: 6px; opacity: .75; }
.timeline-event.green { border-color: #668a70; color: #405b48; background: #e6efe7; }
.timeline-event.blue { border-color: var(--blue); color: #3f596a; background: #e6eff3; }
.timeline-event.facility, .month-event.facility { border-color: #8669a5; color: #59466d; background: #eee8f5; }
.timeline-event.pending, .month-event.pending { border-style: dashed; opacity: .76; }
.timeline-now { width: 100%; height: 2px; position: absolute; left: 0; z-index: 3; background: #d96d58; pointer-events: none; }
.timeline-now::before { content: ""; width: 7px; height: 7px; position: absolute; left: -1px; top: -3px; border-radius: 50%; background: #d96d58; }
.calendar-month { overflow: auto; border: 1px solid var(--line); border-radius: 15px; }
.month-weekdays, .month-grid { min-width: 720px; display: grid; grid-template-columns: repeat(7, 1fr); }
.month-weekdays span { padding: 9px; color: var(--muted); background: #f7f8f5; font-size: 7px; font-weight: 800; text-align: center; text-transform: uppercase; }
.month-cell { min-height: 120px; padding: 6px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); cursor: pointer; }
.month-cell:focus-visible { position: relative; z-index: 2; outline: 2px solid var(--forest); outline-offset: -2px; }
.month-cell:nth-child(7n+1) { border-left: 0; }
.month-cell.outside { background: #f7f8f5; opacity: .58; }
.month-date { width: 25px; height: 25px; border: 0; border-radius: 8px; display: grid; place-items: center; color: inherit; background: transparent; font-size: 8px; font-weight: 800; }
.month-cell.today .month-date { color: var(--white); background: var(--forest); }
.month-cell > div { display: grid; gap: 3px; }
.month-cell > div > small { color: var(--muted); font-size: 6.5px; }
.month-event { min-height: 23px; padding: 4px 5px; border: 0; border-left: 2px solid var(--clay); border-radius: 5px; overflow: hidden; color: #694133; background: #f7e4db; cursor: pointer; font-size: 6.5px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.month-event span { margin-right: 4px; font-weight: 800; }
.month-event.green { border-color: #668a70; color: #405b48; background: #e6efe7; }
.month-event.blue { border-color: var(--blue); color: #3f596a; background: #e6eff3; }
.facility-calendar-controls { margin-bottom: 14px; padding: 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; }
.facility-calendar-controls > div:first-child strong, .facility-calendar-controls > div:first-child span { display: block; }
.facility-calendar-controls > div:first-child strong { font-size: 9px; }
.facility-calendar-controls > div:first-child span { margin-top: 3px; color: var(--muted); font-size: 7px; }
.facility-filter-list { display: flex; flex-wrap: wrap; gap: 6px; }
.facility-filter { min-height: 31px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; display: inline-flex; align-items: center; gap: 6px; color: var(--muted); background: var(--white); cursor: pointer; font-size: 7.5px; font-weight: 750; }
.facility-filter > span { width: 7px; height: 7px; border: 1px solid #93a39a; border-radius: 50%; }
.facility-filter.active { color: #59466d; border-color: #cfc0dd; background: #f3eef8; }
.facility-filter.active > span { border-color: #8669a5; background: #8669a5; box-shadow: 0 0 0 2px #e5ddec; }
.facility-booking-rules { padding: 13px; border: 1px solid #d8cce5; border-radius: 13px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 1fr); align-items: center; gap: 12px; background: #f7f3fa; }
.facility-booking-rules > div:first-child strong, .facility-booking-rules > div:first-child span { display: block; }
.facility-booking-rules > div:first-child strong { font-size: 9px; }
.facility-booking-rules > div:first-child span { margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.45; }
.facility-rule-hint { padding: 10px 12px; border-radius: 10px; color: #59466d; background: #f2edf7; font-size: 8px; line-height: 1.45; }
.facility-reservation-inline-error { padding: 13px 14px; border: 1px solid #d98a7e; border-radius: 12px; display: flex; align-items: flex-start; gap: 10px; color: #7c332b; background: #fff1ee; box-shadow: 0 8px 22px rgba(124,51,43,.09); }
.facility-reservation-inline-error[hidden] { display: none; }
.facility-reservation-inline-error.notice-priority { border-width: 2px; background: #ffebe7; }
.facility-reservation-inline-error > svg { width: 20px; height: 20px; flex: 0 0 auto; }
.facility-reservation-inline-error strong { display: block; font-size: 9px; line-height: 1.35; }
.facility-reservation-inline-error p { margin: 4px 0 0; font-size: 8px; line-height: 1.5; }
.facility-reservation-inline-error:focus-visible { outline: 3px solid rgba(169,75,64,.28); outline-offset: 3px; }
.modal .field input[aria-invalid="true"] { border-color: #c45b4e; background: #fff8f6; box-shadow: 0 0 0 2px rgba(196,91,78,.13); }

.inventory-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px; }
.inventory-card-actions .feed-edit-button { width: auto; margin-top: 0; flex: 1 1 120px; justify-content: center; }
.inventory-card-actions .feed-edit-button.sell { color: #6f4b27; border-color: #d8c3a8; background: #fbf3e8; }
.marketplace-loading, .marketplace-empty { min-height: 210px; padding: 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); text-align: center; }
.marketplace-loading svg, .marketplace-empty > svg { width: 30px; color: var(--forest); }
.marketplace-loading strong, .marketplace-empty strong { color: var(--ink); font-size: 12px; }
.marketplace-empty span { max-width: 390px; font-size: 8px; line-height: 1.5; }
.marketplace-empty button { min-height: 34px; margin-top: 6px; padding: 0 13px; border: 0; border-radius: 9px; color: var(--white); background: var(--forest); cursor: pointer; font: inherit; font-size: 8px; font-weight: 800; }
.marketplace-hero { min-height: 190px; margin-bottom: 14px; padding: 27px 30px; border-radius: 23px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--white); background: linear-gradient(125deg, #143a30, #365f4f); overflow: hidden; position: relative; }
.marketplace-hero::after { content: ""; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; position: absolute; right: -95px; bottom: -155px; box-shadow: 0 0 0 48px rgba(255,255,255,.025); }
.marketplace-hero > div { min-width: 0; display: flex; align-items: flex-start; gap: 16px; position: relative; z-index: 1; }
.marketplace-hero > div > span { width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; flex: 0 0 auto; display: grid; place-items: center; background: rgba(255,255,255,.08); }
.marketplace-hero > div > span svg { width: 23px; }
.marketplace-hero .kicker { color: #c8b492; }
.marketplace-hero h2 { margin: 6px 0; color: var(--white); font-family: var(--serif); font-size: 28px; }
.marketplace-hero p:not(.kicker) { max-width: 530px; color: rgba(255,255,255,.64); font-size: 9px; line-height: 1.55; }
.marketplace-hero > strong { min-width: 105px; position: relative; z-index: 1; font-family: var(--serif); font-size: 34px; text-align: center; }
.marketplace-hero > strong small { margin-top: 2px; display: block; color: rgba(255,255,255,.6); font-family: var(--sans); font-size: 7px; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.marketplace-controls { margin-bottom: 14px; padding: 12px; display: flex; align-items: center; gap: 12px; }
.marketplace-controls label { min-width: 245px; min-height: 37px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 8px; background: var(--white); }
.marketplace-controls label svg { width: 14px; color: var(--muted); }
.marketplace-controls input { width: 100%; border: 0; color: var(--ink); background: transparent; outline: 0; font: inherit; font-size: 9px; }
.marketplace-controls > div { display: flex; flex-wrap: wrap; gap: 5px; }
.marketplace-controls > div button { min-height: 31px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: var(--white); cursor: pointer; font: inherit; font-size: 7.5px; font-weight: 750; }
.marketplace-controls > div button.active { color: var(--white); border-color: var(--forest); background: var(--forest); }
.marketplace-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 11px; }
.marketplace-grid .grid-empty { grid-column: 1 / -1; }
.marketplace-card { min-width: 0; min-height: 330px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; background: var(--white); box-shadow: 0 8px 24px rgba(19,47,39,.045); }
.marketplace-card-art { min-height: 145px; padding: 16px; overflow: hidden; position: relative; display: flex; align-items: flex-end; justify-content: space-between; color: #644d34; background: linear-gradient(140deg, #efe6d9, #f9f5ee); }
.marketplace-card-art svg { width: 40px; height: 40px; opacity: .55; }
.marketplace-card-art img { width: 100%; height: 100%; position: absolute; inset: 0; z-index: 1; object-fit: cover; }
.marketplace-card-art span { padding: 5px 8px; border-radius: 8px; position: relative; z-index: 2; background: rgba(255,255,255,.82); font-size: 7px; font-weight: 800; backdrop-filter: blur(5px); }
.marketplace-card-art.photo-error img { display: none; }
.marketplace-card-body { min-height: 0; padding: 15px; display: flex; flex: 1; flex-direction: column; }
.marketplace-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.marketplace-condition { color: #577063; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.marketplace-card h3 { margin: 7px 0 5px; font-size: 15px; line-height: 1.2; }
.marketplace-card p { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.marketplace-card p.muted { opacity: .65; }
.marketplace-card-meta { margin-top: 12px; display: grid; gap: 6px; }
.marketplace-card-meta span { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; color: var(--muted); font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.marketplace-card-meta svg { width: 13px; flex: 0 0 auto; color: #788c81; }
.marketplace-card-foot { margin-top: auto; padding-top: 13px; border-top: 1px solid #eceeea; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.marketplace-card-foot strong { color: var(--forest); font-size: 17px; }
.marketplace-card-foot > span { color: var(--muted); font-size: 7px; }
.marketplace-status { width: fit-content; padding: 4px 7px; border-radius: 999px; color: #365d43; background: #e2efe5; font-size: 6.5px; font-weight: 850; white-space: nowrap; }
.marketplace-status.reserved { color: #75521f; background: #f7e8c8; }
.marketplace-status.sold { color: #475a65; background: #e5ebee; }
.marketplace-status.withdrawn { color: #766d68; background: #ece9e7; }
.marketplace-own { margin-top: 30px; }
.marketplace-section-head { margin-bottom: 12px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.marketplace-section-head h2 { margin-top: 3px; font-size: 25px; }
.marketplace-own-list { display: grid; gap: 8px; }
.marketplace-own-row { padding: 11px 12px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto minmax(190px, auto); align-items: center; gap: 11px; background: var(--white); }
.marketplace-own-icon { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; color: #684f34; background: #f3eadf; }
.marketplace-own-icon svg { width: 19px; }
.marketplace-own-row > div:nth-child(2) { min-width: 0; }
.marketplace-own-row > div:nth-child(2) span, .marketplace-own-row > div:nth-child(2) strong, .marketplace-own-row > div:nth-child(2) small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.marketplace-own-row > div:nth-child(2) span { color: var(--muted); font-size: 6.5px; text-transform: uppercase; }
.marketplace-own-row > div:nth-child(2) strong { margin-top: 3px; font-size: 9px; }
.marketplace-own-row > div:nth-child(2) small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.marketplace-own-edit { display: flex; justify-content: flex-end; gap: 6px; }
.marketplace-own-edit > button, .marketplace-own-actions button { min-height: 30px; padding: 0 9px; border: 1px solid #cbd6ce; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; color: var(--forest); background: var(--white); cursor: pointer; font: inherit; font-size: 7px; font-weight: 800; }
.marketplace-own-edit > button svg { width: 12px; }
.marketplace-own-actions { display: flex; gap: 5px; }
.marketplace-own-actions button.danger { color: #8a493f; border-color: #e0c0b9; }
.marketplace-source-note { padding: 12px 13px; border: 1px solid #c9dacd; border-radius: 12px; display: flex; align-items: flex-start; gap: 10px; color: var(--forest); background: #edf5ef; }
.marketplace-source-note > svg { width: 18px; flex: 0 0 auto; }
.marketplace-source-note strong, .marketplace-source-note span { display: block; }
.marketplace-source-note strong { font-size: 9px; }
.marketplace-source-note span { margin-top: 4px; color: #597066; font-size: 7.5px; line-height: 1.45; }
.marketplace-inline-error { padding: 13px 14px; border: 2px solid #d8a49b; border-radius: 12px; display: flex; align-items: flex-start; gap: 10px; color: #7e352d; background: #fff4f1; outline: none; }
.marketplace-inline-error[hidden] { display: none; }
.marketplace-inline-error > svg { width: 20px; flex: 0 0 auto; }
.marketplace-inline-error strong, .marketplace-inline-error p { display: block; }
.marketplace-inline-error strong { font-size: 9px; }
.marketplace-inline-error p { margin: 4px 0 0; font-size: 7.5px; line-height: 1.45; }
.marketplace-price-note { min-height: 17px; margin-top: 6px; display: block; color: #5c7066; font-size: 7px; line-height: 1.45; }
.marketplace-photo-field > label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.marketplace-photo-field > label small { color: var(--muted); font-size: 7px; font-weight: 550; }
.marketplace-photo-field > input[type="file"] { padding: 8px; }
.marketplace-photo-grid { margin-top: 9px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.marketplace-photo-grid article { aspect-ratio: 4 / 3; overflow: hidden; position: relative; border: 1px solid var(--line); border-radius: 11px; background: #eef1ec; }
.marketplace-photo-grid article img { width: 100%; height: 100%; display: block; object-fit: cover; }
.marketplace-photo-grid article button { width: 30px; height: 30px; border: 0; border-radius: 50%; position: absolute; top: 5px; right: 5px; z-index: 2; color: var(--white); background: rgba(91,41,35,.88); cursor: pointer; font: inherit; font-size: 18px; line-height: 1; }
.marketplace-photo-grid article small { padding: 3px 6px; border-radius: 6px; position: absolute; left: 5px; bottom: 5px; color: var(--white); background: rgba(19,47,39,.78); font-size: 6px; font-weight: 800; }
.marketplace-photo-grid > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 7px; }
.marketplace-photo-grid > p.empty { min-height: 70px; padding: 16px; border: 1px dashed #cbd4cd; border-radius: 11px; display: grid; place-items: center; background: #fafbf8; text-align: center; }

.community-summary { margin-bottom: 13px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.community-summary > div { min-height: 67px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 32px auto 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 10px; background: var(--white); }
.community-summary svg { width: 17px; height: 17px; grid-row: 1 / 3; justify-self: center; color: var(--forest); }
.community-summary strong { align-self: end; color: var(--forest); font-size: 18px; line-height: 1; }
.community-summary span { align-self: start; color: var(--muted); font-size: 7px; }
.community-load-error { margin-bottom: 12px; padding: 10px 12px; border: 1px solid #e0bbb5; border-radius: 11px; display: flex; align-items: center; gap: 8px; color: #873d34; background: #fff7f5; font-size: 8px; }
.community-load-error svg { width: 16px; flex: 0 0 auto; }
.community-load-error span { flex: 1; }
.community-load-error button { min-height: 29px; padding: 0 9px; border: 1px solid #d7a9a2; border-radius: 8px; color: inherit; background: var(--white); cursor: pointer; font: inherit; font-weight: 800; }
.community-layout { min-height: 520px; height: min(680px, calc(100vh - 255px)); display: grid; grid-template-columns: minmax(290px, 345px) minmax(0, 1fr); gap: 12px; }
.community-sidebar { min-height: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; }
.community-user-search { padding: 12px; border-bottom: 1px solid var(--line); background: #fbfcfa; position: sticky; top: 0; z-index: 3; }
.community-user-search > label { min-height: 39px; padding: 0 11px; border: 1px solid #ced8d1; border-radius: 11px; display: flex; align-items: center; gap: 8px; background: var(--white); }
.community-user-search > label:focus-within { border-color: #8aa494; box-shadow: 0 0 0 3px rgba(90,126,105,.1); }
.community-user-search > label svg { width: 15px; color: var(--muted); }
.community-user-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font: inherit; font-size: 9px; }
.community-search-results { display: grid; gap: 5px; }
.community-search-hint { padding: 9px 5px 0; color: var(--muted); font-size: 7.5px; line-height: 1.4; }
.community-search-hint.error { color: #9c433a; }
.community-search-result { min-height: 45px; margin-top: 6px; padding: 6px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 8px; background: var(--white); }
.community-search-result > strong { overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.community-search-result > span, .community-search-result > button { color: var(--muted); font-size: 7px; font-weight: 750; }
.community-search-result > button { min-height: 28px; padding: 0 8px; border: 1px solid #b8cabe; border-radius: 8px; color: var(--forest); background: #edf4ee; cursor: pointer; font: inherit; font-weight: 800; }
.community-avatar { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: var(--forest); background: #dfeade; font-size: 9px; font-weight: 850; }
.community-side-section { padding: 12px; border-bottom: 1px solid var(--line); }
.community-side-title { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; }
.community-side-title strong { font-size: 9px; }
.community-side-title span { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 7px; font-weight: 800; }
.community-request-card { padding: 8px 0; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 8px; }
.community-request-card + .community-request-card { border-top: 1px solid #edf0ec; }
.community-request-card > div:nth-child(2) { min-width: 0; padding-top: 3px; }
.community-request-card strong, .community-request-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-request-card strong { font-size: 8px; }
.community-request-card small { margin-top: 3px; color: var(--muted); font-size: 6.5px; }
.community-request-card > div:last-child { grid-column: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.community-request-card button, .community-request-card > div:last-child > span { min-height: 27px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; display: inline-flex; align-items: center; color: var(--forest); background: var(--white); cursor: pointer; font: inherit; font-size: 6.5px; font-weight: 800; }
.community-request-card button.primary { color: var(--white); border-color: var(--forest); background: var(--forest); }
.community-request-card > div:last-child > span { border: 0; color: var(--muted); background: transparent; }
.community-friend-list { display: grid; gap: 4px; }
.community-friend-row { border: 1px solid transparent; border-radius: 11px; display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; position: relative; }
.community-friend-row:hover, .community-friend-row.active { border-color: #d3ddd5; background: #f3f7f3; }
.community-friend-open { min-width: 0; min-height: 54px; padding: 7px; border: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-rows: 1fr 1fr; align-items: center; gap: 0 8px; text-align: left; color: inherit; background: transparent; cursor: pointer; font: inherit; }
.community-friend-open .community-avatar { grid-row: 1 / 3; }
.community-friend-open > span { min-width: 0; grid-row: 1 / 3; }
.community-friend-open strong, .community-friend-open small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-friend-open strong { font-size: 8.5px; }
.community-friend-open small { margin-top: 4px; color: var(--muted); font-size: 6.5px; }
.community-friend-open time { align-self: end; color: var(--muted); font-size: 6px; }
.community-friend-open > b { min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; display: grid; place-items: center; color: var(--white); background: #b26a55; font-size: 6px; }
.community-friend-menu { position: relative; z-index: 2; }
.community-friend-menu summary, .community-chat-panel header details summary { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--muted); cursor: pointer; font-size: 10px; list-style: none; }
.community-friend-menu summary::-webkit-details-marker, .community-chat-panel header details summary::-webkit-details-marker { display: none; }
.community-friend-menu[open] summary, .community-chat-panel header details[open] summary { background: #e6ede7; }
.community-friend-menu > div, .community-chat-panel header details > div { min-width: 145px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; position: absolute; top: 30px; right: 0; display: grid; gap: 2px; background: var(--white); box-shadow: 0 10px 28px rgba(18,44,36,.14); }
.community-friend-menu button, .community-chat-panel header details button { min-height: 29px; padding: 0 7px; border: 0; border-radius: 6px; color: var(--ink); background: transparent; cursor: pointer; text-align: left; font: inherit; font-size: 7px; }
.community-friend-menu button:hover, .community-chat-panel header details button:hover { background: #f1f4f1; }
.community-friend-menu button.danger, .community-chat-panel header details button.danger { color: #963c34; }
.community-side-empty { min-height: 120px; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--muted); text-align: center; }
.community-side-empty svg { width: 24px; color: #8ca092; }
.community-side-empty strong { color: var(--forest); font-size: 9px; }
.community-side-empty span { font-size: 7px; }
.community-blocked { padding: 11px 12px; color: var(--muted); font-size: 7.5px; }
.community-blocked > summary { cursor: pointer; font-weight: 800; }
.community-blocked > div { margin-top: 8px; display: grid; gap: 5px; }
.community-blocked-row { min-height: 42px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.community-blocked-row .community-avatar { width: 30px; height: 30px; border-radius: 9px; }
.community-blocked-row strong { overflow: hidden; color: var(--ink); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.community-blocked-row button { min-height: 27px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--forest); background: var(--white); cursor: pointer; font: inherit; font-size: 6.5px; font-weight: 800; }
.community-chat-panel { min-width: 0; min-height: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.community-chat-panel.empty { align-items: center; justify-content: center; color: var(--muted); text-align: center; }
.community-chat-panel.empty > div { display: flex; flex-direction: column; align-items: center; gap: 7px; }
.community-chat-panel.empty svg { width: 36px; color: #8fa496; }
.community-chat-panel.empty strong { color: var(--forest); font-family: var(--serif); font-size: 20px; }
.community-chat-panel.empty p { max-width: 280px; font-size: 8px; line-height: 1.5; }
.community-chat-panel > header { min-height: 64px; padding: 10px 13px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 9px; background: #fbfcfa; position: relative; z-index: 4; }
.community-chat-panel > header > div { min-width: 0; flex: 1; }
.community-chat-panel > header strong, .community-chat-panel > header small { display: block; }
.community-chat-panel > header strong { font-size: 9px; }
.community-chat-panel > header small { margin-top: 3px; color: var(--muted); font-size: 6.5px; }
.community-chat-panel > header details { position: relative; }
.community-chat-back { display: none; }
.community-messages { min-height: 0; padding: 18px; display: flex; flex: 1; flex-direction: column; gap: 7px; overflow-y: auto; overscroll-behavior: contain; background: linear-gradient(#f8faf7, #f4f7f3); }
.community-message { display: flex; }
.community-message.mine { justify-content: flex-end; }
.community-message > div { max-width: min(72%, 520px); padding: 9px 11px 7px; border: 1px solid #dce3dd; border-radius: 5px 14px 14px; background: var(--white); box-shadow: 0 3px 9px rgba(25,50,42,.035); }
.community-message.mine > div { color: var(--white); border-color: var(--forest); border-radius: 14px 5px 14px 14px; background: var(--forest); }
.community-message p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 8.5px; line-height: 1.45; }
.community-message time { margin-top: 4px; display: block; color: var(--muted); font-size: 5.8px; text-align: right; }
.community-message.mine time { color: rgba(255,255,255,.6); }
.community-chat-empty { margin: auto; padding: 18px; display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--muted); text-align: center; }
.community-chat-empty svg { width: 24px; color: #8ca092; }
.community-chat-empty strong { color: var(--forest); font-size: 9px; }
.community-chat-empty span { font-size: 7px; }
.community-chat-empty.error strong, .community-chat-empty.error span { color: #984239; }
.community-chat-empty button, .community-load-older { min-height: 29px; padding: 0 9px; border: 1px solid #c7d3ca; border-radius: 8px; color: var(--forest); background: var(--white); cursor: pointer; font: inherit; font-size: 7px; font-weight: 800; }
.community-chat-warning { margin-bottom: 7px; padding: 8px 10px; border: 1px solid #e2c0ba; border-radius: 9px; display: flex; align-items: center; gap: 7px; color: #91433a; background: #fff8f6; font-size: 7px; }
.community-chat-warning svg { width: 14px; flex: 0 0 auto; }
.community-chat-warning span { flex: 1; }
.community-chat-warning button { min-height: 26px; padding: 0 7px; border: 1px solid #d7aaa3; border-radius: 7px; color: inherit; background: var(--white); cursor: pointer; font: inherit; font-weight: 800; }
.community-load-older { margin: 0 auto 8px; flex: 0 0 auto; }
.community-chat-form { padding: 10px; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; background: var(--white); }
.community-chat-form textarea { min-height: 38px; max-height: 110px; padding: 10px 11px; border: 1px solid #cdd7d0; border-radius: 12px; resize: vertical; outline: 0; color: var(--ink); background: #fafbf9; font: inherit; font-size: 9px; line-height: 1.4; }
.community-chat-form textarea:focus { border-color: #829d8b; box-shadow: 0 0 0 3px rgba(82,118,96,.1); }
.community-chat-form button { min-height: 38px; padding: 0 13px; border: 0; border-radius: 11px; display: inline-flex; align-items: center; gap: 6px; color: var(--white); background: var(--forest); cursor: pointer; font: inherit; font-size: 7.5px; font-weight: 850; }
.community-chat-form button svg { width: 14px; }
.bottom-nav-count { min-width: 15px; height: 15px; padding: 0 4px; border: 2px solid #fbfaf6; border-radius: 999px; position: absolute; top: 3px; left: calc(50% + 4px); display: grid; place-items: center; color: var(--white); background: #b75e4e; font-size: 5.5px; line-height: 1; }

.stable-hero { min-height: 240px; padding: 34px; border-radius: 26px; color: var(--white); background: linear-gradient(125deg, var(--forest-dark), var(--forest-2)); position: relative; overflow: hidden; }
.stable-hero::after { content: ""; width: 300px; height: 300px; position: absolute; right: -80px; bottom: -170px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025); }
.stable-hero h2 { max-width: 650px; margin: 12px 0 8px; font-size: 40px; letter-spacing: -.055em; }
.stable-hero p { max-width: 560px; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.6; }
.stable-stats { margin-top: 27px; display: flex; flex-wrap: wrap; gap: 9px; }
.stable-stat { min-width: 110px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.06); }
.stable-stat strong { display: block; font-size: 17px; }
.stable-stat span { color: rgba(255,255,255,.47); font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.box-section-list { display: grid; gap: 16px; }
.box-section-group { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #f7f8f5; }
.box-section-group > header { margin-bottom: 11px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.box-section-group > header span { display: block; color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.box-section-group > header h3 { margin: 3px 0 0; font-family: var(--serif); font-size: 18px; }
.box-section-group > header small { color: var(--muted); font-size: 8px; white-space: nowrap; }
.box-section-meta { display: flex; align-items: center; gap: 9px; }
.box-section-delete { min-height: 28px; padding: 0 8px; border: 1px solid #e2bbb6; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; color: #9b342d; background: #fff8f7; cursor: pointer; font-size: 7px; font-weight: 750; }
.box-section-delete svg { width: 12px; }
.box-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.box-card-wrap { min-width: 0; position: relative; }
.box { width: 100%; min-height: 105px; padding: 10px 36px 10px 10px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); display: flex; flex-direction: column; text-align: left; cursor: pointer; }
.box.free { border-style: dashed; color: var(--muted); background: transparent; }
.box-number { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.box strong { margin-top: auto; font-size: 10px; }
.box span:last-child { margin-top: 3px; color: var(--muted); font-size: 7px; }
.box-edit-button { width: 28px; height: 28px; padding: 0; border: 1px solid var(--line); border-radius: 9px; position: absolute; top: 8px; right: 8px; display: grid; place-items: center; color: var(--forest); background: rgba(255,255,255,.92); cursor: pointer; }
.box-edit-button:hover { border-color: #9eb2a4; background: var(--sage); }
.box-edit-button svg { width: 13px; height: 13px; }
.box-create-single[hidden], .box-create-batch[hidden] { display: none; }
.box-create-batch { padding: 13px; border: 1px solid #d7e2da; border-radius: 13px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; background: #f5f8f4; }
.box-range-preview { min-height: 35px; padding: 9px 11px; border-radius: 10px; grid-column: 1 / -1; color: var(--forest); background: #e4eee2; font-size: 9px; font-weight: 750; }
.box-edit-occupancy { padding: 13px; border: 1px solid #d7e2da; border-radius: 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #f5f8f4; }
.box-edit-occupancy > div { display: flex; flex-direction: column; gap: 3px; }
.box-edit-occupancy strong { font-size: 10px; }
.box-edit-occupancy span { color: var(--muted); font-size: 8px; }
.stable-delete-zone { padding: 13px; border: 1px solid #e6b6b1; border-radius: 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff5f4; }
.stable-delete-zone > div { min-width: 0; display: flex; align-items: flex-start; gap: 9px; color: #9d332b; }
.stable-delete-zone > div > svg { width: 18px; flex: 0 0 auto; }
.stable-delete-zone span, .stable-delete-zone strong, .stable-delete-zone small { display: block; }
.stable-delete-zone strong { font-size: 9px; }
.stable-delete-zone small { margin-top: 3px; color: #86534e; font-size: 7px; }
.destructive-confirmation { padding: 15px; border: 2px solid #c94a40; border-radius: 14px; display: flex; gap: 11px; color: #8f2b24; background: #fff0ee; }
.destructive-confirmation > svg { width: 24px; flex: 0 0 auto; }
.destructive-confirmation strong { font-size: 11px; }
.destructive-confirmation p { margin: 5px 0 0; font-size: 9px; line-height: 1.5; }
.stable-modules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stable-loading { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--muted); }
.stable-loading svg { width: 34px; color: var(--forest); }
.stable-operation-grid { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 16px; align-items: start; }
.stable-facility-panel { margin-top: 16px; }
.stable-facility-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: 16px; align-items: start; }
.stable-facility-list, .stable-reservation-list { display: grid; gap: 8px; }
.stable-facility-card { min-height: 92px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; background: #fdfdfb; }
.stable-facility-card.inactive { opacity: .58; background: #f2f3f0; }
.stable-public-empty { min-height: 220px; padding: 28px; border: 1px dashed #cbd4cc; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: var(--muted); background: #fafbf9; text-align: center; }
.stable-public-empty svg { width: 30px; height: 30px; margin-bottom: 3px; color: var(--forest); }
.stable-public-empty strong { color: var(--forest); font-size: 11px; }
.stable-public-empty span { max-width: 480px; font-size: 8px; line-height: 1.55; }
.stable-facility-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.stable-facility-icon svg { width: 19px; }
.stable-facility-card > div:nth-child(2) { min-width: 0; }
.stable-facility-card > div:nth-child(2) > span { display: block; color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.stable-facility-card > div:nth-child(2) > strong { display: block; margin-top: 3px; font-size: 10px; }
.stable-facility-card > div:nth-child(2) > small { display: block; margin-top: 4px; color: var(--muted); font-size: 7.5px; }
.stable-facility-card > div:nth-child(2) > p { margin: 5px 0 0; overflow: hidden; color: var(--muted); font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.stable-facility-actions { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }
.stable-facility-actions b { color: var(--muted); font-size: 7px; font-weight: 750; }
.stable-facility-actions button, .stable-reservation-actions button { min-height: 29px; padding: 0 9px; border: 1px solid #b8cbbd; border-radius: 8px; color: var(--forest); background: #edf4eb; cursor: pointer; font-size: 7.5px; font-weight: 750; }
.stable-facility-actions button.secondary, .stable-reservation-actions button { border-color: var(--line); background: var(--white); }
.stable-reservation-list { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #f7f8f5; }
.stable-reservation-head { min-height: 27px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stable-reservation-head strong { font-size: 9px; }
.stable-reservation-head span { color: var(--muted); font-size: 7.5px; }
.stable-reservation-row { padding: 9px; border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 9px; background: var(--white); }
.stable-reservation-row time strong, .stable-reservation-row time span { display: block; }
.stable-reservation-row time strong { color: var(--forest); font-size: 8px; }
.stable-reservation-row time span { margin-top: 3px; color: var(--muted); font-size: 7px; }
.stable-reservation-row > div { min-width: 0; }
.stable-reservation-row > div strong, .stable-reservation-row > div span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stable-reservation-row > div strong { font-size: 8.5px; }
.stable-reservation-row > div span { margin-top: 3px; color: var(--muted); font-size: 7px; }
.stable-reservation-actions { display: flex; justify-content: flex-end; gap: 5px; }
.facility-reservation-detail { padding: 15px; border: 1px solid #d8cce5; border-radius: 15px; display: flex; align-items: center; gap: 12px; background: #f6f2fa; }
.facility-reservation-detail-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: #67517f; background: #e7ddef; }
.facility-reservation-detail-icon svg { width: 20px; height: 20px; }
.facility-reservation-detail > div:last-child { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.facility-reservation-detail span, .facility-reservation-note span { color: #725c85; font-size: 7.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.facility-reservation-detail strong { color: var(--forest); font-size: 11px; }
.facility-reservation-detail small { color: var(--muted); font-size: 8px; }
.facility-reservation-status { width: fit-content; margin-top: 3px; padding: 4px 7px; border-radius: 999px; color: #42644e; background: #dfeee2; font-size: 6.5px; font-style: normal; font-weight: 800; }
.facility-reservation-status.pending { color: #78582a; background: #f6e8c9; }
.facility-reservation-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.facility-reservation-facts > div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; display: flex; flex-direction: column; gap: 4px; background: var(--white); }
.facility-reservation-facts span { color: var(--muted); font-size: 7px; }
.facility-reservation-facts strong { overflow-wrap: anywhere; font-size: 8.5px; }
.facility-reservation-note { padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: #fafbf9; }
.facility-reservation-note p { margin: 5px 0 0; white-space: pre-wrap; line-height: 1.55; }
.facility-reservation-detail-actions { display: flex; justify-content: flex-end; gap: 8px; }
.facility-toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.facility-toggle-grid label { min-height: 67px; padding: 11px; border: 1px solid #d7e2da; border-radius: 12px; display: flex; align-items: flex-start; gap: 9px; background: #f5f8f4; cursor: pointer; }
.facility-toggle-grid input { margin-top: 2px; accent-color: var(--forest); }
.facility-toggle-grid span, .facility-toggle-grid strong, .facility-toggle-grid small { display: block; }
.facility-toggle-grid strong { font-size: 9px; }
.facility-toggle-grid small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.stable-facility-flags { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 4px; }
.stable-facility-flags span { padding: 3px 6px; border-radius: 999px; color: #6d726d; background: #eef0ed; font-size: 6px; font-weight: 800; }
.stable-facility-flags span.quota { color: #5d4873; background: #eee7f4; }
.stable-facility-flags span.winter { color: #315d70; background: #e4f1f5; }
.facility-capacity-help { padding: 10px 12px; border: 1px solid #cadce2; border-radius: 11px; display: flex; align-items: flex-start; gap: 8px; color: #3f6470; background: #f0f8fa; font-size: 7.5px; line-height: 1.45; }
.facility-capacity-help svg { width: 16px; flex: 0 0 auto; }
.facility-capacity-help strong { display: block; margin-bottom: 2px; font-size: 8px; }
.reservation-policy-panel { margin-top: 16px; }
.reservation-policy-panel .panel-head { align-items: flex-start; }
.reservation-policy-overview { margin-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.reservation-policy-overview > div { min-height: 94px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; display: flex; flex-direction: column; background: #fafbf9; }
.reservation-policy-overview > div.reservation-policy-current { color: var(--white); border-color: var(--forest); background: linear-gradient(135deg, var(--forest), #3e6a58); }
.reservation-policy-overview span, .reservation-policy-overview strong, .reservation-policy-overview small { display: block; }
.reservation-policy-overview span { color: var(--muted); font-size: 6.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.reservation-policy-overview strong { margin: 8px 0 5px; color: var(--forest); font-size: 15px; }
.reservation-policy-overview small { margin-top: auto; color: var(--muted); font-size: 6.8px; line-height: 1.4; }
.reservation-policy-current span, .reservation-policy-current strong, .reservation-policy-current small { color: inherit; }
.reservation-policy-current span, .reservation-policy-current small { opacity: .7; }
.reservation-policy-explanation { margin-top: 9px; padding: 10px 12px; border-radius: 11px; display: flex; align-items: flex-start; gap: 8px; color: #546c5e; background: #eef4ed; font-size: 7.5px; line-height: 1.5; }
.reservation-policy-explanation svg, .reservation-policy-note svg { width: 16px; flex: 0 0 auto; }
.reservation-policy-options, .reservation-scope-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.reservation-scope-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reservation-policy-option { min-height: 88px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: flex-start; gap: 8px; background: #fafbf9; cursor: pointer; }
.reservation-policy-option.selected { border-color: #789582; background: #edf5ed; box-shadow: inset 0 0 0 1px #789582; }
.reservation-policy-option.compact { min-height: 70px; }
.reservation-policy-option input { margin-top: 2px; accent-color: var(--forest); }
.reservation-policy-option span, .reservation-policy-option strong, .reservation-policy-option small { display: block; }
.reservation-policy-option strong { font-size: 9px; }
.reservation-policy-option small { margin-top: 4px; color: var(--muted); font-size: 7px; line-height: 1.45; }
.reservation-policy-recommendation { padding: 12px; border: 1px solid #d8cde2; border-radius: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #f8f4fa; }
.reservation-policy-recommendation > div { padding: 9px 10px; border-radius: 10px; background: rgba(255,255,255,.72); }
.reservation-policy-recommendation span, .reservation-policy-recommendation strong, .reservation-policy-recommendation small { display: block; }
.reservation-policy-recommendation span { color: #725c85; font-size: 6.5px; font-weight: 800; text-transform: uppercase; }
.reservation-policy-recommendation strong { margin-top: 5px; color: var(--forest); font-size: 11px; }
.reservation-policy-recommendation small { margin-top: 3px; color: var(--muted); font-size: 6.5px; }
.reservation-policy-recommendation p { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 7px; color: #675675; font-size: 7px; line-height: 1.45; }
.reservation-policy-recommendation p svg { width: 14px; flex: 0 0 auto; }
.reservation-custom-limit[hidden] { display: none; }
.reservation-policy-note { padding: 10px 12px; border-radius: 11px; display: flex; align-items: flex-start; gap: 8px; color: #53685a; background: #edf4ed; font-size: 7.5px; line-height: 1.45; }
.facility-closures-panel { margin-top: 14px; }
.facility-closure-list { display: grid; gap: 8px; }
.facility-closure-card { padding: 12px; border: 1px solid #dfbbb5; border-radius: 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; background: #fff9f7; }
.facility-closure-card.paused { border-color: var(--line); background: #f6f6f3; opacity: .78; }
.facility-closure-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: #96453b; background: #f5ddd8; }
.facility-closure-card.paused .facility-closure-icon { color: var(--muted); background: #e8ebe7; }
.facility-closure-icon svg { width: 18px; }
.facility-closure-card > div:nth-child(2) { min-width: 0; }
.facility-closure-title { margin-bottom: 4px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.facility-closure-title span, .facility-closure-title b { padding: 3px 6px; border-radius: 999px; color: #864138; background: #f5ddd8; font-size: 6px; font-weight: 850; text-transform: uppercase; }
.facility-closure-title b { color: #744d20; background: #f6e7c9; }
.facility-closure-card strong { font-size: 10px; }
.facility-closure-card small { margin-top: 3px; display: block; color: var(--muted); font-size: 7px; }
.facility-closure-card p { margin: 5px 0 0; color: #6d554f; font-size: 7.5px; line-height: 1.4; }
.facility-closure-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.facility-closure-actions button { min-height: 29px; padding: 0 8px; border: 1px solid #d8c5c1; border-radius: 8px; display: inline-flex; align-items: center; gap: 4px; color: #654943; background: var(--white); cursor: pointer; font: inherit; font-size: 6.8px; font-weight: 800; }
.facility-closure-actions button svg { width: 12px; }
.facility-closure-actions button.danger { color: #9c3f35; border-color: #dda9a2; }
.facility-closure-detail { padding: 14px; border: 1px solid #dfbbb5; border-radius: 14px; display: flex; align-items: flex-start; gap: 11px; color: #7f4139; background: #fff7f5; }
.facility-closure-detail > svg { width: 22px; flex: 0 0 auto; }
.facility-closure-detail span, .facility-closure-detail strong { display: block; }
.facility-closure-detail span { font-size: 7px; font-weight: 850; text-transform: uppercase; }
.facility-closure-detail strong { margin-top: 4px; color: var(--forest); font-size: 10px; }
.facility-closure-detail p { margin: 6px 0 0; font-size: 8px; line-height: 1.5; }
.closure-weekday-picker { padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf9; }
.closure-weekday-picker > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.closure-weekday-picker > div { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.closure-weekday-picker label { min-height: 36px; border: 1px solid var(--line); border-radius: 9px; display: grid; place-items: center; color: var(--muted); background: var(--white); cursor: pointer; font-size: 8px; font-weight: 800; position: relative; }
.closure-weekday-picker input { position: absolute; opacity: 0; }
.closure-weekday-picker label:has(input:checked) { color: var(--white); border-color: var(--forest); background: var(--forest); }
.closure-all-day { min-height: 64px; padding: 11px; border: 1px solid #d5dfd7; border-radius: 12px; display: flex; align-items: flex-start; gap: 9px; background: #f5f8f4; cursor: pointer; }
.closure-all-day input { margin-top: 2px; accent-color: var(--forest); }
.closure-all-day strong, .closure-all-day small { display: block; }
.closure-all-day strong { font-size: 9px; }
.closure-all-day small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.closure-confirmation-note { padding: 11px 12px; border: 1px solid #c9dacd; border-radius: 11px; display: flex; align-items: flex-start; gap: 8px; color: #456452; background: #edf5ef; font-size: 7.5px; line-height: 1.5; }
.closure-confirmation-note svg { width: 16px; flex: 0 0 auto; }
.closure-impacted-preview { padding: 11px 12px; border: 1px solid #e4c596; border-radius: 11px; display: grid; gap: 4px; color: #6f4e25; background: #fbf3e5; }
.closure-impacted-preview strong { margin-bottom: 3px; font-size: 8.5px; }
.closure-impacted-preview span, .closure-impacted-preview small { font-size: 7px; }
.reservation-relocation-warning { padding: 12px 13px; border: 1px solid #ddaaa2; border-radius: 13px; display: flex; align-items: flex-start; gap: 10px; color: #8e3f36; background: #fff5f3; }
.reservation-relocation-warning > svg { width: 20px; flex: 0 0 auto; }
.reservation-relocation-warning strong { font-size: 9px; }
.reservation-relocation-warning p { margin: 4px 0 0; font-size: 7.5px; line-height: 1.45; }
.reservation-relocation-warning small { margin-top: 5px; display: block; font-size: 7px; }
.reservation-relocation-warning button { min-height: 32px; margin-top: 8px; padding: 0 10px; border: 0; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--white); background: #a94b40; cursor: pointer; font: inherit; font-size: 7px; font-weight: 850; }
.reservation-relocation-warning button svg { width: 12px; }
.stable-reservation-row.relocation-required { border-color: #dfa9a1; background: #fff7f5; }
.stable-reservation-row.relocation-required > div > small { margin-top: 5px; display: flex; align-items: center; gap: 4px; color: #99443a; font-size: 6.5px; }
.stable-reservation-row.relocation-required > div > small svg { width: 11px; flex: 0 0 auto; }
.stable-reservation-actions button.relocate { color: #8f4036; border-color: #dba8a0; background: #fff0ed; }
.stable-stat.warning { border-color: rgba(245,195,123,.45); background: rgba(203,128,46,.18); }
.stable-unassigned { margin-top: 14px; padding: 13px 15px; border: 1px solid #e1c294; border-radius: 14px; display: flex; align-items: center; gap: 11px; color: #6d4b23; background: #fbf2e3; }
.stable-unassigned > svg { width: 20px; flex: 0 0 auto; }
.stable-unassigned > div { min-width: 0; flex: 1; }
.stable-unassigned strong, .stable-unassigned span { display: block; }
.stable-unassigned strong { font-size: 9px; }
.stable-unassigned span { margin-top: 3px; font-size: 8px; }
.stable-unassigned button, .stable-routine-row button, .stable-feed-row > button { min-height: 32px; padding: 0 10px; border: 1px solid #c9d6cc; border-radius: 9px; color: var(--forest); background: #fff; font-size: 8px; font-weight: 750; cursor: pointer; }
.stable-empty-action { min-height: 105px; padding: 12px; border: 1px dashed #cbd4cc; border-radius: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--forest); background: transparent; cursor: pointer; }
.stable-empty-action svg { width: 18px; }
.stable-empty-action strong { font-size: 9px; }
.stable-empty-action span { color: var(--muted); font-size: 7px; }
.stable-routine-list, .stable-feed-list { display: grid; gap: 7px; }
.stable-routine-group { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: #fdfdfb; }
.stable-routine-group.override { border-color: #b7cfbd; background: #f3f8f2; }
.stable-routine-group > summary { min-height: 72px; padding: 11px; display: grid; grid-template-columns: 58px 32px minmax(0, 1fr) 20px; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.stable-routine-group > summary::-webkit-details-marker { display: none; }
.stable-routine-group > summary time { color: var(--forest); font-size: 9px; font-weight: 750; }
.stable-routine-group > summary time small { display: block; color: var(--muted); font-size: 7px; }
.stable-routine-group > summary > span { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.stable-routine-group > summary > span svg { width: 15px; }
.stable-routine-group > summary div { min-width: 0; }
.stable-routine-group > summary div small { display: block; color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.stable-routine-group > summary strong { display: block; margin-top: 2px; font-size: 10px; }
.stable-routine-group > summary p { margin: 3px 0 0; color: var(--muted); font-size: 7.5px; line-height: 1.4; }
.stable-routine-group > summary > b { color: var(--muted); transition: transform .2s ease; }
.stable-routine-group > summary > b svg { width: 14px; }
.stable-routine-group[open] > summary > b { transform: rotate(90deg); }
.stable-routine-group-detail { padding: 11px; border-top: 1px solid var(--line); background: white; }
.stable-routine-group-actions { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stable-routine-group-actions span { color: var(--muted); font-size: 8px; font-weight: 750; }
.stable-routine-group-actions button { min-height: 30px; padding: 0 9px; border: 1px solid #c9d6cc; border-radius: 8px; display: flex; align-items: center; gap: 5px; color: var(--forest); background: var(--white); cursor: pointer; font-size: 7.5px; font-weight: 750; }
.stable-routine-group-actions button svg { width: 12px; }
.stable-routine-horses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.stable-routine-horses button { min-height: 38px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; display: flex; align-items: center; gap: 8px; color: inherit; background: #f8f9f6; text-align: left; cursor: pointer; }
.stable-routine-horses button span { min-width: 48px; color: var(--muted); font-size: 7px; }
.stable-routine-horses button strong { overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.routine-lots-panel { margin-top: 16px; }
.routine-lot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.routine-lot-grid > .stable-section-empty, .routine-lot-grid > .routine-lot-empty { grid-column: 1 / -1; }
.routine-lot-card { min-width: 0; padding: 14px; border: 1px solid #cfdbd2; border-radius: 15px; display: flex; flex-direction: column; gap: 12px; background: #fcfdfb; }
.routine-lot-card.inactive { opacity: .68; background: #f2f3f0; }
.routine-lot-card header { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.routine-lot-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.routine-lot-icon svg { width: 18px; }
.routine-lot-card header div { min-width: 0; }
.routine-lot-card header small { color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.routine-lot-card h3 { margin: 2px 0 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.routine-lot-card header p { margin: 3px 0 0; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.routine-lot-card header > b { padding: 4px 6px; border-radius: 7px; color: #356348; background: #e5f2e9; font-size: 6.5px; }
.routine-lot-card.inactive header > b { color: #6d716d; background: #e2e4e0; }
.routine-lot-card dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.routine-lot-card dl div { min-width: 0; padding: 8px; border-radius: 9px; background: #f1f5f0; }
.routine-lot-card dt { color: var(--muted); font-size: 6.5px; }
.routine-lot-card dd { margin: 3px 0 0; overflow: hidden; font-size: 8px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.routine-lot-horses { min-height: 29px; display: flex; flex-wrap: wrap; gap: 5px; align-content: flex-start; }
.routine-lot-horses span { padding: 5px 7px; border-radius: 999px; color: var(--forest); background: var(--sage); font-size: 7px; font-weight: 750; }
.routine-lot-horses em { color: var(--muted); font-size: 8px; font-style: normal; }
.routine-lot-card footer { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 5px; }
.routine-lot-card footer button { min-height: 32px; }
.routine-lot-selection { margin: 0; padding: 14px; border: 1px solid #d4ded6; border-radius: 14px; background: #f7f9f5; }
.routine-lot-selection legend { padding: 0 5px; color: var(--ink); font-size: 9px; font-weight: 800; }
.routine-lot-selection > p { margin: 0 0 11px; display: flex; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.routine-lot-selection > p svg { width: 15px; flex: 0 0 auto; color: var(--forest); }
.routine-lot-selection > div:last-child { max-height: 280px; overflow-y: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.routine-lot-horse-choice { min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; background: white; cursor: pointer; }
.routine-lot-horse-choice.assigned { border-color: #dac8ae; background: #fffaf1; }
.routine-lot-horse-choice input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--forest); }
.routine-lot-horse-choice span { min-width: 0; }
.routine-lot-horse-choice strong, .routine-lot-horse-choice small { display: block; }
.routine-lot-horse-choice strong { font-size: 9px; }
.routine-lot-horse-choice small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.routine-lot-transfer-note { margin-bottom: 9px; padding: 9px 10px; border: 1px solid #e2c69e; border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; color: #704e24; background: #fff6e8; font-size: 8px; line-height: 1.4; }
.routine-lot-transfer-note[hidden] { display: none; }
.routine-lot-transfer-note svg { width: 15px; flex: 0 0 auto; }
.routine-lot-transfer-note strong { display: block; margin-bottom: 2px; }
.routine-lot-no-horses { grid-column: 1 / -1; padding: 16px; color: var(--muted); text-align: center; font-size: 8px; }
.placement-approval-summary { padding: 13px; border-radius: 14px; display: flex; align-items: center; gap: 11px; color: var(--forest); background: var(--sage); }
.placement-approval-summary > svg { width: 24px; flex: 0 0 auto; }
.placement-approval-summary strong, .placement-approval-summary span { display: block; }
.placement-approval-summary strong { font-size: 11px; }
.placement-approval-summary span { margin-top: 3px; color: var(--muted); font-size: 8px; }
.placement-approval-note { padding: 11px; border: 1px solid #c6dccd; border-radius: 12px; display: flex; align-items: flex-start; gap: 9px; color: #315c40; background: #eff8f1; font-size: 8px; line-height: 1.45; }
.placement-approval-note svg { width: 17px; flex: 0 0 auto; }
.placement-approval-note strong { display: block; margin-bottom: 2px; }
.stable-horse-shortcuts { margin-top: 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.stable-horse-shortcuts > span { margin-right: 2px; color: var(--muted); font-size: 8px; font-weight: 700; }
.stable-horse-shortcuts button { min-height: 32px; padding: 0 10px; border: 1px solid #c9d6cc; border-radius: 9px; display: inline-flex; align-items: center; gap: 4px; color: var(--forest); background: #fff; font-size: 8px; font-weight: 750; cursor: pointer; }
.stable-horse-shortcuts button svg { width: 12px; }
.stable-routine-row { padding: 11px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: 58px 32px minmax(0, 1fr) auto; align-items: center; gap: 9px; background: #fdfdfb; }
.stable-routine-row time { color: var(--forest); font-size: 9px; font-weight: 750; }
.stable-routine-row time small { color: var(--muted); font-size: 7px; }
.stable-routine-row > span { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.stable-routine-row > span svg { width: 15px; }
.stable-routine-row strong { display: block; font-size: 9px; }
.stable-routine-row p { margin: 3px 0 0; color: var(--muted); font-size: 7px; }
.stable-section-empty { min-height: 110px; padding: 18px; border: 1px dashed #d1d6d1; border-radius: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--muted); background: #fafbf8; text-align: center; }
.stable-section-empty strong { color: var(--ink); font-size: 9px; }
.stable-section-empty span { max-width: 420px; font-size: 8px; line-height: 1.5; }
.stable-feeding-panel { margin-top: 16px; }
.stable-feed-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.stable-feed-source { width: fit-content; padding: 4px 6px; border-radius: 6px; color: #52675c; background: #edf1eb; font-size: 7px; font-weight: 750; }
.stable-feed-source.stable { color: #365a6b; background: #e4eff3; }
.stable-feed-row { padding: 12px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(190px, 1fr) minmax(280px, 1.4fr) auto; align-items: center; gap: 13px; }
.stable-feed-row:first-child { border-top: 0; }
.stable-feed-row.low-stock { border-left: 3px solid #c27258; padding-left: 10px; }
.stable-feed-row > div:first-child { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.stable-feed-row strong { overflow: hidden; max-width: 100%; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.stable-feed-row > div:first-child > small { color: var(--muted); font-size: 7px; }
.stable-feed-row.private-feed-summary { grid-template-columns: minmax(190px, 1fr) auto; padding: 13px 12px; border: 1px solid #dfe4df; border-radius: 12px; background: #fafbf9; }
.private-feed-lock { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 700; }
.private-feed-lock svg { width: 14px; }
.private-stock-summary { min-height: 92px; padding: 16px; border: 1px solid #dfe4df; border-radius: 13px; display: flex; align-items: center; gap: 12px; color: var(--muted); background: #fafbf9; }
.private-stock-summary > svg { width: 22px; flex: 0 0 auto; color: var(--forest); }
.private-stock-summary strong, .private-stock-summary span { display: block; }
.private-stock-summary strong { color: var(--ink); font-size: 10px; }
.private-stock-summary span { margin-top: 4px; font-size: 8px; line-height: 1.5; }
.stable-feed-meals { display: flex; flex-wrap: wrap; gap: 6px; }
.stable-feed-meals > span { min-width: 82px; padding: 7px 8px; border-radius: 9px; display: flex; flex-direction: column; gap: 2px; background: #f1f3ef; }
.stable-feed-meals small { color: var(--muted); font-size: 7px; }
.stable-feed-meals b { font-size: 9px; }
.stable-feed-pending-list { display: grid; gap: 8px; }
.stable-feed-pending-list > article { padding: 11px 12px; border: 1px dashed #b8cdbf; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #f7fbf8; }
.stable-feed-pending-list > article > div { min-width: 0; display: grid; gap: 4px; }
.stable-feed-pending-list strong { font-size: 10px; }
.stable-feed-pending-list small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.stable-feed-pending-list button { min-height: 36px; padding: 0 11px; border: 1px solid #aac4b2; border-radius: 9px; color: var(--forest); background: #fff; cursor: pointer; font-size: 8px; font-weight: 750; white-space: nowrap; }
.stable-assignment-note { padding: 11px; border-radius: 10px; color: #5f6c65; background: #f0f2ee; font-size: 8px; }
.stable-feed-selection { padding: 13px; border: 1px solid #c9d9cd; border-radius: 13px; display: grid; gap: 11px; background: #f5faf6; }
.stable-feed-selection[hidden] { display: none; }
.stable-feed-selection > div:first-child strong, .stable-feed-selection > div:first-child span { display: block; }
.stable-feed-selection > div:first-child strong { color: var(--forest); font-size: 10px; }
.stable-feed-selection > div:first-child span { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.stable-supply-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.stable-supply-choice { min-height: 49px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 9px; background: #fff; cursor: pointer; }
.stable-supply-choice:has(input:checked) { border-color: #88aa93; background: #edf6ef; }
.stable-supply-choice input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--forest); }
.stable-supply-choice span { min-width: 0; }
.stable-supply-choice strong, .stable-supply-choice small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stable-supply-choice strong { font-size: 9px; }
.stable-supply-choice small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.stable-supply-empty { padding: 13px; border: 1px dashed #d8bda9; border-radius: 10px; color: #845a42; background: #fff8f1; font-size: 8px; line-height: 1.45; }
.boarding-price-suggestion { margin-top: 6px; display: flex !important; align-items: flex-start; gap: 5px; color: #49715a !important; line-height: 1.4; }
.boarding-price-suggestion svg { width: 13px; flex: 0 0 auto; }

.routine-group-detail { padding: 13px; border: 1px solid #d4e1d6; border-radius: 14px; display: flex; align-items: center; gap: 12px; background: #f5f9f5; }
.routine-group-detail-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.routine-group-detail-icon svg { width: 20px; }
.routine-group-detail > div:last-child { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.routine-group-detail span, .routine-group-detail small { color: var(--muted); font-size: 8px; }
.routine-group-detail strong { font-size: 13px; }
.routine-group-horses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.routine-group-horses button { min-height: 45px; padding: 0 11px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; gap: 8px; color: var(--ink); background: var(--white); cursor: pointer; text-align: left; }
.routine-group-horses button:disabled { cursor: default; opacity: .65; }
.routine-group-horses button svg { width: 15px; flex: 0 0 auto; color: var(--forest); }
.routine-group-horses button svg:last-child { width: 12px; margin-left: auto; color: var(--muted); }
.routine-group-horses button span { overflow: hidden; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.routine-group-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.module-controls { margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.module-controls .filter-search { flex: 1; }
.category-select { height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--white); outline: none; font-size: 10px; }
.module-summary { margin-bottom: 18px; color: var(--muted); font-size: 10px; }
.module-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.module-card { min-height: 150px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); display: flex; flex-direction: column; cursor: pointer; transition: .18s ease; }
.module-card:hover { transform: translateY(-2px); border-color: #bcc9bf; box-shadow: 0 12px 30px rgba(21,59,50,.07); }
.module-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.module-card-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.module-card-icon svg { width: 17px; height: 17px; }
.module-status { padding: 4px 6px; border-radius: 6px; color: #4e7158; background: #e7f1e8; font-size: 7px; }
.module-status.plan { color: #86652e; background: #f7ecd6; }
.module-card h3 { margin: 17px 0 5px; font-size: 12px; line-height: 1.3; }
.module-card p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.module-card small { margin-top: auto; padding-top: 13px; color: #989e9b; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.module-detail-hero { padding: 34px; border-radius: 24px; color: var(--white); background: var(--forest); display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; }
.module-detail-hero .module-card-icon { width: 52px; height: 52px; color: var(--forest); background: var(--sage); }
.module-detail-hero h1 { margin: 20px 0 10px; font-size: 38px; letter-spacing: -.05em; }
.module-detail-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.65; }
.module-phase { padding: 8px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: rgba(255,255,255,.7); font-size: 8px; }
.feature-list { margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.feature-card { min-height: 130px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.feature-card span { width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.feature-card h3 { margin: 14px 0 7px; font-size: 11px; }
.feature-card p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }

.modal { width: min(580px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 22px; background: var(--paper); box-shadow: 0 30px 90px rgba(6,22,18,.28); }
.modal::backdrop, .search-dialog::backdrop { background: rgba(7,25,20,.54); backdrop-filter: blur(4px); }
.modal form { margin: 0; }
.modal-head { padding: 22px 23px 17px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; }
.modal-head h2 { margin: 6px 0 0; font-size: 25px; letter-spacing: -.04em; }
.close-button::before, .close-button::after { content: ""; width: 14px; height: 1.5px; position: absolute; background: var(--ink); transform: rotate(45deg); }
.close-button::after { transform: rotate(-45deg); }
.modal-body { max-height: 65vh; padding: 22px 23px; overflow-y: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.modal-body > .full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.field input, .field select, .field textarea { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--white); outline: none; font-size: 11px; }
.field textarea { min-height: 84px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #91ab9b; box-shadow: 0 0 0 3px rgba(21,59,50,.07); }
.field[hidden], [data-event-time-field][hidden] { display: none; }
.field-help { color: var(--muted); font-size: 7px; }
.event-all-day { min-height: 43px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; gap: 9px; cursor: pointer; }
.event-all-day input { width: 17px; height: 17px; accent-color: var(--forest); }
.event-all-day span { display: flex; flex-direction: column; gap: 2px; }
.event-all-day strong { font-size: 9px; }
.event-all-day small { color: var(--muted); font-size: 7px; }
.modal-section-title { padding-top: 4px; display: flex; flex-direction: column; gap: 3px; }
.modal-section-title:not(:first-child) { margin-top: 6px; padding-top: 15px; border-top: 1px solid var(--line); }
.modal-section-title strong { color: var(--forest); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.modal-section-title span { color: var(--muted); font-size: 8px; }
.modal-feedback { min-height: 48px; padding: 12px 14px; border: 1px solid #e1c2b8; border-radius: 13px; grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 10px; color: #7f3d31; background: #fff1ed; font-size: 9px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.modal-feedback::before { content: "!"; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 8px; display: grid; place-items: center; color: #fff; background: #a54f40; font-size: 12px; font-weight: 900; }
.modal-feedback.success, .modal-feedback[data-kind="success"] { color: #255d41; border-color: #b9d8c4; background: #edf8f0; }
.modal-feedback.success::before, .modal-feedback[data-kind="success"]::before { content: "✓"; background: #397552; }
.modal-feedback[hidden] { display: none !important; }
.horse-location-manual { padding: 13px; border: 1px solid #d7e2da; border-radius: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f5f8f4; }
.horse-location-manual[hidden] { display: none; }
.modal-actions { padding: 16px 23px 22px; display: flex; justify-content: flex-end; gap: 9px; }

.search-dialog { width: min(670px, calc(100vw - 24px)); padding: 0; border: 0; border-radius: 20px; overflow: hidden; background: var(--paper); box-shadow: 0 30px 90px rgba(6,22,18,.28); transform: translateY(-12vh); }
.search-dialog-head { height: 63px; padding: 0 17px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 11px; }
.search-dialog-head svg { width: 21px; color: var(--muted); }
.search-dialog-head input { flex: 1; height: 100%; border: 0; outline: 0; background: transparent; font-size: 15px; }
.key-close { padding: 5px 7px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--white); font-size: 8px; cursor: pointer; }
.search-results { max-height: 420px; padding: 9px; overflow-y: auto; }
.search-empty { padding: 40px 20px; display: flex; flex-direction: column; gap: 7px; color: var(--muted); text-align: center; font-size: 10px; }
.search-empty strong { color: var(--ink); font-size: 12px; }
.search-empty span { line-height: 1.55; }
.search-result { width: 100%; min-height: 54px; padding: 8px 10px; border: 0; border-radius: 11px; display: flex; align-items: center; gap: 10px; background: transparent; cursor: pointer; text-align: left; }
.search-result:hover { background: var(--sage); }
.search-result-icon { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--white); }
.search-result-icon svg { width: 17px; }
.search-result div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.search-result-category { color: var(--clay); font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.search-result strong { font-size: 10px; }
.search-result small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.search-result-arrow { width: 15px; margin-left: auto; flex: 0 0 auto; color: #9aa59f; }

.notification-dialog { width: min(480px, calc(100vw - 24px)); max-height: min(700px, calc(100vh - 32px)); padding: 0; border: 0; border-radius: 22px; overflow: hidden; background: var(--paper); box-shadow: 0 30px 90px rgba(6,22,18,.28); }
.notification-dialog-head { padding: 20px 20px 16px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; }
.notification-dialog-head h2 { margin: 3px 0 0; font-size: 24px; }
.emergency-button { border-color: #e3bcb6; color: #923f38; background: #fff8f6; }
.emergency-button:hover, .emergency-button:focus-visible { border-color: #cf8d84; outline: none; background: #fcece8; }
.emergency-button > span { position: absolute; right: -4px; bottom: -4px; padding: 2px 4px; border: 2px solid var(--paper); border-radius: 7px; color: #fff; background: #a9443b; font-size: 6px; font-weight: 850; letter-spacing: .05em; }
.emergency-dialog { width: min(940px, calc(100vw - 28px)); max-height: min(860px, calc(100vh - 28px)); padding: 0; border: 0; border-radius: 23px; overflow: hidden; color: var(--ink); background: var(--paper); box-shadow: 0 30px 90px rgba(6,22,18,.3); }
.emergency-dialog::backdrop { background: rgba(7,25,20,.58); backdrop-filter: blur(5px); }
.emergency-dialog-head { min-height: 82px; padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: rgba(251,250,246,.96); }
.emergency-dialog-head h2 { margin: 4px 0 0; font-size: 25px; }
.emergency-dialog-head > div:last-child { display: flex; align-items: center; gap: 9px; }
.emergency-content { max-height: calc(min(860px, 100vh - 28px) - 82px); padding: 21px 22px 30px; overflow-y: auto; overscroll-behavior: contain; }
.emergency-warning { padding: 14px 16px; border: 1px solid #e6b7af; border-radius: 15px; display: flex; align-items: flex-start; gap: 12px; color: #7c3731; background: #fff2ef; }
.emergency-warning > svg { width: 22px; height: 22px; flex: 0 0 auto; }
.emergency-warning > div { display: flex; flex-direction: column; gap: 4px; }
.emergency-warning strong { font-size: 11px; }
.emergency-warning span { font-size: 9px; line-height: 1.5; }
.emergency-location { margin: 13px 2px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); }
.emergency-location span { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; font-weight: 720; }
.emergency-location svg { width: 15px; height: 15px; }
.emergency-location small { font-size: 8px; }
.emergency-section + .emergency-section { margin-top: 27px; }
.emergency-section-head { margin-bottom: 11px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.emergency-section-head h3 { margin: 0; font-size: 16px; }
.emergency-section-head p { max-width: 620px; margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.emergency-section-head > span { min-width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.emergency-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.emergency-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 17px; display: flex; flex-direction: column; gap: 11px; background: var(--white); box-shadow: 0 7px 20px rgba(18,47,38,.035); }
.emergency-card.contract { border-color: #b8d0be; background: #fbfefb; }
.emergency-card-head { display: flex; align-items: flex-start; gap: 10px; }
.emergency-card-head > span { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; color: #8d413a; background: #fae9e6; }
.emergency-card.contract .emergency-card-head > span { color: var(--forest); background: var(--sage); }
.emergency-card-head svg { width: 18px; height: 18px; }
.emergency-card-head > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.emergency-card-head small { color: #8c4b44; font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.emergency-card-head strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; }
.emergency-card-head p { margin: 0; color: var(--muted); font-size: 8px; }
.emergency-capability, .emergency-availability { margin: 0; font-size: 9px; line-height: 1.45; }
.emergency-availability { padding: 8px 9px; border-radius: 10px; display: flex; align-items: flex-start; gap: 6px; color: #576d60; background: #f2f6f1; }
.emergency-availability svg { width: 13px; height: 13px; flex: 0 0 auto; }
.emergency-card-actions { margin-top: auto; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 7px; }
.emergency-card-actions a { min-height: 48px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--forest); background: #fff; font-size: 9px; font-weight: 770; text-decoration: none; }
.emergency-card-actions a:hover, .emergency-card-actions a:focus-visible { border-color: #a8bfae; outline: none; background: #f1f6f1; }
.emergency-card-actions a.emergency-call { border-color: #9bb7a3; color: #fff; background: var(--forest); justify-content: flex-start; }
.emergency-card-actions svg { width: 17px; height: 17px; flex: 0 0 auto; }
.emergency-call > span { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.emergency-call small { color: rgba(255,255,255,.65); font-size: 6px; text-transform: uppercase; letter-spacing: .07em; }
.emergency-call strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.emergency-card-foot { min-height: 25px; padding-top: 9px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.emergency-source { color: var(--muted); font-size: 7px; line-height: 1.4; }
a.emergency-source:hover { color: var(--forest); }
.emergency-owner-actions { display: flex; gap: 4px; }
.emergency-owner-actions button { min-height: 30px; padding: 0 7px; border: 0; border-radius: 8px; display: inline-flex; align-items: center; gap: 4px; color: var(--forest); background: var(--sage); cursor: pointer; font-size: 7px; font-weight: 750; }
.emergency-owner-actions button.danger { color: #963d35; background: #fae9e6; }
.emergency-owner-actions svg { width: 12px; height: 12px; }
.emergency-empty-add, .emergency-empty { min-height: 120px; padding: 16px; border: 1px dashed #b8c6bb; border-radius: 16px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--forest); background: rgba(255,255,255,.55); text-align: left; }
.emergency-empty-add { width: 100%; cursor: pointer; }
.emergency-empty-add svg { width: 22px; }
.emergency-empty-add span, .emergency-empty { flex-direction: column; }
.emergency-empty-add strong, .emergency-empty strong { font-size: 10px; }
.emergency-empty-add small, .emergency-empty span { color: var(--muted); font-size: 8px; line-height: 1.4; }
.emergency-directory { min-height: 62px; margin-top: 27px; padding: 12px 14px; border: 1px solid #cdd9cf; border-radius: 15px; display: flex; align-items: center; gap: 10px; color: var(--forest); background: #f3f7f2; text-decoration: none; }
.emergency-directory > svg { width: 20px; height: 20px; flex: 0 0 auto; }
.emergency-directory > svg:last-child { margin-left: auto; width: 16px; }
.emergency-directory span { display: flex; flex-direction: column; gap: 3px; }
.emergency-directory strong { font-size: 10px; }
.emergency-directory small { color: var(--muted); font-size: 8px; }
.emergency-loading, .emergency-error { min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; color: var(--muted); text-align: center; }
.emergency-loading > svg, .emergency-error > svg { width: 34px; height: 34px; color: #9b4840; }
.emergency-loading strong, .emergency-error strong { color: var(--ink); font-size: 12px; }
.emergency-error span { max-width: 420px; font-size: 9px; line-height: 1.5; }
.emergency-form-note { padding: 11px 12px; border: 1px solid #d2ded4; border-radius: 12px; display: flex; align-items: flex-start; gap: 8px; color: #526c5c; background: #f2f7f2; font-size: 8px; line-height: 1.5; }
.emergency-form-note svg { width: 16px; height: 16px; flex: 0 0 auto; }
.notification-list { max-height: min(570px, calc(100vh - 145px)); padding: 9px; overflow-y: auto; }
.notification-item { width: 100%; padding: 6px; border: 0; border-radius: 13px; color: var(--ink); background: transparent; }
.notification-item:hover { background: var(--sage); }
.notification-open { width: 100%; min-height: 54px; padding: 4px; border: 0; display: flex; align-items: center; gap: 11px; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.notification-open > span { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; color: var(--forest); background: var(--white); }
.notification-item.warning .notification-open > span { color: #9c4f30; background: #fff0e8; }
.notification-open > span svg { width: 18px; }
.notification-open > div { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 4px; }
.notification-open strong { font-size: 10px; }
.notification-open small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.notification-open > svg { width: 15px; flex: 0 0 auto; color: #9aa59f; }
.notification-actions { padding: 0 4px 5px 53px; display: flex; gap: 7px; }
.notification-actions button { padding: 5px 8px; border: 1px solid #cfd9d2; border-radius: 7px; color: var(--forest); background: var(--white); cursor: pointer; font-size: 7px; font-weight: 750; }
.notification-actions button:last-child { color: var(--muted); }
.notification-actions button:hover { border-color: #8ea597; }
.notification-empty { padding: 48px 25px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--muted); text-align: center; }
.notification-empty svg { width: 30px; color: var(--forest); }
.notification-empty strong { color: var(--ink); font-size: 12px; }
.notification-empty span { max-width: 300px; font-size: 9px; line-height: 1.55; }

.toast { min-width: 230px; max-width: calc(100vw - 30px); position: fixed; right: 24px; bottom: 24px; z-index: 100; padding: 13px 16px; border-radius: 12px; color: var(--white); background: var(--forest-dark); box-shadow: var(--shadow); font-size: 10px; opacity: 0; pointer-events: none; transform: translateY(12px); transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.bottom-nav, .scrim { display: none; }

.ori-fab { min-width: 82px; height: 58px; padding: 0 15px 0 11px; position: fixed; right: 24px; bottom: 24px; z-index: 68; border: 0; border-radius: 19px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--bone); background: var(--forest); box-shadow: 0 17px 42px rgba(13,40,34,.28); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.ori-fab:hover { transform: translateY(-2px); box-shadow: 0 20px 48px rgba(13,40,34,.34); }
.ori-fab img { color: var(--bone); }
.ori-fab span { font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.ori-backdrop { position: fixed; inset: 0; z-index: 69; background: rgba(7,25,20,.34); backdrop-filter: blur(2px); }
.ori-panel { width: min(430px, calc(100vw - 28px)); max-height: calc(100vh - 114px); position: fixed; right: 22px; bottom: 94px; z-index: 70; border: 1px solid rgba(255,255,255,.66); border-radius: 25px; overflow: hidden; color: var(--ink); background: var(--paper); box-shadow: 0 28px 90px rgba(7,25,20,.28); animation: oriIn .2s ease; }
@keyframes oriIn { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.ori-head { min-height: 75px; padding: 13px 15px 13px 17px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.74); }
.ori-identity { display: flex; align-items: center; gap: 11px; }
.ori-avatar { width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; color: var(--bone); background: var(--forest); }
.ori-avatar img { color: inherit; }
.ori-identity div { display: flex; flex-direction: column; gap: 3px; }
.ori-identity strong { color: var(--forest); font-size: 12px; letter-spacing: .14em; }
.ori-identity small { color: var(--muted); font-size: 8px; }
.ori-body { max-height: calc(100vh - 190px); padding: 21px; overflow-y: auto; }
.ori-welcome h2 { margin: 7px 0 7px; font-size: 25px; letter-spacing: -.045em; }
.ori-welcome > p:not(.kicker) { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.ori-local-status { width: 100%; margin-top: 10px; padding: 0; border: 0; display: flex; align-items: center; gap: 7px; color: #547064; background: transparent; cursor: pointer; text-align: left; }
.ori-local-status span { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #5f8b70; box-shadow: 0 0 0 4px rgba(95,139,112,.12); }
.ori-local-status small { font-size: 8px; }
.ori-local-status b { margin-left: auto; color: var(--forest); font-size: 8px; }
.ori-compose { margin-top: 18px; display: grid; gap: 12px; }
.ori-kinds { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.ori-kinds::-webkit-scrollbar { display: none; }
.ori-kinds button { min-height: 31px; padding: 0 10px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: var(--white); font-size: 8px; font-weight: 700; cursor: pointer; }
.ori-kinds button.active { border-color: var(--forest); color: var(--white); background: var(--forest); }
.ori-role-suggestions { display: grid; gap: 8px; padding: 10px; border: 1px solid #d6dfd8; border-radius: 12px; background: #f7faf7; }
.ori-role-suggestions > div:first-child { display: grid; gap: 2px; }
.ori-role-suggestions > div:first-child strong { color: var(--forest); font-size: 8px; letter-spacing: .04em; }
.ori-role-suggestions > div:first-child small { color: var(--muted); font-size: 7px; line-height: 1.35; }
.ori-role-suggestions > div:last-child { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.ori-role-suggestions > div:last-child::-webkit-scrollbar { display: none; }
.ori-role-suggestions button { min-height: 36px; padding: 7px 9px; flex: 0 0 auto; border: 1px solid #ccd9cf; border-radius: 10px; display: flex; align-items: center; gap: 6px; color: #315446; background: var(--white); cursor: pointer; font-size: 8px; font-weight: 750; text-align: left; }
.ori-role-suggestions button:hover { border-color: #83a08d; background: #edf5ef; }
.ori-role-suggestions button svg { width: 15px; height: 15px; flex: 0 0 auto; color: #557968; }
.ori-horse-label, .ori-text-label { display: grid; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ori-text-label { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.ori-horse-label small, .ori-submit-hint { font-size: 7px; font-weight: 550; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.ori-submit-hint { color: #7d8781; text-align: right; }
.ori-horse-label select, .ori-compose textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--white); outline: none; }
.ori-horse-label select { min-height: 42px; padding: 0 11px; font-size: 10px; }
.ori-compose textarea { min-height: 112px; padding: 12px; resize: vertical; font-size: 11px; line-height: 1.5; }
.ori-horse-label select:focus, .ori-compose textarea:focus { border-color: #91ab9b; box-shadow: 0 0 0 3px rgba(21,59,50,.07); }
.ori-prepare { width: 100%; min-height: 46px; border-radius: 12px; }
.ori-proposal { margin-top: 18px; padding: 16px; border: 1px solid #ceddd1; border-radius: 15px; background: #edf4ee; }
.ori-submitted-prompt { margin: -3px 0 13px; padding: 10px 11px; border: 1px solid rgba(21,59,50,.12); border-radius: 10px; background: rgba(255,255,255,.72); }
.ori-submitted-prompt small { display: block; color: #6d7b74; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.ori-proposal .ori-submitted-prompt p { margin-top: 4px; color: var(--ink); font-size: 9px; white-space: pre-wrap; }
.ori-proposal .proposal-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #4f6d5a; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ori-proposal h3 { margin: 10px 0 6px; font-size: 15px; }
.ori-proposal p { margin: 0; color: #52635b; font-size: 9px; line-height: 1.55; }
.ori-proposal-meta { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.ori-proposal-meta span { padding: 5px 7px; border-radius: 7px; color: var(--forest); background: rgba(255,255,255,.72); font-size: 8px; }
.ori-work-plan { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(21,59,50,.12); }
.ori-work-context { display: grid; gap: 5px; }
.ori-work-context span { padding: 7px 9px; border-radius: 8px; color: #425b4c; background: rgba(255,255,255,.72); font-size: 8px; line-height: 1.4; }
.ori-work-context span.ok { color: #315c42; }
.ori-work-context span.warning { color: #8a493f; background: #f8e5df; }
.ori-work-summary { margin: 12px 0 5px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ori-work-summary strong { font-size: 11px; color: var(--forest); }
.ori-work-summary span { font-size: 9px; font-weight: 800; color: #587062; }
.ori-work-plan ol { margin: 9px 0 0; padding-left: 17px; color: #40564b; font-size: 9px; line-height: 1.5; }
.ori-work-plan li + li { margin-top: 5px; }
.ori-plan-choice { margin-top: 13px; padding: 12px; border: 1px solid #d4c69e; border-radius: 12px; background: #fbf5e6; }
.ori-plan-choice > strong { display: block; color: #5e4a26; font-size: 11px; }
.ori-plan-choice > p { margin-top: 5px; color: #746342; }
.ori-plan-choice > div { margin-top: 10px; display: grid; gap: 7px; }
.ori-choice-card { width: 100%; min-height: 50px; padding: 10px 11px; border: 1px solid #d9d1bc; border-radius: 10px; display: grid; gap: 3px; color: var(--forest); background: rgba(255,255,255,.85); cursor: pointer; text-align: left; }
.ori-choice-card:hover, .ori-choice-card:focus-visible { border-color: #77907f; box-shadow: 0 0 0 3px rgba(21,59,50,.07); outline: none; }
.ori-choice-card.selected { border-color: var(--forest); box-shadow: inset 0 0 0 1px var(--forest); background: #e4eee7; }
.ori-choice-card b { font-size: 9px; }
.ori-choice-card span { color: var(--muted); font-size: 8px; line-height: 1.4; }
.ori-choice-card.risk { border-color: #d9aaa1; color: #82463e; background: #fff6f3; }
.ori-choice-card.risk.selected { border-color: #914f46; box-shadow: inset 0 0 0 1px #914f46; background: #f9e5df; }
.ori-choice-card:disabled { opacity: .6; cursor: wait; }
.ori-override-warning { margin-top: 12px; padding: 10px; border: 1px solid #d9aaa1; border-radius: 10px; color: #7c433b; background: #fff3ef; }
.ori-override-warning strong { font-size: 9px; }
.ori-override-warning p { margin-top: 5px; color: #84554e; }
.ori-ai-insight { margin-top: 12px; padding: 11px; border-radius: 10px; background: rgba(255,255,255,.72); }
.ori-ai-insight strong { display: flex; align-items: center; gap: 6px; color: var(--forest); font-size: 9px; }
.ori-ai-insight strong svg { width: 14px; height: 14px; }
.ori-ai-insight p { margin-top: 7px; color: #304b3e; }
.ori-ai-insight small { display: block; margin-top: 6px; color: #66786f; font-size: 8px; line-height: 1.45; }
.ori-clarification { margin-top: 10px !important; color: #8a6731 !important; }
.ori-proposal-actions { margin-top: 15px; display: flex; gap: 7px; }
.ori-proposal-actions .button { flex: 1; min-height: 41px; border-radius: 10px; }
.ori-reservation-action-preview { margin-top: 13px; padding: 12px; border: 1px solid #bfd2c3; border-radius: 13px; background: rgba(247,252,247,.92); }
.ori-reservation-action-preview.destructive { border-color: #e0b3ad; background: #fff5f3; }
.ori-reservation-action-head { display: flex; align-items: flex-start; gap: 9px; }
.ori-reservation-action-head > svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--forest); }
.ori-reservation-action-preview.destructive .ori-reservation-action-head > svg { color: #a23f37; }
.ori-reservation-action-head > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ori-reservation-action-head small { color: var(--muted); font-size: 6.5px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.ori-reservation-action-head strong { font-size: 10px; }
.ori-reservation-action-head span { color: var(--muted); font-size: 7px; }
.ori-reservation-reason { margin: 10px 0 0; padding: 8px 9px; border-radius: 9px; color: #665c56; background: rgba(255,255,255,.75); font-size: 7.5px; line-height: 1.45; }
.ori-reservation-exact-list { margin-top: 10px; border-top: 1px solid rgba(21,59,50,.11); }
.ori-reservation-exact-list > summary { min-height: 38px; display: flex; align-items: center; color: var(--forest); cursor: pointer; font-size: 8px; font-weight: 780; }
.ori-reservation-preview-row { margin-top: 9px; padding: 9px; border: 1px solid rgba(21,59,50,.1); border-radius: 10px; background: rgba(255,255,255,.78); }
.ori-reservation-preview-row > div { display: flex; flex-direction: column; gap: 2px; }
.ori-reservation-preview-row > div span, .ori-reservation-preview-row > div small { color: var(--muted); font-size: 6.5px; }
.ori-reservation-preview-row > div strong { font-size: 8.5px; }
.ori-reservation-preview-row dl, .ori-closure-preview-facts { margin: 8px 0 0; display: grid; gap: 5px; }
.ori-reservation-preview-row dl > div, .ori-closure-preview-facts > div { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 6px; }
.ori-reservation-preview-row dt, .ori-closure-preview-facts dt { color: var(--muted); font-size: 6.5px; }
.ori-reservation-preview-row dd, .ori-closure-preview-facts dd { margin: 0; font-size: 7px; line-height: 1.4; }
.ori-reservation-preview-row dd b { color: #9b4a42; }
.ori-action-contract-wait { margin: 10px 0 0; padding-top: 9px; border-top: 1px solid rgba(21,59,50,.11); display: flex; align-items: flex-start; gap: 6px; color: #526b5d; font-size: 7px; line-height: 1.45; }
.ori-action-contract-wait svg { width: 13px; height: 13px; flex: 0 0 auto; }
.ori-reservation-action-preview.closure .ori-closure-preview-facts { padding: 9px; border-radius: 9px; background: rgba(255,255,255,.72); }
.ori-dictation-field { position: relative; }
.ori-dictation-field textarea { width: 100%; padding-right: 92px; }
.ori-dictation-field button { min-height: 34px; padding: 0 9px; border: 1px solid #cbd7cd; border-radius: 9px; position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--forest); background: rgba(255,255,255,.92); font: inherit; font-size: 8px; font-weight: 750; cursor: pointer; }
.ori-dictation-field button svg { width: 15px; height: 15px; }
.ori-dictation-field button.listening { color: #8c3f37; border-color: #deb4ad; background: #fff0ed; animation: micPulse 1.1s ease-in-out infinite; }
@keyframes micPulse { 50% { box-shadow: 0 0 0 6px rgba(171,76,64,.09); } }
.ori-event-plan { margin-top: 13px; padding: 13px; border: 1px solid #cddbd0; border-radius: 13px; background: rgba(255,255,255,.72); }
.ori-event-plan > strong { display: flex; align-items: center; gap: 6px; color: var(--forest); font-size: 9px; }
.ori-training-feedback { margin-top: 13px; padding: 13px; border: 1px solid #cddbd0; border-radius: 13px; background: rgba(255,255,255,.74); }
.ori-training-feedback > strong { display: flex; align-items: center; gap: 6px; color: var(--forest); font-size: 9px; }
.ori-training-feedback > strong svg { width: 15px; }
.ori-training-target { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ori-training-target span { color: var(--muted); font-size: 8px; font-weight: 750; }
.ori-training-target b { color: var(--ink); font-size: 9px; text-align: right; }
.ori-training-note { margin-top: 8px; padding: 9px; border-radius: 9px; background: #f1f3ef; }
.ori-training-note.success { background: #eaf4ec; }
.ori-training-note.attention { background: #fbefe7; }
.ori-training-note p { margin-top: 4px; color: #3f5248; }
.ori-training-safety { display: block; margin-top: 9px; color: var(--muted); font-size: 7px; line-height: 1.45; }
.ori-event-plan > strong svg { width: 16px; }
.ori-event-plan > div { margin-top: 10px; display: grid; gap: 7px; }
.ori-event-plan > div > span { display: flex; flex-direction: column; gap: 2px; }
.ori-event-plan small { color: var(--muted); font-size: 7px; }
.ori-event-plan b { color: var(--ink); font-size: 9px; }
.ori-event-choice, .ori-turnout-conflict { margin-top: 10px; padding: 12px; border: 1px solid #d9bd79; border-radius: 13px; background: #fff8e7; }
.ori-event-choice.resolved, .ori-turnout-conflict.resolved { border-color: #b9d0bf; background: #f1f8f2; }
.ori-event-choice.resolved { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ori-event-choice.resolved > div { min-width: 0; display: flex; align-items: center; gap: 8px; }
.ori-event-choice.resolved svg, .ori-choice-heading > svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--forest); }
.ori-event-choice.resolved span { min-width: 0; display: grid; gap: 2px; }
.ori-event-choice.resolved small, .ori-choice-heading small { color: #786530; font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ori-event-choice.resolved strong { font-size: 10px; }
.ori-choice-heading { display: flex; align-items: flex-start; gap: 9px; }
.ori-choice-heading > span { min-width: 0; display: grid; gap: 3px; }
.ori-choice-heading strong { color: var(--ink); font-size: 10px; line-height: 1.35; }
.ori-choice-heading p { color: #716441; font-size: 8px; }
.ori-time-choice { margin-top: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.ori-time-choice label { display: grid; gap: 5px; color: var(--muted); font-size: 7px; font-weight: 750; }
.ori-time-choice input { min-height: 42px; padding: 0 10px; border: 1px solid #cfc5a9; border-radius: 9px; color: var(--ink); background: var(--white); font: inherit; font-size: 10px; }
.ori-time-choice .button { min-height: 42px; }
.ori-time-options { margin-top: 8px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.ori-time-options button { min-height: 38px; border: 1px solid #d6c89e; border-radius: 9px; color: #604f24; background: rgba(255,255,255,.9); font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.ori-time-options button:hover, .ori-time-options button:focus-visible { border-color: var(--forest); outline: 2px solid rgba(21,59,50,.1); }
.ori-all-day-choice { width: 100%; min-height: 42px; margin-top: 8px; justify-content: center; }
.ori-all-day-choice svg { width: 15px; height: 15px; }
.ori-turnout-conflict { border-color: #dfaaa1; background: #fff3ef; }
.ori-turnout-conflict .ori-choice-heading > svg { color: #9b463e; }
.ori-turnout-conflict .ori-choice-heading small { color: #9b463e; }
.ori-turnout-conflict.resolved .ori-choice-heading > svg, .ori-turnout-conflict.resolved .ori-choice-heading small { color: var(--forest); }
.ori-turnout-options { margin-top: 10px; display: grid; gap: 7px; }
.ori-turnout-options button { width: 100%; min-height: 50px; padding: 9px 10px; border: 1px solid #deb7b0; border-radius: 10px; display: grid; gap: 3px; color: #75423b; background: rgba(255,255,255,.88); font: inherit; cursor: pointer; text-align: left; }
.ori-turnout-options button span { display: flex; align-items: center; gap: 5px; }
.ori-turnout-options button svg { width: 13px; height: 13px; }
.ori-turnout-options button strong { font-size: 8.5px; }
.ori-turnout-options button small { color: #80605b; font-size: 7px; line-height: 1.4; }
.ori-turnout-options button.selected { border-color: var(--forest); box-shadow: inset 0 0 0 1px var(--forest); color: var(--forest); background: #eaf4ec; }
.ori-turnout-options button:disabled { opacity: .55; cursor: not-allowed; }
.ori-proposal-actions.blocked .button:disabled { opacity: .68; cursor: not-allowed; }
.ori-equipment-plan { margin-top: 13px; padding: 13px; border: 1px solid #cddbd0; border-radius: 13px; background: rgba(255,255,255,.72); }
.ori-equipment-plan > div:first-child { display: flex; align-items: center; gap: 9px; }
.ori-equipment-plan > div:first-child > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.ori-equipment-plan > div:first-child svg { width: 17px; }
.ori-equipment-plan > div:first-child div { display: flex; flex-direction: column; gap: 2px; }
.ori-equipment-plan small { color: var(--muted); font-size: 7px; }
.ori-equipment-plan strong { font-size: 10px; }
.ori-equipment-plan dl { margin: 11px 0 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ori-equipment-plan dl div { padding: 7px; border-radius: 8px; display: flex; flex-direction: column; gap: 2px; background: #f1f4ef; }
.ori-equipment-plan dt { color: var(--muted); font-size: 7px; }
.ori-equipment-plan dd { margin: 0; color: var(--ink); font-size: 8px; font-weight: 750; }
.ori-saved { text-align: center; }
.ori-saved span { width: 44px; height: 44px; margin: 0 auto 10px; border-radius: 14px; display: grid; place-items: center; color: var(--white); background: var(--forest); }
.ori-saved svg { width: 21px; }
.ori-answer .proposal-label span:first-child { display: inline-flex; align-items: center; gap: 5px; }
.ori-answer .proposal-label svg { width: 13px; height: 13px; }
.ori-answer-summary { color: #304b3e !important; font-size: 10px !important; }
.ori-answer-list { margin-top: 13px; display: grid; gap: 8px; }
.ori-answer-item { padding: 11px; border: 1px solid rgba(21,59,50,.1); border-radius: 11px; background: rgba(255,255,255,.78); }
.ori-answer-item > div { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; }
.ori-answer-item strong { min-width: 0; color: var(--forest); font-size: 9px; overflow-wrap: anywhere; }
.ori-answer-item small { flex: 0 0 auto; color: var(--muted); font-size: 7px; text-align: right; }
.ori-answer-item ul { margin: 7px 0 0; padding-left: 16px; color: #506258; font-size: 8px; line-height: 1.5; }
.ori-answer-item li + li { margin-top: 3px; }
.ori-answer-sources { margin-top: 12px; padding-top: 11px; border-top: 1px solid rgba(21,59,50,.12); }
.ori-answer-sources > small { color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.ori-answer-sources > div { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 5px; }
.ori-answer-sources span { padding: 5px 7px; border-radius: 7px; color: var(--forest); background: rgba(255,255,255,.75); font-size: 7px; }
.ori-answer-safe { margin-top: 11px !important; display: flex; align-items: center; gap: 6px; color: #4d705b !important; font-size: 8px !important; font-weight: 750; }
.ori-answer-safe svg { width: 13px; height: 13px; }

.record-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 16px; }
.record-feed { padding: 7px 20px; }
.record-item { padding: 19px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 13px; }
.record-item:first-child { border-top: 0; }
.record-kind { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.record-kind svg { width: 19px; height: 19px; }
.record-kind.health, .record-kind.incident { color: #88463e; background: #f5dfda; }
.record-kind.training { color: #49677a; background: #e2edf2; }
.record-kind.plan { color: #4c6657; background: #dfece2; }
.record-kind.expense { color: #795d2d; background: #f5ead3; }
.record-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.record-top h3 { margin: 0; font-size: 12px; }
.record-top time { flex: 0 0 auto; color: var(--muted); font-size: 8px; }
.record-content { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; white-space: pre-wrap; }
.record-meta { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.record-meta span { padding: 4px 6px; border-radius: 6px; color: var(--forest); background: var(--sage); font-size: 7px; }
.record-meta .ori-source { color: #785c2d; background: #f5ead3; }
.record-meta .record-edited { color: #49677a; background: #e2edf2; }
.record-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 7px; }
.record-actions button { min-height: 31px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; display: inline-flex; align-items: center; gap: 5px; color: var(--forest); background: var(--white); cursor: pointer; font: inherit; font-size: 8px; font-weight: 720; }
.record-actions button:hover { border-color: #aebfb4; background: var(--sage); }
.record-actions svg { width: 13px; height: 13px; }
.record-aside { padding: 20px; align-self: start; }
.record-aside h3 { margin: 0 0 8px; font-size: 15px; }
.record-aside p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.record-aside .button { width: 100%; margin-top: 16px; justify-content: center; }
.record-types { margin-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.record-types span { padding: 8px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: var(--white); font-size: 8px; }
.record-empty { padding: 70px 24px; text-align: center; }
.record-empty .module-symbol { margin: 0 auto 13px; }
.record-empty h3 { margin: 0; font-size: 18px; }
.record-empty p { max-width: 390px; margin: 8px auto 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.entry-change-note { padding: 14px; border: 1px solid #cddfd2; border-radius: 14px; background: var(--sage); }
.entry-change-note label { display: flex; justify-content: space-between; gap: 12px; color: var(--forest); font-size: 9px; font-weight: 740; }
.entry-change-note label span { color: var(--muted); font-size: 7px; font-weight: 500; }
.entry-change-note textarea { width: 100%; min-height: 80px; margin-top: 7px; padding: 11px; border: 1px solid #bfd1c4; border-radius: 10px; color: var(--ink); background: rgba(255,255,255,.82); font: inherit; font-size: 9px; line-height: 1.5; resize: vertical; }
.entry-sync-note { padding: 11px 13px; border-radius: 11px; display: flex; align-items: center; gap: 8px; color: #4e675b; background: #f1f4ef; font-size: 8px; line-height: 1.45; }
.entry-sync-note svg { width: 16px; height: 16px; flex: 0 0 auto; }
.entry-history-loading, .entry-history-empty { padding: 28px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); background: #fafbf8; font-size: 9px; text-align: center; }
.entry-history-summary { padding: 14px; border-radius: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 11px; background: var(--sage); }
.entry-history-summary strong { display: block; font-size: 11px; }
.entry-history-summary small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.entry-history-list { display: flex; flex-direction: column; }
.entry-history-item { padding: 17px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 11px; }
.entry-history-item:first-child { border-top: 0; }
.entry-history-dot { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; color: var(--white); background: var(--forest); font-size: 8px; font-weight: 800; }
.entry-history-item.created .entry-history-dot { color: var(--forest); background: var(--sage); }
.entry-history-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.entry-history-head strong { font-size: 10px; }
.entry-history-head time { flex: 0 0 auto; color: var(--muted); font-size: 7px; }
.entry-history-item.created p { margin: 5px 0 0; color: var(--muted); font-size: 8px; }
.entry-history-comment, .entry-history-note-only { margin: 8px 0 0; padding: 9px 10px; border-radius: 9px; color: #4b6659; background: var(--sage); font-size: 8px; line-height: 1.45; white-space: pre-wrap; }
.entry-history-change { margin-top: 9px; }
.entry-history-change > strong { color: var(--forest); font-size: 8px; }
.entry-history-change > div { margin-top: 5px; display: grid; grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr); align-items: stretch; gap: 5px; }
.entry-history-change span { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; overflow-wrap: anywhere; background: #fbfcf9; font-size: 8px; line-height: 1.4; }
.entry-history-change small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 6.5px; text-transform: uppercase; letter-spacing: .06em; }
.entry-history-change b { align-self: center; color: var(--muted); font-size: 9px; text-align: center; }

.ori-safety-strip { margin-bottom: 14px; padding: 15px 17px; border: 1px solid #cfe0d3; border-radius: 15px; display: flex; align-items: center; gap: 12px; color: var(--forest); background: #edf5ee; }
.ori-safety-strip > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; color: var(--white); background: var(--forest); }
.ori-safety-strip svg { width: 17px; }
.ori-safety-strip div { flex: 1; }
.ori-safety-strip strong { font-size: 10px; }
.ori-safety-strip p { margin: 3px 0 0; color: #60736a; font-size: 8px; }
.ori-safety-strip small { font-size: 8px; }
.ori-admin-stats { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ori-admin-stats article { min-height: 94px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; display: flex; flex-direction: column; justify-content: space-between; background: var(--white); }
.ori-admin-stats strong { color: var(--forest); font-size: 23px; }
.ori-admin-stats span { color: var(--muted); font-size: 8px; }
.ori-admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; }
.ori-rules-list, .ori-examples { padding: 20px; align-self: start; }
.ori-rule-card { padding: 16px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: start; gap: 12px; }
.ori-rule-card:first-of-type { border-top: 0; }
.ori-rule-card.inactive { opacity: .54; }
.ori-rule-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: var(--forest); background: var(--sage); }
.ori-rule-icon svg { width: 17px; }
.ori-rule-main > div:first-child { display: flex; align-items: center; gap: 8px; }
.ori-rule-main h3 { margin: 0; font-size: 11px; }
.ori-rule-main small { padding: 3px 5px; border-radius: 5px; color: var(--forest); background: var(--sage); font-size: 7px; }
.ori-rule-main p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.ori-rule-terms { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 5px; }
.ori-rule-terms span { padding: 4px 6px; border-radius: 6px; color: #66756e; background: #f1f2ee; font-size: 7px; }
.ori-example { padding: 13px 0; border-top: 1px solid var(--line); }
.ori-example:first-of-type { border-top: 0; }
.ori-example span { color: var(--clay); font-size: 7px; font-weight: 780; text-transform: uppercase; letter-spacing: .08em; }
.ori-example p { margin: 5px 0; font-size: 9px; line-height: 1.45; }
.ori-example time { color: var(--muted); font-size: 7px; }
.ori-empty { padding: 30px 10px; text-align: center; }
.ori-empty strong { font-size: 10px; }
.ori-empty p { margin: 6px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.field textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); font: inherit; resize: vertical; }
.rule-active { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 9px; }

.onboarding-card { margin-bottom: 18px; padding: 24px; border: 1px solid #c9dbcf; border-radius: 22px; display: grid; grid-template-columns: minmax(220px, .9fr) minmax(360px, 1.4fr); gap: 20px 30px; background: linear-gradient(135deg, #f1f6ee, #fffdf8); box-shadow: 0 12px 34px rgba(21,55,43,.06); }
.onboarding-copy h2 { margin: 5px 0 8px; color: var(--forest); font-family: var(--serif); font-size: 24px; }
.onboarding-copy > p:not(.kicker) { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.onboarding-card ol { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.onboarding-card li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; background: rgba(255,255,255,.72); }
.onboarding-card li > span { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; color: var(--muted); background: #eef0ec; font-size: 9px; font-weight: 800; }
.onboarding-card li.active > span { color: white; background: var(--forest); }
.onboarding-card li strong, .onboarding-card li small { display: block; }
.onboarding-card li strong { font-size: 9px; }
.onboarding-card li small { margin-top: 2px; color: var(--muted); font-size: 7.5px; }
.onboarding-actions { grid-column: 1 / -1; display: flex; gap: 8px; }
.onboarding-card.invite-only { grid-template-columns: 1fr 1fr; }

.stable-feeding-groups { display: grid; gap: 14px; }
.stable-feed-horse .stable-feed-row { border-top: 1px solid var(--line); }
.stable-feed-horse .stable-feed-row:first-child { border-top: 0; }
.stable-change-requests { margin-bottom: 14px; }
.stable-change-requests .daily-routine-requests { margin: 0; }
.stable-placement-requests { margin-bottom: 14px; border-color: #bad8c4; background: linear-gradient(135deg, #fff 0%, #f2faf5 100%); }
.stable-placement-list { display: grid; gap: 9px; }
.stable-placement-list > article { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #d5e5da; border-radius: 14px; background: #fff; }
.stable-placement-horse { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--forest); background: #e7f3eb; }
.stable-placement-horse svg { width: 22px; }
.stable-placement-list strong, .stable-placement-list span, .stable-placement-list p, .stable-placement-list small { display: block; }
.stable-placement-list strong { color: var(--forest); font-size: 10px; }
.stable-placement-list span, .stable-placement-list p, .stable-placement-list small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.stable-placement-actions { display: flex; gap: 7px; }
.stable-placement-actions .button { min-height: 34px; padding-inline: 12px; white-space: nowrap; }
.daily-routine-item.override { border-color: #b9d4bf; background: #f3f8f2; }
.daily-routine-requests article small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.routine-proposal-fields { padding: 14px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f7f8f4; }
.routine-proposal-fields[hidden] { display: none; }
.routine-proposal-fields .full { grid-column: 1 / -1; }
.bulk-routine-selection { margin: 0; padding: 14px; border: 1px solid #d8e1d8; border-radius: 14px; background: #f7f9f5; }
.bulk-routine-selection legend { padding: 0 5px; color: var(--ink); font-size: 9px; font-weight: 750; }
.bulk-routine-selection-head { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bulk-routine-selection-head small { color: var(--muted); font-size: 8px; }
.bulk-routine-selection-head button { padding: 6px 8px; border: 1px solid #c7d4ca; border-radius: 8px; color: var(--forest); background: white; cursor: pointer; font: inherit; font-size: 7.5px; font-weight: 750; }
.bulk-routine-selection > div:last-child { max-height: 260px; overflow-y: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.bulk-routine-selection > div:last-child label { min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; background: white; cursor: pointer; }
.bulk-routine-selection input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--forest); }
.bulk-routine-selection label span { min-width: 0; }
.bulk-routine-selection label strong, .bulk-routine-selection label small { display: block; }
.bulk-routine-selection label strong { font-size: 8.5px; }
.bulk-routine-selection label small { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.35; }

.training-rider-context { margin: 0 22px 18px; padding: 16px; border: 1px solid #dfd2b7; border-radius: 15px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; background: #fbf5e8; }
.training-rider-context.completed { border-color: #cadccf; background: #f0f6ef; }
.training-rider-context > span { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: var(--forest); background: white; }
.training-rider-context svg { width: 17px; }
.training-rider-context small, .training-rider-context strong, .training-rider-context p { display: block; }
.training-rider-context small { color: var(--clay); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.training-rider-context strong { margin-top: 3px; font-size: 10px; }
.training-rider-context p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.4; }
.training-rider-context button { min-height: 34px; padding: 0 11px; border: 1px solid #bdcfc2; border-radius: 9px; color: var(--forest); background: white; cursor: pointer; font: inherit; font-size: 8px; font-weight: 750; }
.training-rider-intro { padding: 14px; border-radius: 14px; display: flex; gap: 11px; color: var(--forest); background: var(--sage); }
.training-rider-intro > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: white; background: var(--forest); }
.training-rider-intro strong { font-size: 10px; }
.training-rider-intro p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.training-orientations { margin: 0; padding: 14px; border: 1px solid #d8e1d8; border-radius: 14px; background: #f7f9f5; }
.training-orientations legend { padding: 0 5px; color: var(--ink); font-size: 9px; font-weight: 750; }
.training-orientations > p { margin: 0 0 11px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.training-orientations > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.training-orientations > div label { min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 8px; color: var(--ink); background: white; cursor: pointer; font-size: 8.5px; }
.training-orientations input[type="checkbox"] { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--forest); }
.training-orientation-own { margin-top: 11px; display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr); align-items: center; gap: 10px; color: var(--muted); font-size: 8px; }
.training-orientation-own input { min-width: 0; }
.training-dictation-field .ori-dictation-field { margin-top: 6px; }
.training-dictation-field .ori-dictation-field textarea { min-height: 105px; padding-right: 108px; }
.training-dictation-field [data-training-rider-dictate] { width: auto; min-width: 92px; height: 34px; padding: 0 10px; top: 9px; right: 9px; border-radius: 10px; display: flex; align-items: center; gap: 6px; color: var(--forest); background: var(--sage); font-size: 8px; font-weight: 750; }
.training-dictation-field [data-training-rider-dictate].listening { color: white; background: var(--clay); }
.training-dictation-field [data-training-rider-dictate] svg { width: 14px; height: 14px; }
.training-rider-later { padding: 11px 13px; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #f4f5f1; }
.training-rider-later small { color: var(--muted); font-size: 7.5px; line-height: 1.4; }

.profile-settings-layout { display: grid; grid-template-columns: minmax(230px, 300px) minmax(0, 1fr); gap: 18px; align-items: start; }
.profile-summary-card { padding: 26px; text-align: center; position: sticky; top: 84px; }
.profile-summary-avatar { width: 78px; height: 78px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 25px; background: var(--forest); color: white; font-family: var(--serif); font-size: 27px; }
.profile-summary-card h2 { margin: 0; font-family: var(--serif); font-size: 26px; }
.profile-summary-card > p { margin: 5px 0 22px; color: var(--muted); overflow-wrap: anywhere; }
.profile-summary-card dl { margin: 0; display: grid; gap: 9px; text-align: left; }
.profile-summary-card dl > div { padding: 11px 12px; border-radius: 12px; background: var(--surface-soft); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-summary-card dt { color: var(--muted); font-size: 12px; }
.profile-summary-card dd { margin: 0; font-weight: 750; text-align: right; }
.profile-settings-form { padding: 0; overflow: hidden; }
.settings-section { padding: 25px; display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.4fr); gap: 30px; border-bottom: 1px solid var(--line); }
.settings-section h2 { margin: 2px 0 0; font-family: var(--serif); font-size: 23px; }
.settings-fields { display: grid; gap: 16px; }
.currency-conversion-info { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); display: grid; gap: 5px; }
.currency-conversion-info span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.currency-warning { padding: 12px; border-radius: 12px; background: #fff4df; color: #805c1f; display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.45; }
.currency-warning svg { width: 18px; flex: 0 0 auto; }
.profile-settings-notice { margin: 18px 25px 0; padding: 12px 14px; border-radius: 12px; background: var(--sage); color: var(--forest); }
.profile-settings-notice.error { background: #fff0ec; color: #963f2c; }
.settings-actions { padding: 20px 25px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.settings-actions a { color: var(--muted); font-size: 12px; }

.stable-expense-filters { margin-bottom: 14px; padding: 15px; display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(6, minmax(110px, .7fr)) auto; align-items: end; gap: 10px; }
.stable-expense-filters > label { min-width: 0; display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.stable-expense-filters input, .stable-expense-filters select { width: 100%; min-height: 41px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); outline: none; font: inherit; font-size: 10px; text-transform: none; letter-spacing: 0; }
.stable-expense-filters input:focus, .stable-expense-filters select:focus { border-color: #91ab9b; box-shadow: 0 0 0 3px rgba(21,59,50,.07); }
.stable-expense-filters .stable-expense-search { min-height: 41px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: row; align-items: center; gap: 8px; background: var(--white); }
.stable-expense-search svg { width: 16px; flex: 0 0 auto; color: var(--muted); }
.stable-expense-search input { min-width: 0; padding: 0; border: 0; box-shadow: none; }
.stable-expense-search input:focus { box-shadow: none; }
.stable-expense-reset { min-height: 41px; white-space: nowrap; }
.stable-expense-kpis { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.stable-expense-kpis article { min-height: 118px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; display: flex; flex-direction: column; gap: 7px; background: var(--white); box-shadow: 0 7px 20px rgba(18,47,38,.035); }
.stable-expense-kpis article.income { border-color: #bcd9c4; background: #f1f9f3; }
.stable-expense-kpis article.expense { border-color: #ead8ca; background: #fff9f4; }
.stable-expense-kpis article.balance { border-color: #cbd7dc; background: #f4f8fa; }
.stable-expense-kpis article.unpaid { border-color: #ead2c8; background: #fff7f3; }
.stable-expense-kpis span { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.stable-expense-kpis strong { margin-top: auto; color: var(--forest); font-family: var(--serif); font-size: clamp(18px, 2vw, 25px); line-height: 1.05; }
.stable-expense-kpis article.unpaid strong { color: #984d3b; }
.stable-expense-kpis article.income strong { color: #2d7049; }
.stable-expense-kpis article.expense strong { color: #8a5039; }
.stable-expense-kpis small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.stable-expense-list-panel { padding: 19px; }
.stable-expense-count { min-width: 30px; height: 30px; padding: 0 8px; border-radius: 9px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 9px; font-weight: 800; }
.stable-expense-list { display: grid; }
.stable-expense-row { min-height: 68px; padding: 11px 4px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 135px minmax(160px, 1fr) 95px minmax(105px, auto) minmax(135px, auto); align-items: center; gap: 12px; cursor: pointer; border-radius: 10px; }
.stable-expense-row:first-child { border-top: 0; }
.stable-expense-row:hover, .stable-expense-row:focus-visible { background: var(--surface-soft); outline: none; box-shadow: inset 0 0 0 1px var(--line); }
.stable-expense-row time, .stable-expense-main { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.stable-expense-row time strong, .stable-expense-main strong { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.stable-expense-row time span, .stable-expense-main span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.stable-expense-row > b { color: #8a5039; font-size: 11px; text-align: right; white-space: nowrap; }
.stable-expense-row.income > b { color: #267047; }
.stable-expense-row-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.stable-expense-edit-hint, .stable-expense-payment-done { color: var(--muted); font-size: 8px; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.stable-expense-edit-hint svg, .stable-expense-payment-done svg { width: 13px; }
.stable-expense-payment { min-height: 34px; padding: 7px 9px; border: 1px solid #bcd9c4; border-radius: 9px; color: #286345; background: #eff8f1; display: inline-flex; align-items: center; gap: 5px; font-size: 8px; font-weight: 800; }
.stable-expense-payment svg { width: 13px; }
.stable-expense-state { justify-self: start; padding: 5px 8px; border-radius: 999px; color: #2e6643; background: #e7f3eb; font-size: 7px; font-weight: 800; }
.stable-expense-state.unpaid { color: #934c38; background: #fbe9e2; }
.stable-expense-empty, .stable-expenses-loading { min-height: 210px; padding: 35px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: var(--muted); text-align: center; }
.stable-expense-empty svg { width: 28px; color: #9caf9f; }
.stable-expense-empty strong, .stable-expenses-loading strong { color: var(--ink); font-size: 12px; }
.stable-expense-empty span { font-size: 9px; }

@media (max-width: 1160px) {
  :root { --sidebar: 220px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .horse-grid { grid-template-columns: repeat(2, 1fr); }
  .module-grid { grid-template-columns: repeat(3, 1fr); }
  .stable-modules { grid-template-columns: repeat(3, 1fr); }
  .box-grid { grid-template-columns: repeat(4, 1fr); }
  .stable-expense-filters { grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(120px, 1fr)); }
  .stable-expense-filters .stable-expense-search { grid-column: span 2; }
}

@media (max-width: 900px) {
  :root { --header: 64px; }
  .sidebar { width: 270px; transform: translateX(-100%); transition: transform .22s ease; box-shadow: 18px 0 60px rgba(4,20,15,.2); }
  body.menu-open .sidebar { transform: translateX(0); }
  .scrim { display: block; position: fixed; inset: 0; z-index: 35; background: rgba(7,25,20,.48); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  body.menu-open .scrim { opacity: 1; pointer-events: auto; }
  .app-body { margin-left: 0; }
  .app-header { padding: 0 16px; gap: 10px; }
  .menu-button { display: grid; }
  .mobile-brand { display: flex; align-items: center; gap: 7px; color: var(--forest); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
  .mobile-brand img { color: var(--forest); }
  .search-trigger { margin-left: auto; width: 40px; padding: 0; justify-content: center; }
  .search-label, .search-trigger kbd { display: none; }
  .profile-button > div, .profile-chevron { display: none; }
  .profile-button { min-height: 42px; padding: 2px; }
  .main-content { padding: 28px 18px 96px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .calendar-shell { grid-template-columns: 1fr; }
  .agenda-panel { display: none; }
  .detail-grid { grid-template-columns: 1fr; }
  .module-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-list { grid-template-columns: repeat(2, 1fr); }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-story { display: none; }
  .auth-panel { min-height: 100vh; padding: 30px 22px; }
  .auth-mobile-brand { margin-bottom: 50px; display: flex; align-items: center; gap: 9px; color: var(--forest); font-size: 13px; font-weight: 800; letter-spacing: .2em; }
  .auth-mobile-brand img { color: var(--forest); }
  .record-layout { grid-template-columns: 1fr; }
  .record-aside { order: -1; }
  .ori-admin-layout { grid-template-columns: 1fr; }
  .stable-facility-layout { grid-template-columns: 1fr; }
  .stable-expense-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stable-expense-row { grid-template-columns: 115px minmax(140px, 1fr) 85px auto; }
  .stable-expense-row-actions { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 650px) {
  .nav-order-tools > button { min-height: 44px; font-size: 11px; }
  .nav-order-editor > div { min-height: 50px; font-size: 11px; }
  .nav-order-editor button { width: 44px; height: 44px; }
  .dashboard-next-event { min-height: 48px; }
  .metric-card.clickable { min-height: 112px; }
  .schedule-item { min-height: 58px; grid-template-columns: 47px 8px minmax(0, 1fr) 13px; gap: 8px; }
  .schedule-item .schedule-tag { display: none; }
  .schedule-item > svg { width: 13px; }
  .schedule-item.grouped { padding-inline: 9px; }
  .routine-group-horses { grid-template-columns: 1fr; }
  .routine-group-horses button { min-height: 48px; }
  .routine-group-actions { display: grid; grid-template-columns: 1fr; }
  .routine-group-actions .button { width: 100%; min-height: 44px; justify-content: center; }
  .registration-roles > div { grid-template-columns: 1fr; }
  .registration-roles label:last-child { grid-column: auto; }
  .auth-state .local-mail-button { margin-left: 0; }
  .profile-settings-layout { grid-template-columns: 1fr; }
  .profile-summary-card { position: static; padding: 20px; }
  .profile-summary-avatar { width: 62px; height: 62px; border-radius: 20px; font-size: 22px; }
  .settings-section { padding: 20px 16px; grid-template-columns: 1fr; gap: 16px; }
  .settings-actions { padding: 16px; align-items: stretch; flex-direction: column-reverse; }
  .settings-actions .button { width: 100%; justify-content: center; }
  .app-header { height: 61px; }
  .app-header { padding: 0 9px; gap: 6px; }
  .mobile-brand span { display: none; }
  .header-actions #bellButton { display: grid; }
  .header-actions { gap: 5px; }
  .emergency-button, .header-actions #bellButton { width: 38px; height: 38px; min-width: 38px; }
  .emergency-button > span { display: none; }
  .emergency-dialog { width: 100vw; max-width: 100vw; height: min(94dvh, 900px); max-height: 94dvh; margin: auto 0 0; border-radius: 22px 22px 0 0; }
  .emergency-dialog-head { min-height: 72px; padding: 13px 14px; align-items: flex-start; }
  .emergency-dialog-head h2 { font-size: 22px; }
  .emergency-dialog-head .button { min-width: 44px; min-height: 44px; padding: 0 11px; }
  .emergency-dialog-head .button svg { margin: 0; }
  .emergency-dialog-head .button { font-size: 0; }
  .emergency-content { max-height: calc(94dvh - 72px); padding: 14px 12px calc(25px + env(safe-area-inset-bottom)); }
  .emergency-warning { padding: 12px; }
  .emergency-location { margin: 11px 2px 20px; align-items: flex-start; flex-direction: column; gap: 5px; }
  .emergency-grid { grid-template-columns: 1fr; }
  .emergency-section + .emergency-section { margin-top: 23px; }
  .emergency-section-head h3 { font-size: 15px; }
  .emergency-card { padding: 14px; }
  .emergency-card-actions a { min-height: 50px; }
  .emergency-owner-actions button { min-width: 44px; min-height: 44px; justify-content: center; }
  .emergency-owner-actions button { font-size: 0; }
  .emergency-owner-actions button svg { width: 17px; height: 17px; }
  .emergency-source { font-size: 7.5px; }
  .emergency-directory { min-height: 66px; }
  .notification-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 18px; }
  .profile-menu { width: min(286px, calc(100vw - 28px)); top: calc(100% + 7px); right: -2px; }
  .main-content { padding: 23px 14px 96px; }
  .onboarding-card, .onboarding-card.invite-only { width: 100%; min-width: 0; margin-bottom: 14px; padding: 16px; border-radius: 18px; display: flex; flex-direction: column; gap: 13px; overflow: hidden; }
  .onboarding-copy { min-width: 0; }
  .onboarding-copy h2 { margin: 4px 0 6px; font-size: 22px; line-height: 1.08; overflow-wrap: anywhere; }
  .onboarding-copy > p:not(.kicker) { font-size: 12px; line-height: 1.45; }
  .onboarding-card ol { width: 100%; gap: 6px; }
  .onboarding-card li { min-width: 0; padding: 9px 10px; grid-template-columns: 32px minmax(0, 1fr); gap: 9px; }
  .onboarding-card li > span { width: 32px; height: 32px; }
  .onboarding-card li strong { font-size: 12px; }
  .onboarding-card li small { font-size: 10px; line-height: 1.35; }
  .onboarding-actions { width: 100%; display: grid; grid-template-columns: 1fr; gap: 7px; }
  .onboarding-actions .button { width: 100%; min-width: 0; min-height: 48px; justify-content: center; font-size: 12px; }
  .page-head { align-items: flex-start; margin-bottom: 22px; }
  .page-head h1 { font-size: 35px; }
  .page-head p:not(.kicker) { font-size: 11px; }
  .head-actions .button.secondary { display: none; }
  .button .button-label.optional { display: none; }
  .status-strip { align-items: flex-start; line-height: 1.45; }
  .hero-card { min-height: 310px; padding: 25px 22px; }
  .hero-card h2 { font-size: 35px; }
  .weather-chip { min-width: 65px; }
  .hero-top { flex-direction: column; }
  .weather-overview { width: 100%; }
  .weather-hours { overflow-x: auto; grid-template-columns: repeat(6, minmax(45px, 1fr)); }
  .hero-bottom { align-items: flex-end; }
  .hero-link { display: none; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
  .metric-card { min-height: 125px; padding: 15px; }
  .dashboard-grid { gap: 10px; }
  .panel-pad { padding: 17px; }
  .schedule-item { grid-template-columns: 45px 8px 1fr; gap: 8px; }
  .schedule-tag { display: none; }
  .horse-grid { grid-template-columns: 1fr; gap: 11px; }
  .horse-card, .empty-add-card { min-height: 245px; }
  .horse-art { height: 111px; }
  .filter-search { width: 100%; min-width: 0; }
  .horse-profile-head { align-items: flex-start; padding: 18px; }
  .profile-horse-art { width: 70px; height: 70px; border-radius: 18px; }
  .profile-info h1 { font-size: 25px; }
  .profile-actions { display: none; }
  .tabs-wrap { margin: 12px 0 14px; border: 0; border-radius: 0; overflow: visible; background: transparent; }
  .tabs-wrap .tabs { display: none; }
  .horse-section-switcher { min-height: 64px; padding: 11px 46px 11px 14px; border: 1px solid #cdd8d0; border-radius: 15px; position: relative; display: flex; align-items: center; color: var(--forest); background: var(--white); box-shadow: 0 8px 22px rgba(20,49,40,.06); }
  .horse-section-switcher > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; pointer-events: none; }
  .horse-section-switcher small { color: var(--muted); font-size: 7px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
  .horse-section-switcher strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  .horse-section-switcher select { width: 100%; height: 100%; position: absolute; inset: 0; z-index: 2; opacity: 0; cursor: pointer; }
  .horse-section-switcher svg { width: 17px; height: 17px; position: absolute; right: 16px; transform: rotate(90deg); pointer-events: none; }
  .vitals { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .vital { min-height: 94px; padding: 12px; }
  .vital strong { font-size: 19px; }
  .horse-basic-layout { grid-template-columns: 1fr; }
  .horse-basic-main { padding: 17px; }
  .horse-basic-head { flex-direction: column; }
  .horse-basic-head .button { width: 100%; }
  .horse-info-sections { grid-template-columns: 1fr; }
  .horse-completion { position: static; }
  .horse-tab-panel { padding: 17px; }
  .horse-tab-head { flex-direction: column; }
  .horse-tab-head .button { width: 100%; }
  .horse-tab-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .horse-tab-actions .button { padding-inline: 9px; font-size: 9px; }
  .horse-tab-actions [data-action="add-feed"] { grid-column: 1 / -1; }
  .training-summary-grid { grid-template-columns: 1fr; }
  .training-goal-card { min-height: 0; padding: 17px; flex-direction: column; }
  .training-goal-card time { width: 100%; }
  .training-goal-card.empty button { width: 100%; }
  .training-recommendation { min-height: 0; padding: 16px; }
  .training-section-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .training-event-row { grid-template-columns: 64px 32px minmax(0, 1fr); }
  .training-event-row > button, .training-event-row > .training-event-done, .training-event-row > .training-event-muted { grid-column: 2 / -1; width: 100%; text-align: center; }
  .training-event-row > button { min-height: 36px; }
  .training-feedback-head { flex-direction: column; }
  .training-feedback-actions { width: 100%; display: grid; grid-template-columns: auto 1fr 1fr; }
  .training-feedback-actions button { justify-content: center; }
  .training-feedback-grid { grid-template-columns: 1fr; }
  .horse-task-grid { grid-template-columns: 1fr; }
  .professional-list { grid-template-columns: 1fr; }
  .horse-event-card { grid-template-columns: 52px 7px minmax(0, 1fr) auto; gap: 9px; }
  .horse-event-open > span { display: none; }
  .feed-plan-grid { grid-template-columns: 1fr; }
  .feed-plan-card { padding: 15px; }
  .feed-summary { gap: 6px; }
  .feed-summary > div { min-height: 72px; padding: 10px; }
  .feed-summary strong { font-size: 19px; }
  .feed-meal-row { grid-template-columns: 58px minmax(0, 1fr); }
  .feed-meal-row [data-feed-variable] { grid-column: 2; }
  .feed-url-row { grid-template-columns: 1fr; }
  .feed-url-row .button { width: 100%; justify-content: center; }
  .stock-row { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stock-row > div:first-child, .stock-actions { grid-column: 1 / -1; }
  .stock-actions { flex-direction: row; }
  .blanket-weather-grid, .blanket-grid { grid-template-columns: 1fr; }
  .care-plan-list { grid-template-columns: minmax(0, 1fr); }
  .care-plan-item { width: 100%; min-width: 0; }
  .equipment-grid { grid-template-columns: 1fr; }
  .equipment-summary { grid-template-columns: 1fr 1fr; }
  .equipment-summary > div:last-child { grid-column: 1 / -1; }
  .inventory-card-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .marketplace-hero { min-height: 250px; padding: 23px 20px; align-items: flex-start; flex-direction: column; }
  .marketplace-hero > div > span { width: 42px; height: 42px; }
  .marketplace-hero h2 { font-size: 25px; }
  .marketplace-hero > strong { min-width: 0; text-align: left; }
  .marketplace-controls { align-items: stretch; flex-direction: column; }
  .marketplace-controls label { width: 100%; min-width: 0; }
  .marketplace-controls > div { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
  .marketplace-controls > div button { flex: 0 0 auto; }
  .marketplace-grid { grid-template-columns: 1fr; }
  .marketplace-card { min-height: 310px; }
  .marketplace-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketplace-photo-grid article button { width: 44px; height: 44px; top: 6px; right: 6px; }
  .marketplace-price-note, .marketplace-photo-field > label small, .marketplace-photo-grid > p, .marketplace-inline-error p { font-size: 12px; }
  .marketplace-inline-error strong { font-size: 14px; }
  .marketplace-section-head { align-items: flex-start; }
  .marketplace-own-row { grid-template-columns: 40px minmax(0, 1fr) auto; align-items: start; }
  .marketplace-own-edit { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .marketplace-own-actions { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .marketplace-own-actions button { min-width: 0; height: auto; padding: 7px 6px; line-height: 1.25; }
  .marketplace-own-actions button:only-child { grid-column: 1 / -1; }
  .community-summary { gap: 6px; }
  .community-summary > div { min-height: 65px; padding: 10px 8px; grid-template-columns: 25px auto; column-gap: 6px; }
  .community-summary svg { width: 15px; }
  .community-summary strong { font-size: 16px; }
  .community-summary span { grid-column: 1 / -1; padding-left: 2px; }
  .community-layout { min-height: 520px; height: auto; grid-template-columns: 1fr; }
  .community-sidebar { max-height: none; overflow: visible; }
  .community-user-search { border-radius: 15px 15px 0 0; }
  .community-page:not(.chat-open) .community-chat-panel { display: none; }
  .community-page.chat-open > .page-head, .community-page.chat-open > .community-summary, .community-page.chat-open > .community-load-error { display: none; }
  .community-page.chat-open .community-sidebar { display: none; }
  .community-page.chat-open .community-layout { min-height: 420px; height: calc(100dvh - 181px); }
  .community-page.chat-open .community-chat-panel { height: 100%; }
  .community-chat-back { min-height: 31px; padding: 0 7px; border: 0; border-radius: 8px; display: inline-flex; align-items: center; gap: 3px; color: var(--forest); background: #e8efe9; cursor: pointer; font: inherit; font-size: 7px; font-weight: 800; }
  .community-chat-back svg { width: 14px; }
  .community-chat-panel > header { min-height: 58px; padding: 8px; gap: 7px; }
  .community-chat-panel > header .community-avatar { width: 32px; height: 32px; }
  .community-messages { padding: 13px 10px; }
  .community-message > div { max-width: 86%; padding: 9px 10px 7px; }
  .community-message p { font-size: 9.5px; }
  .community-chat-form { padding: 8px; grid-template-columns: minmax(0, 1fr) 40px; }
  .community-chat-form textarea { min-height: 41px; font-size: 16px; }
  .community-chat-form button { width: 40px; min-height: 40px; padding: 0; justify-content: center; }
  .community-chat-form button span { display: none; }
  .community-search-result { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .expense-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expense-row { grid-template-columns: 72px minmax(0, 1fr); }
  .expense-row > b { grid-column: 2; }
  .ori-feed-restock-grid, .ori-new-feed { grid-template-columns: 1fr; }
  .ori-new-feed .button { grid-column: auto; }
  .horse-analytics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .horse-entry-top { align-items: flex-start; flex-direction: column; gap: 3px; }
  .task-layout { grid-template-columns: 1fr; }
  .task-column { min-height: auto; }
  .week-grid { overflow-x: auto; grid-template-columns: repeat(7, 85px); }
  .calendar-page .head-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .calendar-page .head-actions .button { min-width: 0; padding-inline: 9px; display: inline-flex; justify-content: center; font-size: 8px; }
  .calendar-view-switch-wrap { justify-content: stretch; }
  .calendar-view-switch { width: 100%; }
  .calendar-view-switch button { min-width: 0; flex: 1; justify-content: center; }
  .calendar-main { padding: 12px; overflow: hidden; }
  .calendar-toolbar { align-items: flex-start; gap: 10px; }
  .calendar-toolbar h2 { max-width: 135px; font-size: 16px; line-height: 1.15; }
  .calendar-timeline-scroll { max-height: 66vh; scroll-snap-type: x proximity; scrollbar-gutter: auto; }
  .calendar-timeline-scroll.compact-facility-timeline { max-height: 62vh; }
  .calendar-timeline { min-width: 820px; grid-template-columns: 48px repeat(7, minmax(108px, 1fr)); }
  .calendar-timeline.three-day { width: 100%; min-width: max(100%, 306px); grid-template-columns: 48px repeat(3, minmax(86px, 1fr)); }
  .timeline-day { scroll-snap-align: start; }
  .timeline-all-day-label { padding-inline: 4px; font-size: 6px; }
  .calendar-month { scroll-snap-type: x proximity; }
  .month-weekdays, .month-grid { min-width: 700px; }
  .month-cell { min-height: 105px; scroll-snap-align: start; }
  .day-column { min-height: 400px; }
  .day-add-hint { opacity: .7; }
  .stable-hero { min-height: 300px; padding: 26px 22px; }
  .stable-hero h2 { font-size: 34px; }
  .stable-operation-grid { grid-template-columns: 1fr; }
  .stable-facility-card { grid-template-columns: 38px minmax(0, 1fr); align-items: start; }
  .stable-facility-icon { width: 38px; height: 38px; }
  .stable-facility-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
  .stable-facility-actions b { grid-column: 1 / -1; }
  .stable-facility-actions button { width: 100%; }
  .stable-reservation-row { grid-template-columns: 58px minmax(0, 1fr); }
  .stable-reservation-actions { grid-column: 2; }
  .stable-reservation-actions button { flex: 1; }
  .facility-toggle-grid { grid-template-columns: 1fr; }
  .reservation-policy-panel .panel-head { align-items: stretch; flex-direction: column; }
  .reservation-policy-panel .panel-head button { width: 100%; justify-content: center; }
  .reservation-policy-overview { grid-template-columns: 1fr 1fr; }
  .reservation-policy-overview > div { min-height: 100px; }
  .reservation-policy-options, .reservation-scope-options { grid-template-columns: 1fr; }
  .reservation-policy-option, .reservation-policy-option.compact { min-height: 0; }
  .reservation-policy-recommendation { grid-template-columns: 1fr; }
  .reservation-policy-recommendation p { grid-column: auto; }
  .facility-closure-card { grid-template-columns: 34px minmax(0, 1fr); align-items: start; }
  .facility-closure-icon { width: 34px; height: 34px; }
  .facility-closure-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facility-closure-actions button { min-height: 44px; justify-content: center; }
  .closure-weekday-picker > div { gap: 3px; }
  .closure-weekday-picker label { min-height: 44px; }
  .reservation-relocation-warning button { width: 100%; min-height: 44px; justify-content: center; }
  .facility-reservation-inline-error { padding: 14px; }
  .facility-reservation-inline-error > svg { width: 22px; height: 22px; }
  .facility-reservation-inline-error strong { font-size: 16px; }
  .facility-reservation-inline-error p { margin-top: 6px; font-size: 14px; line-height: 1.45; }
  .modal .field input, .modal .field select, .modal .field textarea { min-height: 44px; }
  .modal-actions .button { min-height: 44px; }
  .facility-calendar-controls { grid-template-columns: 1fr; align-items: stretch; }
  .facility-filter-list { max-height: 112px; overflow: auto; }
  .facility-calendar-controls .calendar-view-switch { width: 100%; }
  .facility-booking-rules { grid-template-columns: 1fr; }
  .facility-reservation-facts { grid-template-columns: 1fr; }
  .facility-reservation-detail { align-items: flex-start; }
  .facility-reservation-detail-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .facility-reservation-detail-actions .button { width: 100%; justify-content: center; }
  .box-section-group > header { align-items: flex-start; }
  .box-section-meta { align-items: flex-end; flex-direction: column; }
  .box-section-delete span { display: none; }
  .stable-delete-zone { align-items: stretch; flex-direction: column; }
  .stable-delete-zone .button { width: 100%; }
  .stable-unassigned { align-items: flex-start; flex-wrap: wrap; }
  .stable-unassigned button { width: 100%; }
  .stable-placement-list > article { grid-template-columns: 38px minmax(0, 1fr); align-items: start; }
  .stable-placement-horse { width: 38px; height: 38px; }
  .stable-placement-actions { grid-column: 1 / -1; }
  .stable-placement-actions .button { flex: 1; }
  .stable-routine-row { grid-template-columns: 52px 30px minmax(0, 1fr); }
  .stable-routine-row button { grid-column: 2 / -1; width: 100%; }
  .stable-routine-group > summary { grid-template-columns: 50px 30px minmax(0, 1fr) 17px; padding: 10px; }
  .stable-routine-horses { grid-template-columns: 1fr; }
  .stable-routine-group-actions { align-items: stretch; flex-direction: column; }
  .stable-routine-group-actions button { justify-content: center; }
  .routine-lots-panel .panel-head { align-items: stretch; flex-direction: column; }
  .routine-lots-panel .panel-head button { min-height: 44px; justify-content: center; }
  .routine-lot-grid { grid-template-columns: 1fr; }
  .routine-lot-card { padding: 13px; }
  .routine-lot-card header { grid-template-columns: 38px minmax(0, 1fr); }
  .routine-lot-card header > b { grid-column: 2; justify-self: start; }
  .routine-lot-card dl { grid-template-columns: 1fr 1fr; }
  .routine-lot-card dl div:last-child { grid-column: 1 / -1; }
  .routine-lot-card footer { display: grid; grid-template-columns: 1fr 1fr; }
  .routine-lot-card footer button { min-height: 44px; justify-content: center; }
  .routine-lot-selection > p { font-size: 11px; }
  .routine-lot-selection > div:last-child { grid-template-columns: 1fr; }
  .routine-lot-horse-choice { min-height: 52px; align-items: center; }
  .routine-lot-horse-choice strong { font-size: 13px; }
  .routine-lot-horse-choice small { font-size: 10px; }
  .routine-lot-transfer-note { font-size: 11px; }
  .placement-approval-summary strong { font-size: 14px; }
  .placement-approval-summary span, .placement-approval-note { font-size: 11px; }
  .stable-feed-selection { padding: 12px; }
  .stable-feed-selection > div:first-child strong { font-size: 14px; }
  .stable-feed-selection > div:first-child span, .stable-supply-empty { font-size: 11px; }
  .stable-supply-choice-grid { grid-template-columns: 1fr; }
  .stable-supply-choice { min-height: 52px; }
  .stable-supply-choice strong { font-size: 13px; }
  .stable-supply-choice small { font-size: 10px; }
  .stable-supply-choice input { width: 20px; height: 20px; }
  .stable-feeding-panel .panel-head { align-items: flex-start; flex-direction: column; }
  .stable-feed-legend { justify-content: flex-start; }
  .stable-feed-row { grid-template-columns: 1fr; }
  .stable-feed-row > button { width: 100%; }
  .stable-feed-row.private-feed-summary { grid-template-columns: 1fr; gap: 9px; }
  .private-feed-lock { min-height: 30px; }
  .private-stock-summary { align-items: flex-start; }
  .private-stock-summary strong { font-size: 14px; }
  .private-stock-summary span { font-size: 11px; }
  .stable-feed-meals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stable-feed-meals > span { min-width: 0; }
  .stable-feed-pending-list > article { align-items: stretch; flex-direction: column; }
  .stable-feed-pending-list strong { font-size: 13px; }
  .stable-feed-pending-list small { font-size: 10px; white-space: normal; }
  .stable-feed-pending-list button { min-height: 44px; font-size: 11px; }
  .stable-horse-shortcuts { align-items: stretch; }
  .stable-horse-shortcuts > span { width: 100%; }
  .stable-horse-shortcuts button { flex: 1 1 125px; justify-content: center; }
  .stable-expenses-page .page-head { display: grid; grid-template-columns: 1fr; }
  .stable-expenses-page .head-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .stable-expenses-page .head-actions .button.secondary { display: inline-flex; }
  .stable-expenses-page .head-actions .button { min-height: 46px; padding-inline: 10px; justify-content: center; font-size: 9px; }
  .stable-expense-filters { padding: 13px; grid-template-columns: 1fr 1fr; gap: 10px; }
  .stable-expense-filters .stable-expense-search { grid-column: 1 / -1; min-height: 46px; }
  .stable-expense-filters input, .stable-expense-filters select { min-height: 46px; font-size: 16px; }
  .stable-expense-filters > label:nth-of-type(n+4) { grid-column: 1 / -1; }
  .stable-expense-reset { min-height: 44px; grid-column: 1 / -1; justify-content: center; }
  .stable-expense-kpis { gap: 8px; }
  .stable-expense-kpis article { min-height: 120px; padding: 14px; }
  .stable-expense-kpis strong { font-size: 19px; overflow-wrap: anywhere; }
  .stable-expense-kpis small { font-size: 9px; }
  .stable-expense-list-panel { padding: 14px; }
  .stable-expense-row { padding: 13px 1px; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .stable-expense-row time { grid-column: 1; }
  .stable-expense-main { grid-column: 1; grid-row: 2; }
  .stable-expense-row > b { grid-column: 2; grid-row: 1; align-self: start; font-size: 13px; }
  .stable-expense-state { grid-column: 2; grid-row: 2; align-self: start; min-height: 28px; display: inline-flex; align-items: center; }
  .stable-expense-row time strong, .stable-expense-main strong { font-size: 13px; }
  .stable-expense-row time span, .stable-expense-main span { font-size: 11px; white-space: normal; }
  .box-grid { grid-template-columns: repeat(3, 1fr); }
  .stable-modules { grid-template-columns: repeat(2, 1fr); }
  .module-controls { flex-direction: column; align-items: stretch; }
  .module-controls .filter-search { width: 100%; }
  .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .module-card { min-height: 155px; padding: 14px; }
  .module-card h3 { font-size: 11px; }
  .module-detail-hero { padding: 26px 22px; grid-template-columns: 1fr; }
  .module-detail-hero h1 { font-size: 32px; }
  .feature-list { grid-template-columns: 1fr; }
  .modal-body { grid-template-columns: 1fr; }
  .modal .field input, .modal .field select, .modal .field textarea { font-size: 16px; }
  .field.full { grid-column: auto; }
  .modal-body > .full { grid-column: auto; }
  .horse-location-manual, .box-create-batch, .stable-restock-new-fields, .stable-restock-package-fields { grid-template-columns: 1fr; }
  .stable-restock-new-fields > .full { grid-column: auto; }
  .bulk-routine-selection-head { align-items: stretch; flex-direction: column; }
  .bulk-routine-selection > div:last-child { grid-template-columns: 1fr; }
  .training-orientations > div, .training-orientation-own { grid-template-columns: 1fr; }
  .training-orientation-own input { font-size: 16px; }
  .box-range-preview { grid-column: auto; }
  .box-edit-occupancy { align-items: stretch; flex-direction: column; }
  .box-edit-occupancy .button { justify-content: center; }
  .bottom-nav { height: 72px; padding: 6px max(8px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); position: fixed; inset: auto 0 0; z-index: 32; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5, 1fr); background: rgba(251,250,246,.96); backdrop-filter: blur(18px); }
  .bottom-nav a { border-radius: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #8c9490; font-size: 7px; font-weight: 650; position: relative; }
  .bottom-nav svg { width: 19px; height: 19px; }
  .bottom-nav a.active { color: var(--forest); background: var(--sage); }
  .toast { right: 14px; bottom: 86px; }
  .ori-fab { min-width: 58px; height: 54px; right: 13px; bottom: 84px; padding: 0; border-radius: 18px; }
  .ori-fab span { display: none; }
  .ori-panel { width: 100%; max-height: min(88vh, 760px); inset: auto 0 0; border: 0; border-radius: 25px 25px 0 0; }
  .ori-body { max-height: calc(min(88vh, 760px) - 74px); padding: 18px 17px calc(22px + env(safe-area-inset-bottom)); }
  .ori-text-label { grid-template-columns: 1fr; gap: 3px; }
  .ori-submit-hint { text-align: left; }
  .ori-head { padding-left: 17px; }
  .ori-event-choice, .ori-turnout-conflict { padding: 14px; }
  .ori-choice-heading small, .ori-event-choice.resolved small { font-size: 12px; }
  .ori-choice-heading strong, .ori-event-choice.resolved strong { font-size: 15px; }
  .ori-choice-heading p, .ori-turnout-options button small { font-size: 14px; }
  .ori-time-choice { grid-template-columns: 1fr; }
  .ori-time-choice label { font-size: 13px; }
  .ori-time-choice input, .ori-time-choice .button, .ori-time-options button, .ori-all-day-choice, .ori-event-choice.resolved .button { min-height: 44px; font-size: 16px; }
  .ori-time-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ori-turnout-options button { min-height: 58px; padding: 11px 12px; }
  .ori-turnout-options button strong { font-size: 15px; }
  .ori-proposal-actions.blocked { flex-direction: column; }
  .ori-proposal-actions.blocked .button { min-height: 44px; }
  body.ori-open .bottom-nav { transform: translateY(100%); }
  .record-feed { padding: 3px 16px; }
  .record-item { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
  .record-kind { width: 38px; height: 38px; border-radius: 12px; }
  .record-actions button { flex: 1; justify-content: center; }
  .entry-history-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .entry-history-change > div { grid-template-columns: 1fr; }
  .entry-history-change b { display: none; }
  .record-aside { padding: 17px; }
  .ori-admin-stats { grid-template-columns: 1fr 1fr; }
  .ori-admin-stats article:last-child { grid-column: auto; min-height: 94px; }
  .ori-rules-list, .ori-examples { padding: 16px; }
  .ori-rule-card { grid-template-columns: 36px minmax(0, 1fr); }
  .ori-rule-card > .text-button { grid-column: 2; justify-self: start; }
  .daily-routine-note { margin: 0 15px 14px; }
  .daily-routine-columns { padding: 0 15px; grid-template-columns: 1fr; gap: 22px; }
  .daily-routine-section-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .daily-routine-item { grid-template-columns: 52px 32px minmax(0, 1fr); }
  .daily-routine-item > button, .daily-routine-lock { grid-column: 3; justify-self: start; }
  .daily-routine-requests { margin: 18px 15px 0; }
  .daily-routine-requests article { align-items: flex-start; flex-direction: column; }
}

.staff-week-toolbar { margin-bottom: 14px; padding: 12px 16px; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 10px; }
.staff-week-toolbar > button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 12px; color: var(--forest); background: var(--white); font-size: 23px; }
.staff-week-toolbar > div { display: grid; place-items: center; gap: 4px; text-align: center; }
.staff-week-toolbar strong { font-family: var(--serif); font-size: 18px; }
.staff-week-toolbar div button { border: 0; color: var(--muted); background: transparent; font-size: 10px; text-decoration: underline; }
.staff-filter-panel { margin-bottom: 14px; padding: 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.staff-filter-panel > div:first-child { display: grid; gap: 3px; }
.staff-filter-panel > div:first-child span { color: var(--muted); font-size: 10px; }
.staff-filter-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.staff-filter-list label { min-height: 36px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; display: inline-flex; align-items: center; gap: 7px; color: var(--ink); background: var(--white); font-size: 10px; font-weight: 750; }
.staff-filter-list input { width: 17px; height: 17px; accent-color: var(--forest); }
.staff-workload-grid { margin-bottom: 8px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.staff-workload-grid article { min-height: 114px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); display: flex; flex-direction: column; gap: 5px; }
.staff-workload-grid article.above_average { border-color: #e5c4b6; background: #fff7f3; }
.staff-workload-grid article.below_average { border-color: #d8dfe2; background: #f6f9fa; }
.staff-workload-grid span, .staff-workload-grid small, .staff-workload-grid p { color: var(--muted); font-size: 9px; line-height: 1.4; }
.staff-workload-grid strong { margin-top: auto; color: var(--forest); font-family: var(--serif); font-size: 22px; }
.staff-workload-grid p { margin: 2px 0 0; color: #944b38; }
.staff-average { margin: 0 0 14px; color: var(--muted); font-size: 10px; text-align: right; }
.staff-schedule-panel { margin-bottom: 14px; padding: 12px; overflow-x: auto; }
.staff-week-grid { min-width: 850px; display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); gap: 8px; }
.staff-day { min-height: 250px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); overflow: hidden; }
.staff-day.today { border-color: #94b09e; box-shadow: inset 0 0 0 1px #b6cdbc; }
.staff-day header { min-height: 52px; padding: 9px 10px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 5px; background: var(--white); }
.staff-day header span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.staff-day header strong { color: var(--forest); font-size: 11px; }
.staff-day > div { padding: 8px; display: grid; gap: 7px; }
.staff-shift { width: 100%; min-height: 76px; padding: 9px; border: 1px solid #cbd9cf; border-radius: 11px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; color: var(--ink); background: #f1f8f3; text-align: left; }
.staff-shift:hover, .staff-shift:focus-visible { border-color: var(--forest); outline: none; }
.staff-shift.completed { background: #eef5fa; border-color: #cbdbe5; }
.staff-shift.cancelled { opacity: .58; text-decoration: line-through; }
.staff-shift time { color: var(--forest); font-size: 10px; font-weight: 850; }
.staff-shift strong { font-size: 10px; }
.staff-shift small, .staff-day-empty { color: var(--muted); font-size: 8px; line-height: 1.35; }
.staff-day-empty { padding: 8px 3px; display: block; text-align: center; }
.staff-leave-panel { padding: 18px; }
.staff-leave-list { display: grid; gap: 8px; }
.staff-leave-row { padding: 13px; border: 1px solid var(--line); border-radius: 13px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; }
.staff-leave-row > div:first-child { display: grid; gap: 4px; }
.staff-leave-row span, .staff-leave-row p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.staff-leave-row > b { padding: 5px 8px; border-radius: 999px; color: #805c1f; background: #fff4df; font-size: 8px; }
.staff-leave-row.approved > b { color: #286345; background: #e7f3eb; }
.staff-leave-row.rejected > b { color: #934c38; background: #fbe9e2; }
.staff-leave-row > div:last-child { display: flex; gap: 7px; }
.staff-leave-row .button { min-height: 36px; padding: 7px 10px; font-size: 8px; }
.staff-empty, .staff-schedule-loading { min-height: 130px; padding: 25px; display: grid; place-items: center; gap: 9px; color: var(--muted); text-align: center; }
.staff-shift-detail, .staff-leave-note, .boarding-adjustment-intro, .boarding-preview-summary, .finance-period-payment-note { padding: 14px; border: 1px solid var(--line); border-radius: 14px; display: flex; align-items: flex-start; gap: 10px; background: var(--surface-soft); }
.staff-shift-detail svg, .staff-leave-note svg, .boarding-adjustment-intro svg, .boarding-preview-summary svg, .finance-period-payment-note svg { width: 19px; flex: 0 0 auto; color: var(--forest); }
.staff-shift-detail > div, .boarding-adjustment-intro > div, .boarding-preview-summary > div, .finance-period-payment-note > div { display: grid; gap: 5px; }
.staff-shift-detail span, .staff-shift-detail p, .staff-leave-note span, .boarding-adjustment-intro span, .boarding-preview-summary span, .finance-period-payment-note span { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.boarding-horse-selection { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.boarding-horse-selection legend { padding: 0 6px; font-weight: 800; }
.boarding-horse-selection > p { margin: 0 0 10px; color: var(--muted); font-size: 10px; }
.boarding-horse-selection > div { max-height: 300px; overflow-y: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.boarding-horse-selection label { min-height: 48px; padding: 9px; border: 1px solid var(--line); border-radius: 11px; display: flex; align-items: center; gap: 9px; }
.boarding-horse-selection input { width: 19px; height: 19px; accent-color: var(--forest); }
.boarding-horse-selection label span { display: grid; gap: 3px; }
.boarding-horse-selection small { color: var(--muted); font-size: 9px; }
.boarding-preview-totals { display: flex; flex-wrap: wrap; gap: 8px; }
.boarding-preview-totals > span { flex: 1 1 180px; padding: 12px; border-radius: 12px; background: var(--surface-soft); display: grid; gap: 4px; }
.boarding-preview-totals small { color: var(--muted); font-size: 9px; }
.boarding-preview-list { max-height: 310px; overflow-y: auto; display: grid; gap: 6px; }
.boarding-preview-list article { min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.boarding-preview-list span { font-weight: 750; }
.boarding-preview-skipped { padding: 11px; border-radius: 11px; color: #805c1f; background: #fff4df; display: flex; gap: 8px; }
.boarding-preview-skipped svg { width: 17px; }
.boarding-preview-actions { display: flex; justify-content: flex-end; gap: 9px; }
.expense-row.editable { cursor: pointer; border-radius: 10px; }
.expense-row.editable:hover, .expense-row.editable:focus-visible { background: var(--surface-soft); outline: none; }
.staff-work-metrics { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.staff-duty-strip { margin-bottom: 14px; display: grid; gap: 8px; }
.staff-duty-card { min-height: 88px; padding: 14px 16px; border: 1px solid #bdd2c3; border-radius: 16px; display: grid; grid-template-columns: 42px minmax(0, 1fr) 18px; align-items: center; gap: 12px; color: var(--ink); background: #eff8f1; text-align: left; }
.staff-duty-card.empty { border-color: var(--line); background: var(--surface-soft); }
.staff-duty-card > span { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--white); }
.staff-duty-card > span svg, .staff-duty-card > svg { width: 18px; }
.staff-duty-card > div { display: grid; gap: 3px; }
.staff-duty-card small, .staff-duty-card p { margin: 0; color: var(--muted); font-size: 10px; }
.staff-duty-card strong { font-family: var(--serif); font-size: 19px; }
.staff-work-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.staff-work-layout > article:last-child { grid-column: 1 / -1; }
.staff-work-task-list, .staff-horse-list, .staff-maintenance-list { display: grid; gap: 7px; }
.staff-work-task, .staff-horse-card, .staff-maintenance-card { width: 100%; min-height: 64px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: auto minmax(0, 1fr) 16px; align-items: center; gap: 10px; color: var(--ink); background: var(--white); text-align: left; }
.staff-work-task:hover, .staff-horse-card:hover, .staff-maintenance-card:hover { background: var(--surface-soft); }
.staff-work-task > div, .staff-horse-card > div, .staff-maintenance-card > div { min-width: 0; display: grid; gap: 4px; }
.staff-work-task strong, .staff-horse-card strong, .staff-maintenance-card strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.staff-work-task small, .staff-horse-card small, .staff-maintenance-card small { color: var(--muted); font-size: 9px; }
.staff-work-task > svg, .staff-horse-card > svg, .staff-maintenance-card > svg { width: 16px; color: var(--muted); }
.staff-work-task .priority { padding: 5px 7px; border-radius: 999px; color: #805c1f; background: #fff4df; font-size: 7px; font-weight: 800; }
.staff-horse-avatar { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: var(--sage); font-size: 11px; font-weight: 850; }
.staff-maintenance-card time { color: var(--forest); font-size: 10px; font-weight: 850; }
.staff-routine-lots-panel { grid-column: 1 / -1; }
.staff-routine-priority { margin-bottom: 14px; }
.staff-duty-strip.embedded { margin: 0; }
.staff-routine-lot-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; }
.staff-routine-lot { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); overflow: hidden; }
.staff-routine-lot.completed { opacity: .7; }
.staff-routine-lot > summary { min-height: 61px; padding: 11px; display: grid; grid-template-columns: auto minmax(0, 1fr) 15px; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.staff-routine-lot > summary::-webkit-details-marker { display: none; }
.staff-routine-lot > summary time { color: var(--forest); font-size: 10px; font-weight: 850; }
.staff-routine-lot > summary div { min-width: 0; display: grid; gap: 3px; }
.staff-routine-lot > summary strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.staff-routine-lot > summary small { color: var(--muted); font-size: 8px; }
.staff-routine-lot > summary > svg { width: 14px; color: var(--muted); transition: transform .2s; }
.staff-routine-lot[open] > summary > svg { transform: rotate(90deg); }
.staff-routine-lot > div { display: flex; flex-wrap: wrap; gap: 5px; }
.staff-routine-lot > div { padding: 9px 11px 11px; border-top: 1px solid var(--line); background: var(--white); }
.staff-routine-lot > div button, .staff-routine-lot > div > span { min-height: 32px; padding: 6px 8px; border: 1px solid #cbd8ce; border-radius: 999px; color: var(--forest); background: var(--white); font-size: 8px; font-weight: 800; }
.staff-routine-lot > div button:hover { background: #e7f1e8; }
.staff-completed-routines { grid-column: 1 / -1; }
.staff-completed-routines > summary, .staff-secondary-feeding > summary { min-height: 43px; padding: 9px 11px; border: 1px dashed #cfd6d0; border-radius: 11px; display: flex; align-items: center; gap: 8px; color: var(--muted); cursor: pointer; list-style: none; font-size: 9px; font-weight: 750; }
.staff-completed-routines > summary::-webkit-details-marker, .staff-secondary-feeding > summary::-webkit-details-marker { display: none; }
.staff-completed-routines > summary svg, .staff-secondary-feeding > summary svg { width: 14px; }
.staff-completed-routines > summary svg:last-child, .staff-secondary-feeding > summary svg:last-child { margin-left: auto; transition: transform .2s; }
.staff-completed-routines[open] > summary svg:last-child, .staff-secondary-feeding[open] > summary svg:last-child { transform: rotate(90deg); }
.staff-completed-routines > div, .staff-secondary-feeding > div { margin-top: 7px; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; }
.staff-feeding-schedule-panel { grid-column: 1 / -1; }
.staff-feeding-schedule { display: grid; gap: 8px; }
.staff-feeding-group { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--white); }
.staff-feeding-group.assigned { border-color: #9fbea8; background: #f1f8f2; }
.staff-feeding-group.completed { opacity: .7; }
.staff-feeding-group > summary { min-height: 58px; padding: 10px 12px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 15px; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.staff-feeding-group > summary::-webkit-details-marker { display: none; }
.staff-feeding-group > summary time { color: var(--forest); font-size: 12px; font-weight: 850; }
.staff-feeding-group > summary div { display: grid; gap: 3px; }
.staff-feeding-group > summary strong { font-size: 11px; }
.staff-feeding-group > summary small { color: var(--muted); font-size: 8px; }
.staff-feeding-group > summary > svg { width: 14px; color: var(--muted); transition: transform .2s; }
.staff-feeding-group[open] > summary > svg { transform: rotate(90deg); }
.staff-feeding-group > div { padding: 8px; border-top: 1px solid var(--line); display: grid; gap: 6px; background: var(--white); }
.staff-feeding-group > div > button { min-height: 56px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: minmax(90px, .75fr) minmax(0, 1.4fr) 14px; align-items: center; gap: 9px; color: var(--ink); background: var(--surface-soft); text-align: left; }
.staff-feeding-group > div > button > span { min-width: 0; display: grid; gap: 3px; }
.staff-feeding-group > div > button b { font-size: 9px; }
.staff-feeding-group > div > button small { color: var(--muted); font-size: 7px; }
.staff-feeding-group > div > button > svg { width: 14px; color: var(--muted); }
.staff-secondary-feeding > div { grid-template-columns: 1fr; }
.staff-empty.compact { min-height: 70px; padding: 14px; }
.staff-work-task > time { min-width: 43px; color: var(--forest); font-size: 10px; font-weight: 850; }
.staff-horse-summary { padding: 14px; border: 1px solid var(--line); border-radius: 14px; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 11px; background: var(--surface-soft); }
.staff-horse-summary > div { display: grid; gap: 3px; }
.staff-horse-summary small { color: var(--muted); font-size: 10px; }
.staff-horse-summary > b { color: var(--muted); display: inline-flex; align-items: center; gap: 4px; font-size: 9px; }
.staff-horse-summary > b svg { width: 14px; }
.staff-horse-detail-section { display: grid; gap: 8px; }
.staff-horse-detail-section h3, .staff-horse-equipment h3 { margin: 0; font-family: var(--serif); font-size: 17px; }
.staff-routine-readonly, .staff-feeding-readonly, .staff-task-readonly { display: grid; gap: 7px; }
.staff-routine-readonly article, .staff-task-readonly article { min-height: 50px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; }
.staff-routine-readonly article > div, .staff-task-readonly article { gap: 4px; }
.staff-routine-readonly time { color: var(--forest); font-size: 10px; font-weight: 850; }
.staff-routine-readonly small, .staff-task-readonly small, .staff-readonly-empty { margin: 0; color: var(--muted); font-size: 10px; }
.staff-feeding-readonly article { padding: 10px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr); gap: 10px; }
.staff-feeding-readonly article.private-feed { background: var(--surface-soft); }
.staff-feeding-readonly article > div { display: flex; flex-wrap: wrap; gap: 6px; }
.staff-feeding-readonly article > div:first-child { display: grid; }
.staff-feeding-readonly article span { min-width: 90px; padding: 7px; border-radius: 9px; background: var(--surface-soft); display: grid; gap: 3px; }
.staff-feeding-readonly small { color: var(--muted); font-size: 9px; }
.staff-feed-stock { margin: 0; padding: 7px 9px; border-radius: 9px; color: #286345; background: #e7f3eb; display: flex; align-items: center; gap: 6px; font-size: 9px; line-height: 1.35; grid-column: 1 / -1; }
.staff-feed-stock.low { color: #8a4b38; background: #fff1eb; }
.staff-feed-stock svg { width: 15px; flex: 0 0 auto; }
.staff-horse-equipment { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.staff-horse-equipment section { padding: 12px; border: 1px solid var(--line); border-radius: 12px; display: grid; gap: 7px; }
.staff-horse-equipment span { color: var(--muted); font-size: 10px; }
.staff-stored-blankets { display: grid; gap: 5px; }
.staff-blanket-recommendation, .staff-blanket-warning { padding: 9px; border-radius: 10px; color: #286345; background: #e7f3eb; display: grid; gap: 4px; }
.staff-blanket-recommendation.warning, .staff-blanket-warning { color: #8a4b38; background: #fff1eb; }
.staff-blanket-recommendation strong { font-size: 11px; }
.staff-blanket-recommendation span, .staff-blanket-warning span { color: inherit; font-size: 9px; line-height: 1.4; }
.staff-blanket-recommendation small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.staff-blanket-warning { grid-template-columns: 16px 1fr; align-items: start; }
.staff-blanket-warning svg { width: 16px; }
.staff-maintenance-notice { padding: 13px; border: 1px solid #c9d9cd; border-radius: 13px; display: flex; align-items: flex-start; gap: 9px; color: var(--forest); background: #eff8f1; }
.staff-maintenance-notice svg { width: 18px; flex: 0 0 auto; }
.staff-maintenance-notice > div { display: grid; gap: 4px; }
.staff-maintenance-notice span { color: var(--muted); font-size: 11px; line-height: 1.4; }
.inventory-location-panel, .inventory-receipt-panel { margin-bottom: 14px; padding: 18px; }
.inventory-location-list { display: flex; flex-wrap: wrap; gap: 8px; }
.inventory-location-list article { min-height: 54px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 9px; background: var(--surface-soft); }
.inventory-location-list article > span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: var(--forest); background: var(--white); }
.inventory-location-list svg { width: 16px; }
.inventory-location-list div { display: grid; gap: 3px; }
.inventory-location-list small { color: var(--muted); font-size: 8px; }
.inventory-item-grid { margin-bottom: 14px; display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 11px; }
.inventory-item-card { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); display: grid; gap: 13px; }
.inventory-item-card.low-stock { border-color: #e0bda9; background: #fff9f5; }
.inventory-item-card header { display: flex; justify-content: space-between; gap: 10px; }
.inventory-item-card header span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.inventory-item-card h3 { margin: 3px 0 0; font-family: var(--serif); font-size: 20px; }
.inventory-item-card header b { color: #994f39; display: inline-flex; align-items: center; gap: 4px; font-size: 9px; }
.inventory-item-card header b svg { width: 15px; }
.inventory-item-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.inventory-item-kpis span { min-width: 0; padding: 9px; border-radius: 10px; background: var(--surface-soft); display: grid; gap: 4px; }
.inventory-item-kpis small { color: var(--muted); font-size: 7px; }
.inventory-item-kpis strong { overflow-wrap: anywhere; font-size: 11px; }
.inventory-location-balances { display: flex; flex-wrap: wrap; gap: 6px; }
.inventory-location-balances > span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 2px; }
.inventory-location-balances small, .inventory-location-balances em { color: var(--muted); font-size: 8px; }
.inventory-item-card footer { padding-top: 9px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.inventory-item-card footer > span { color: var(--muted); font-size: 8px; line-height: 1.4; }
.inventory-item-card footer > div { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.inventory-stocktake-result { margin-bottom: 14px; padding: 14px 16px; border: 1px solid #cbdccf; border-radius: 15px; color: #285d42; background: #eff7f1; display: grid; gap: 8px; }
.inventory-stocktake-result.has-suggestion { border-color: #d9c78f; color: #6d5722; background: #fff9e7; }
.inventory-stocktake-result > div { display: flex; align-items: center; gap: 10px; }
.inventory-stocktake-result svg { width: 22px; flex: 0 0 auto; }
.inventory-stocktake-result span { display: grid; gap: 3px; }
.inventory-stocktake-result small { opacity: .78; font-size: 8px; }
.inventory-stocktake-result p { margin: 0; font-size: 10px; line-height: 1.55; }
.inventory-stocktake-result.applied { border-color: #b7d7c1; color: #285d42; background: #edf8f0; }
.inventory-stocktake-result.dismissed { border-color: var(--line); color: var(--muted); background: var(--surface-soft); }
.inventory-suggestion-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.inventory-suggestion-actions .button { min-height: 38px; }
.inventory-receipt-list { display: grid; }
.inventory-receipt-list article { min-height: 57px; padding: 9px 2px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.inventory-receipt-list article:first-child { border-top: 0; }
.inventory-receipt-list time, .inventory-receipt-list small, .inventory-receipt-list > article > span { color: var(--muted); font-size: 8px; }
.inventory-receipt-list div { display: grid; gap: 4px; }
.inventory-allocation-fieldset { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.inventory-allocation-fieldset legend { padding: 0 6px; font-weight: 850; }
.inventory-allocation-fieldset > p { margin: 0 0 10px; color: var(--muted); font-size: 10px; }
.inventory-allocation-fieldset > div { display: grid; gap: 7px; }
.inventory-allocation-fieldset label { min-height: 52px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, .6fr); align-items: center; gap: 10px; }
.inventory-allocation-fieldset label > span { display: grid; gap: 3px; }
.inventory-allocation-fieldset small { color: var(--muted); font-size: 8px; }
.inventory-allocation-fieldset output { margin-top: 9px; padding: 9px; border-radius: 9px; color: #286345; background: #e7f3eb; display: block; font-size: 10px; font-weight: 800; }
.inventory-allocation-fieldset output.invalid { color: #934c38; background: #fbe9e2; }
.inventory-new-item { padding: 14px; border: 1px solid #cfddd2; border-radius: 15px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; background: #f3f7f2; }
.inventory-new-item > .full { grid-column: 1 / -1; }
.inventory-new-item > .modal-section-title { margin: 0; padding: 0 0 10px; border: 0; border-bottom: 1px solid #d7e2da; }
.inventory-new-item[hidden] { display: none !important; }
.feed-dose-unit-input select { width: auto; min-width: 96px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; }
.feed-custom-dose-unit { padding: 13px; border: 1px solid #d8e3da; border-radius: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f6f8f4; }
.feed-custom-dose-unit[hidden] { display: none !important; }
.feed-custom-conversion { min-height: 42px; display: flex; align-items: center; gap: 8px; }
.feed-custom-conversion > span { flex: 0 0 auto; color: var(--muted); font-size: 9px; }
.feed-custom-conversion input { min-width: 0; }
.ori-inventory-receipt { margin-top: 13px; padding: 14px; border: 1px solid #c9d9cd; border-radius: 14px; background: #f2f8f3; display: grid; gap: 12px; }
.ori-inventory-receipt.required { border-color: #e1c3a8; background: #fff9f1; }
.ori-inventory-receipt.resolved > div:first-child { display: flex; align-items: center; gap: 9px; }
.ori-inventory-receipt.resolved > div:first-child > svg { width: 19px; color: #28724a; flex: 0 0 auto; }
.ori-inventory-receipt.resolved > div:first-child span { display: grid; gap: 3px; }
.ori-inventory-receipt small { color: var(--muted); font-size: 9px; }
.ori-inventory-receipt label { display: grid; gap: 6px; font-size: 10px; font-weight: 800; }
.ori-inventory-receipt select { min-height: 44px; }
.ori-inventory-allocation-list { display: grid; gap: 7px; }
.ori-inventory-allocation-list label { min-height: 54px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); grid-template-columns: minmax(0, 1fr) minmax(125px, .55fr); align-items: center; gap: 10px; }
.ori-inventory-allocation-list label > span { display: grid; gap: 3px; }
.ori-inventory-allocation-list input { min-height: 42px; }
.ori-inventory-receipt output { padding: 9px 11px; border-radius: 9px; color: #286345; background: #e7f3eb; font-size: 10px; font-weight: 800; }
.ori-inventory-receipt output.invalid { color: #934c38; background: #fbe9e2; }
.ori-inventory-allocation-summary { display: flex; flex-wrap: wrap; gap: 6px; }
.ori-inventory-allocation-summary span { padding: 6px 8px; border-radius: 8px; background: var(--white); font-size: 9px; }
.ori-inventory-missing { padding: 10px; border-radius: 10px; color: #8a4b38; background: #fbe9e2; display: flex; align-items: flex-start; gap: 8px; font-size: 10px; line-height: 1.4; }
.ori-inventory-missing svg { width: 17px; flex: 0 0 auto; }
.ori-routine-lot-completion { margin-top: 13px; padding: 14px; border: 1px solid #c9d9cd; border-radius: 14px; background: #f2f8f3; display: grid; gap: 10px; }
.ori-routine-lot-completion > strong { display: flex; align-items: center; gap: 8px; color: var(--forest); }
.ori-routine-lot-completion > strong svg { width: 18px; }
.ori-routine-lot-completion dl { margin: 0; display: grid; gap: 8px; }
.ori-routine-lot-completion dl div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
.ori-routine-lot-completion dt { color: var(--muted); font-size: 9px; }
.ori-routine-lot-completion dd { margin: 0; font-size: 10px; font-weight: 750; }
.staff-lot-completion-note { margin: 0 0 7px; padding: 8px 10px; border-radius: 9px; color: #315d3d; background: #edf5ee; font-size: 9px; line-height: 1.4; }
.community-friend-open strong em { margin-left: 5px; padding: 2px 5px; border-radius: 999px; color: #286345; background: #e7f3eb; font-size: 6px; font-style: normal; }
.community-friend-menu > div > span, .community-chat-panel header details > div > span { padding: 6px 7px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.community-side-section.duty-roster { background: #f3f8f3; }
.community-side-section.duty-roster > p { margin: -3px 0 8px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.community-side-section.duty-roster > button { width: 100%; min-height: 52px; padding: 7px; border: 1px solid #ccdbcf; border-radius: 11px; display: grid; grid-template-columns: 34px minmax(0, 1fr) 14px; align-items: center; gap: 8px; color: var(--ink); background: var(--white); text-align: left; }
.community-side-section.duty-roster > button + button { margin-top: 5px; }
.community-side-section.duty-roster > button > span { min-width: 0; display: grid; gap: 3px; }
.community-side-section.duty-roster strong { font-size: 8px; }
.community-side-section.duty-roster small { overflow: hidden; color: var(--muted); font-size: 6.5px; text-overflow: ellipsis; white-space: nowrap; }
.community-side-section.duty-roster > button > svg { width: 14px; color: var(--muted); }

@media (max-width: 650px) {
  .staff-schedule-page .page-head { display: grid; grid-template-columns: 1fr; }
  .staff-schedule-page .head-actions, .staff-schedule-page .head-actions .button { width: 100%; }
  .staff-schedule-page .head-actions .button { min-height: 46px; justify-content: center; }
  .staff-filter-panel { align-items: stretch; flex-direction: column; }
  .staff-filter-list { justify-content: flex-start; }
  .staff-filter-list label { min-height: 44px; font-size: 12px; }
  .staff-workload-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-workload-grid article { min-height: 125px; padding: 12px; }
  .staff-workload-grid strong { font-size: 20px; }
  .staff-schedule-panel { padding: 9px; }
  .staff-week-grid { min-width: 0; grid-template-columns: 1fr; }
  .staff-day { min-height: 0; }
  .staff-day header { min-height: 44px; }
  .staff-shift { min-height: 70px; }
  .staff-shift time, .staff-shift strong { font-size: 13px; }
  .staff-shift small, .staff-day-empty { font-size: 11px; }
  .staff-leave-row { grid-template-columns: 1fr auto; }
  .staff-leave-row > div:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .staff-leave-row .button { min-height: 44px; justify-content: center; font-size: 11px; }
  .stable-expense-row-actions { grid-column: 1 / -1; grid-row: 3; justify-content: flex-start; flex-wrap: wrap; }
  .stable-expense-payment { min-height: 44px; font-size: 11px; }
  .stable-expense-edit-hint, .stable-expense-payment-done { min-height: 36px; font-size: 11px; }
  .boarding-horse-selection > div { grid-template-columns: 1fr; }
  .boarding-horse-selection label { min-height: 52px; }
  .boarding-preview-actions { display: grid; grid-template-columns: 1fr; }
  .boarding-preview-actions .button { min-height: 46px; justify-content: center; }
  .staff-work-page .page-head { display: grid; grid-template-columns: 1fr; }
  .staff-work-page .head-actions, .staff-work-page .head-actions .button { width: 100%; }
  .staff-work-page .head-actions .button { min-height: 46px; justify-content: center; }
  .staff-work-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-work-layout { grid-template-columns: 1fr; }
  .staff-work-layout > article:last-child { grid-column: auto; }
  .staff-routine-lots-panel { grid-column: auto; }
  .staff-routine-lot-list { grid-template-columns: 1fr; }
  .staff-routine-lot > div button, .staff-routine-lot > div > span { min-height: 44px; padding-inline: 11px; font-size: 11px; }
  .staff-work-task, .staff-horse-card, .staff-maintenance-card { min-height: 58px; }
  .staff-work-task strong, .staff-horse-card strong, .staff-maintenance-card strong { font-size: 13px; }
  .staff-work-task small, .staff-horse-card small, .staff-maintenance-card small { font-size: 11px; white-space: normal; }
  .staff-horse-summary { grid-template-columns: 44px minmax(0, 1fr); }
  .staff-horse-summary > b { grid-column: 1 / -1; }
  .staff-feeding-readonly article, .staff-horse-equipment { grid-template-columns: 1fr; }
  .stable-inventory-page .page-head { display: grid; grid-template-columns: 1fr; }
  .stable-inventory-page .head-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .stable-inventory-page .head-actions .button { min-height: 46px; padding-inline: 8px; justify-content: center; font-size: 10px; }
  .inventory-item-grid { grid-template-columns: 1fr; }
  .inventory-item-kpis { grid-template-columns: 1fr 1fr; }
  .inventory-item-kpis span:last-child { grid-column: 1 / -1; }
  .inventory-item-card footer { align-items: stretch; flex-direction: column; }
  .inventory-item-card footer > div { justify-content: stretch; }
  .inventory-item-card footer > div > button { flex: 1; }
  .inventory-item-card footer .text-button { min-height: 44px; justify-content: center; }
  .inventory-stocktake-result { padding: 13px; }
  .inventory-stocktake-result small, .inventory-stocktake-result p { font-size: 13px; }
  .inventory-suggestion-actions .button { width: 100%; justify-content: center; }
  .inventory-receipt-list article { grid-template-columns: 1fr auto; }
  .inventory-receipt-list time { grid-column: 1; }
  .inventory-receipt-list div { grid-column: 1 / -1; grid-row: 2; }
  .inventory-allocation-fieldset label { grid-template-columns: 1fr; }
  .inventory-allocation-fieldset input { font-size: 16px; }
  .inventory-new-item { padding: 12px; grid-template-columns: 1fr; gap: 12px; }
  .inventory-new-item > .full { grid-column: auto; }
  .inventory-new-item .field input, .inventory-new-item .field select, .inventory-new-item .field textarea { font-size: 16px; }
  .modal-feedback { min-height: 54px; padding: 13px; align-items: center; font-size: 13px; line-height: 1.4; }
  .modal-feedback::before { width: 28px; height: 28px; font-size: 14px; }
  .feed-custom-dose-unit { grid-template-columns: 1fr; }
  .feed-dose-unit-input select { min-width: 108px; font-size: 16px; }
  .ori-inventory-receipt { padding: 12px; }
  .ori-inventory-receipt select, .ori-inventory-receipt input { min-height: 44px; font-size: 16px; }
  .ori-inventory-allocation-list label { min-height: 0; grid-template-columns: 1fr; }
  .ori-inventory-receipt .button { min-height: 46px; justify-content: center; }
  .ori-inventory-receipt output, .ori-inventory-missing { font-size: 14px; }
}

.task-completion-lock,
.task-completion-success {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f5f1e8;
  color: #5f543f;
}

.task-completion-success {
  background: #edf5ee;
  color: #315d3d;
}

.task-completion-success div { display: grid; gap: 2px; }

.task-completion-summary {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.task-completion-summary > strong { font-size: 1.08rem; }
.task-completion-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 4px 0 0; }
.task-completion-summary dl div { display: grid; gap: 2px; }
.task-completion-summary dt { color: var(--muted); font-size: .78rem; }
.task-completion-summary dd { margin: 0; font-weight: 700; }

@media (max-width: 620px) {
  .task-completion-summary dl { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .module-grid { grid-template-columns: 1fr; }
  .stable-modules { grid-template-columns: 1fr 1fr; }
  .box-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
