/* Home: a compact, role-aware event hub. Shared colors, icons and motion come from style.css. */
body:has(.desktop-rail) > main.home-app,#spaPage > main.home-app { max-width:1280px; padding:22px 16px 30px; }
.home-app { --home-muted:#8a6772; --home-line:#f0e3e7; color:#30252a; }
.home-announcements { margin:0 0 22px; overflow:hidden; border-radius:17px; }
.home-banner-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.home-banner-track::-webkit-scrollbar { display:none; }
.home-banner-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.home-banner-slide img { display:block; width:100%; height:auto; }
.home-welcome { display:flex; flex-direction:column; align-items:flex-start; gap:9px; margin-bottom:20px; }
.home-welcome p { color:#8a6772; font-size:13px; font-weight:550; line-height:1.3; }
.home-welcome p,.home-welcome h1,.home-attention-row strong { overflow-wrap:anywhere; }
.home-welcome h1 { max-width:480px; margin-top:6px; font-size:23px; font-weight:750; line-height:1.2; letter-spacing:-.025em !important; text-wrap:pretty; }
.home-role { padding:4px 8px; border:1px solid #efe1e5; border-radius:6px; color:#886872; font-size:10px; font-weight:650; }
.home-layout,.home-main-column,.home-side-column { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-content:start; min-width:0; }
.home-overview { overflow:hidden; border-radius:20px; border:1px solid #6c1832; background:#7b1e3a; color:white; box-shadow:0 9px 22px #7b1e3a1a; }
.home-event-label { display:flex; align-items:center; gap:7px; padding:15px 18px; border-bottom:1px solid #ffffff1c; color:#e3d4ac; font-size:11px; font-weight:650; }
.home-event-label .lucide { width:16px; height:16px; }
.home-event-label > span:last-child { margin-left:auto; color:#e5c8d1; font-size:9px; font-weight:500; }
.home-overview-content { min-height:226px; padding:19px 18px 16px; display:flex; flex-direction:column; }
.home-overview-skeleton { display:none; flex-direction:column; gap:12px; flex:1; padding-top:11px; }
.home-overview-skeleton span { display:block; height:15px; border-radius:6px; background:linear-gradient(100deg,#ffffff18 20%,#ffffff38 40%,#ffffff18 60%); background-size:200% 100%; }
.home-overview-skeleton span:first-child { width:70%; height:26px; }
.home-overview-skeleton span:nth-child(2) { width:88%; }
.home-overview-skeleton span:nth-child(3) { width:58%; }
.home-overview-skeleton span:last-child { width:90%; height:39px; margin-top:auto; }
.home-overview-content[aria-busy="true"] .home-overview-skeleton { display:flex; }
.home-overview-content[aria-busy="true"] :is(#homeOverviewTitle,#homeOverviewHint,#homeMetrics) { display:none; }
.home-app .home-eyebrow { color:#e8bdca; font-size:10px; font-weight:700; text-transform:uppercase; }
.home-overview h2 { margin-top:6px; max-width:400px; font-size:23px; font-weight:750; line-height:1.2; text-wrap:pretty; letter-spacing:-.02em !important; }
.home-app #homeOverviewHint { min-height:36px; margin-top:8px; color:#eccfd8; font-size:12px; line-height:1.5; }
.home-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:auto; padding-top:18px; }
.home-metrics > div { min-width:0; padding-left:11px; border-left:1px solid #ffffff29; }
.home-metrics > div:first-child { padding-left:0; border:0; }
.home-metrics strong { display:block; overflow-wrap:anywhere; font-size:22px; line-height:1.15; font-weight:750; font-variant-numeric:tabular-nums; }
.home-metrics span { display:block; margin-top:5px; color:#e8c3ce; font-size:10px; line-height:1.3; }
.home-app[data-home-role="2"] .home-metrics > div:last-child strong { display:flex; align-items:center; min-height:26px; font-size:15px; }
.home-primary-action { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; margin:0 12px 12px; padding:12px 15px; border-radius:12px; background:#fff; color:#7b1e3a; font-size:13px; font-weight:750; }
.home-primary-action .lucide { width:18px; height:18px; }
.home-retry { display:block; min-height:44px; margin:0 auto 8px; padding:0 16px; font-size:12px; text-decoration:underline; }
.home-retry.hidden { display:none; }
.home-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.home-section-heading h2 { font-size:16px; font-weight:750; line-height:1.3; }
.home-section-heading > span { color:#9c828a; font-size:10px; }
.home-section-heading > a { display:flex; align-items:center; gap:5px; min-height:32px; color:#7b1e3a; font-size:11px; font-weight:650; white-space:nowrap; }
.home-section-heading > a .lucide { width:14px; height:14px; }
.home-quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.home-quick-actions > a { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; min-height:88px; padding:7px 0; border-radius:12px; text-align:center; font-size:11px; font-weight:650; }
.home-action-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:17px; background:#f9edf1; border:1px solid #f7e3e9; color:#7b1e3a; }
.home-action-icon .lucide { width:23px; height:23px; }
.home-quick-actions > a:nth-child(2) .home-action-icon { background:#edf6f2; border-color:#deece5; color:#277254; }
.home-quick-actions > a:nth-child(3) .home-action-icon { background:#fcf6e9; border-color:#efe6d2; color:#947024; }
.home-quick-actions > a:nth-child(4) .home-action-icon { background:#f8eff2; border-color:#f1e2e6; color:#8e626f; }
.home-activity { min-height:160px; }
.home-activity:has(.home-attention-row) { min-height:0; }
.home-digital-ticket { overflow:hidden; border:1px solid #ecdfe3; border-top:3px solid #a47b2a; border-radius:17px; background:white; box-shadow:0 3px 14px #30252a08; }
.home-ticket-top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 15px 0; }
.home-ticket-top > span:first-child { display:flex; align-items:center; gap:6px; color:#89757b; font-size:9px; font-weight:650; }
.home-ticket-top .lucide { width:15px; height:15px; }
.home-status { max-width:50%; padding:5px 8px; border-radius:99px; font-size:9px; font-weight:700; line-height:1.2; text-align:center; }
.home-status.approved { color:#197348; background:#eaf6ee; }
.home-status.pending { color:#9c5314; background:#fff3e6; }
.home-status.processing { color:#7b1e3a; background:#f9edf1; }
.home-ticket-number { display:flex; flex-direction:column; padding:16px 17px 9px; }
.home-ticket-number small { color:#987982; font-size:10px; }
.home-ticket-number strong { margin-top:4px; color:#7b1e3a; font-family:'JetBrains Mono',monospace; font-size:27px; font-weight:700; line-height:1.2; overflow-wrap:anywhere; }
.home-ticket-person { display:flex; flex-direction:column; gap:3px; padding:0 17px 18px; }
.home-ticket-person strong { font-size:13px; font-weight:650; }
.home-ticket-person span { color:#977781; font-size:11px; overflow-wrap:anywhere; }
.home-ticket-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:62px; padding:9px 13px; border-top:1px dashed #d3cfbf; background:#fffdf7; }
.home-ticket-actions a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 6px; color:#7b1e3a; font-size:12px; font-weight:700; }
.home-ticket-actions .lucide { width:15px; height:15px; }
.home-ticket-actions > div { display:flex; gap:5px; }
.home-ticket-actions > div a { min-width:44px; border:1px solid #e3e0d4; border-radius:9px; background:#fff; font-size:10px; }
.home-ticket-actions > small { max-width:46%; color:#8c815f; font-size:10px; line-height:1.35; text-align:right; }
.home-attention-row { display:flex; align-items:center; gap:12px; min-height:84px; padding:15px; border:1px solid var(--home-line); border-radius:14px; background:#fff; }
.home-attention-row + .home-attention-row { margin-top:9px; }
.home-row-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#fcf5e8; color:#967029; flex:none; }
.home-attention-row > span:nth-child(2) { flex:1; min-width:0; }
.home-attention-row strong,.home-attention-row small { display:block; }
.home-attention-row strong { font-size:13px; }
.home-attention-row small { margin-top:5px; color:var(--home-muted); font-size:11px; line-height:1.4; }
.home-attention-row > .lucide { width:16px; color:#a68a92; }
.home-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:160px; padding:20px; border:1px solid var(--home-line); border-radius:16px; background:#fff; text-align:center; }
.home-empty > .lucide { width:25px; height:25px; margin-bottom:10px; color:#b7919c; }
.home-empty strong { font-size:13px; font-weight:700; }
.home-app .home-empty p { max-width:300px; margin-top:5px; color:var(--home-muted); font-size:12px; line-height:1.5; }
.home-inline-action { display:flex; justify-content:space-between; align-items:center; min-height:44px; margin-top:7px; color:#7b1e3a; font-size:12px; font-weight:700; }
.home-updates { min-height:210px; border:1px solid var(--home-line); border-radius:17px; background:white; overflow:hidden; }
.home-updates > .home-empty { min-height:210px; border:0; }
.home-update { display:flex; align-items:flex-start; gap:11px; position:relative; min-height:95px; padding:16px 14px; }
.home-update + .home-update { border-top:1px solid #f5edef; }
.home-update > span:nth-child(2) { flex:1; min-width:0; }
.home-update-icon { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:10px; color:#9c8189; background:#f8f4f5; }
.home-update-icon .lucide { width:17px; height:17px; }
.home-update.is-unread .home-update-icon { background:#f9edf1; color:#7b1e3a; }
.home-update strong { display:block; font-size:11px; font-weight:700; color:#754f5a; }
.home-app .home-update p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:4px 0 6px; font-size:12px; color:#4d2934; line-height:1.5; }
.home-update time { color:#9f828b; font-size:10px; }
.home-unread-dot { width:6px; height:6px; margin-top:5px; flex:none; border-radius:50%; background:#a98234; }
.home-event-note { display:flex; gap:13px; padding:18px; border:1px solid #e9e1ce; border-radius:16px; background:#fcf8ef; }
.home-note-icon { color:#a07b2e; padding-top:1px; }
.home-event-note h2 { font-size:14px; font-weight:750; color:#6a5220; }
.home-app .home-event-note p { margin-top:5px; color:#827459; font-size:12px; line-height:1.65; }
.home-help { display:flex; align-items:center; gap:12px; min-height:66px; color:#906e78; }
.home-help > span { flex:1; }
.home-help strong,.home-help small { display:block; }
.home-help strong { color:#653c48; font-size:13px; }
.home-help small { margin-top:3px; font-size:11px; }
.home-help > .lucide:last-child { width:15px; }
.home-manage { border:1px solid var(--home-line); border-radius:14px; background:#fff; overflow:hidden; }
.home-manage summary { display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:12px 15px; list-style:none; font-size:13px; font-weight:650; }
.home-manage summary::-webkit-details-marker { display:none; }
.home-manage summary span { display:flex; align-items:center; gap:10px; }
.home-manage .lucide { width:17px; height:17px; color:#8a6570; }
.home-manage[open] summary { border-bottom:1px solid var(--home-line); }
.home-manage[open] summary > .lucide { transform:rotate(180deg); }
.home-manage nav { padding:6px; }
.home-manage nav a { display:flex; align-items:center; gap:10px; min-height:46px; padding:10px; border-radius:9px; font-size:12px; }
.home-manage nav a > span { flex:1; }
.home-skeleton { display:grid; gap:13px; min-height:160px; padding:22px; border:1px solid var(--home-line); border-radius:16px; background:#fff; }
.home-skeleton span { height:20px; border-radius:5px; background:linear-gradient(100deg,#f3e9ec 20%,#fcf7f9 40%,#f3e9ec 60%); background-size:200% 100%; }
.home-skeleton span:nth-child(2) { width:75%; }
.home-skeleton span:last-child { width:55%; }
@media (max-width:899px) {
  body:has(.home-app) .mobile-nav { box-shadow:0 -5px 20px #401a250a; }
  body:has(.home-app) .mobile-nav > :is(a,button) { border-radius:12px; }
}
@media (min-width:700px) {
  body:has(.desktop-rail) > main.home-app,#spaPage > main.home-app { padding:28px 26px 40px; }
  .home-layout { grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr); gap:26px; }
  .home-welcome { flex-direction:row; justify-content:space-between; align-items:center; margin-bottom:26px; }
  .home-welcome h1 { font-size:26px; }
  .home-overview-content { padding:23px 22px 20px; }
  .home-event-label { padding:16px 22px; }
  .home-primary-action { margin:0 14px 14px; }
}
@media (min-width:1200px) {
  body:has(.desktop-rail) > main.home-app,#spaPage > main.home-app { padding:32px 36px 46px; }
  .home-layout { gap:32px; grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); }
  .home-overview h2 { font-size:28px; }
  .home-metrics strong { font-size:27px; }
  .home-quick-actions { gap:16px; }
  .home-quick-actions > a { flex-direction:row; gap:9px; min-height:68px; text-align:left; }
  .home-action-icon { width:44px; height:44px; border-radius:13px; flex:none; }
}
@media (prefers-reduced-motion:no-preference) {
  .home-overview-skeleton span,.home-skeleton span { animation:collections-shimmer 1.2s linear infinite; }
  .home-digital-ticket,.home-attention-row,.home-update { animation:motion-enter 180ms var(--motion-ease) both; }
  .home-quick-actions a:hover .home-action-icon { transform:translateY(-2px); }
  .home-action-icon,.home-manage summary > .lucide { transition:transform 160ms ease; }
  .home-manage[open] nav { animation:motion-enter 180ms ease-out; }
}
