/* My occasions: a calm watercolor welcome and invitation-first cards. */
#dashboardView { max-width: 720px; margin: 0 auto; }
#dashboardView .dashboard-welcome { text-align: center; padding: 0 0 26px; }
#dashboardView .dashboard-watercolor { display: block; width: min(100%, 570px); height: auto; margin: -6px auto 4px; mix-blend-mode: multiply; pointer-events: none; -webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent), linear-gradient(to bottom, transparent, #000 10%, #000 82%, transparent); mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent), linear-gradient(to bottom, transparent, #000 10%, #000 82%, transparent); -webkit-mask-composite: source-in; mask-composite: intersect; }
#dashboardView .dashboard-welcome h2 { margin: 0; font-size: clamp(28px, 5vw, 34px); font-weight: 500; letter-spacing: -.045em; line-height: 1.15; color: #3a312b; }
#dashboardView .dashboard-welcome p { margin: 9px auto 17px; max-width: 29ch; font-size: 14px; line-height: 1.5; font-weight: 400; color: #756c64; }
#dashboardView .dashboard-create { width: auto; min-height: 46px; padding: 11px 22px; gap: 8px; border-radius: 24px; background: #bc543c; font-size: 14px; font-weight: 500; box-shadow: 0 5px 14px #bc543c20, inset 0 1px 0 #ffffff30; }
#dashboardView .dashboard-create > span { font-size: 20px; line-height: 1; font-weight: 300; }
#dashboardView .dashboard-grid { width: 100%; gap: 14px; grid-template-columns: 1fr; }
#dashboardView .event-item { display: block; padding: 0; border: 1px solid #e8dfd5; border-radius: 22px; background: linear-gradient(115deg, #fffaf3, #fffefd 70%); box-shadow: 0 4px 16px #69513608; cursor: auto; overflow: visible; transform: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
#dashboardView .event-item:has(.event-menu[open]) { z-index: 20; }
#dashboardView .event-card-link { display: grid; grid-template-columns: 104px minmax(0,1fr); align-items: center; gap: 18px; min-height: 168px; padding: 15px; border-radius: inherit; color: inherit; text-decoration: none; }
#dashboardView .event-preview { display: block; width: 104px; height: 138px; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 3px 10px #5742300c; }
#dashboardView .event-preview .studio-art-crop { aspect-ratio: 3/4; }
/* Scale artwork and its photo mask together; the outer thumbnail stays portrait. */
#dashboardView .event-preview .studio-art { aspect-ratio: var(--art-source-ratio, 1.21); }
#dashboardView .event-preview .studio-art-image { border-radius: 0; }
#dashboardView .event-preview .studio-photo > span { font-size: 5px; }
#dashboardView .event-card-copy { min-width: 0; }
#dashboardView .event-topline { padding-right: 33px; min-height: 20px; }
#dashboardView .status-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; line-height: 1.3; color: #776b60; font-weight: 400; padding: 0; background: none; border: 0; }
#dashboardView .status-pill::before { display: block; position: static; width: 5px; height: 5px; margin: 0; flex: 0 0 5px; border-radius: 50%; background: #ae9274; vertical-align: baseline; }
#dashboardView .status-pill.published { color: #ad5b45; }
#dashboardView .status-pill.published::before { background: #ad5b45; }
#dashboardView .event-item h3 { padding: 0; margin: 5px 22px 5px 0; font-size: 19px; font-weight: 500; line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
#dashboardView .event-item p { margin: 0; font-size: 12px; line-height: 1.45; color: #796f66; }
#dashboardView .event-chips { margin-top: 7px; gap: 2px 10px; }
#dashboardView .event-chips:empty { display: none; }
#dashboardView .event-chips .tag { font-size: 11px; font-weight: 400; padding: 0; border: 0; background: none; color: #756d65; }
#dashboardView .event-card-next { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; font-size: 12px; font-weight: 500; color: #a74a35; }
#dashboardView .event-menu { top: 7px; right: 7px; }
#dashboardView .event-menu summary { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border: 0; background: transparent; color: #84776a; box-shadow: none; font: 400 13px/1 Onest, system-ui, sans-serif; }
#dashboardView .event-menu summary > span { letter-spacing: 2px; padding-left: 2px; }
#dashboardView .event-menu[open] summary { background: #eee6dc; color: #67584c; box-shadow: none; }
#dashboardView .event-menu-list { position: fixed; inset: auto; width: 208px; min-width: 0; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; z-index: 100; gap: 0; padding: 5px; border-radius: 17px; border: 1px solid #e5ddd3; background: #fffdf9f5; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 12px 34px #45312224, 0 2px 6px #45312208; }
#dashboardView .event-menu-list button { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; box-shadow: none; text-align: left; font: 400 13px/1.35 Onest, system-ui, sans-serif; letter-spacing: -.01em; color: #51483f; cursor: pointer; transform: none; }
#dashboardView .event-menu-list button.danger { color: #b54434; border-top: 1px solid #ece5dc; margin-top: 3px; border-radius: 0 0 10px 10px; }
#dashboardView :is(.event-card-link, .event-menu summary, .event-menu-list button, .dashboard-create):focus-visible { outline: 2px solid #b76649; outline-offset: 3px; }
#dashboardView .dashboard-empty { max-width: 410px; margin: 0 auto 24px; padding: 22px 20px; text-align: center; border: 1px solid #e9dfd3; border-radius: 22px; background: #fffaf3; }
#dashboardView .dashboard-empty h3 { font-size: 18px; line-height: 1.35; font-weight: 500; letter-spacing: -.02em; margin: 0 0 10px; }
#dashboardView .dashboard-empty p { font-size: 14px; line-height: 1.55; color: #73695f; margin: 0; }
#dashboardView .dashboard-empty > span { display: block; font-size: 12px; line-height: 1.45; color: #85796d; margin-top: 12px; }
@media (max-width: 400px) {
  #dashboardView .dashboard-welcome { padding-bottom: 22px; }
  #dashboardView .event-card-link { grid-template-columns: 88px minmax(0,1fr); padding: 12px; gap: 13px; min-height: 148px; }
  #dashboardView .event-preview { width: 88px; height: 117px; }
  #dashboardView .event-item h3 { font-size: 16px; }
  #dashboardView .event-card-next { gap: 5px; font-size: 11px; }
}
@media (hover:hover) and (pointer:fine) {
  #dashboardView .event-item:hover { border-color: #d8c5b2; box-shadow: 0 6px 20px #69513612; transform: none; }
  #dashboardView .event-menu-list button:hover, #dashboardView .event-menu summary:hover { background: #f3ede5; }
  #dashboardView .dashboard-create:hover { background: #a84a34; }
}
@media (prefers-reduced-motion: reduce) { #dashboardView .event-menu[open] .event-menu-list { animation: none; } }

/* Archive uses the same warm occasion cards and simple, accessible controls. */
#dashboardView .dashboard-tabs{display:flex;gap:8px;justify-content:center;margin:0 0 20px}
#dashboardView .dashboard-tabs button{min-height:44px;padding:8px 14px;border:1px solid #e5d9ca;border-radius:24px;background:#fffaf3;color:#756c64;font:500 13px Onest,system-ui,sans-serif;cursor:pointer}
#dashboardView .dashboard-tabs button[aria-pressed=true]{background:#fffaf3;border-color:#bc543c;color:#9f452f;box-shadow:0 0 0 2px #bc543c20}
#dashboardView .dashboard-tabs span{margin-left:4px;font-size:11px}
#dashboardView .dashboard-archive-note{max-width:440px;margin:0 auto 20px;text-align:center;color:#756c64;font-size:13px;line-height:1.55}
#dashboardView .status-pill.archived{color:#88745f}
#dashboardView .dashboard-tabs button:focus-visible{outline:2px solid #bc543c;outline-offset:3px}
.archive-event{max-width:480px;margin:0 auto;padding:0 8px 32px}
.archive-event header{text-align:center;margin:20px 0}
.archive-event h1{font-size:26px;line-height:1.25;font-weight:500;letter-spacing:-.035em;margin:8px 0;overflow-wrap:anywhere}
.archive-event header p,.archive-summary p{color:#756c64;font-size:13px;line-height:1.6;margin:8px 0}
.archive-event .archive-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9d7353}
.archive-art{width:min(100%,280px);margin:0 auto 20px;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 22px #69513618}
.archive-summary{margin:0 0 20px;text-align:center}
.archive-copy{width:100%;min-height:46px;font-size:14px;background:#bc543c}
.archive-copy-note{font-size:12px;line-height:1.6;text-align:center;color:#85796d;margin:12px 0 25px}
.archive-records{border:1px solid #e5d9ca;border-radius:16px;background:#fffaf3;margin:12px 0;padding:0 16px}
.archive-records summary{min-height:48px;display:list-item;padding:15px 0;cursor:pointer;font-size:13px;font-weight:500}
.archive-records article{padding:12px 0;border-top:1px solid #eee4d7;font-size:13px;overflow-wrap:anywhere}
.archive-records article p{font-size:12px;line-height:1.5;color:#756c64;margin:6px 0}
.archive-delete{display:block;margin:24px auto 0;min-height:44px;font-size:12px;color:#9b5a4a}
.archive-event :is(button,summary):focus-visible{outline:2px solid #b76649;outline-offset:3px}

.archive-wishes{white-space:pre-line;font-size:13px;line-height:1.6;color:#756c64;text-align:center;margin:14px 0 20px}

/* Compact occasion list with the complete invitation that guests receive. */
body #dashboardView .dashboard-grid{gap:10px;}
body #dashboardView .event-item{padding:0;border:1px solid #dfd3ca;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,252,248,.5));box-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #ffffff66;backdrop-filter:blur(12px) saturate(1.06);-webkit-backdrop-filter:blur(12px) saturate(1.06);}
body #dashboardView .event-card-link{grid-template-columns:64px minmax(0,1fr);gap:12px;min-height:88px;padding:12px 54px 12px 14px;}
body #dashboardView .event-preview{width:64px;height:64px;border-radius:10px;background:#fff;align-self:center;box-shadow:none;}
body #dashboardView .event-preview .studio-invitation{width:100%;border-radius:4px;box-shadow:none;}
body #dashboardView .event-preview .studio-card-copy h2{font-size:calc(var(--title-size,6.99)*var(--title-scale,1)*1cqw);margin:0 0 2.15cqw;letter-spacing:normal;}
body #dashboardView .event-preview .studio-invitation[data-font=caps] h2{letter-spacing:.1882cqw;}
body #dashboardView .event-preview .studio-art-crop{height:64px;aspect-ratio:auto;}
body #dashboardView .event-preview .studio-card-copy{display:none;}
body #dashboardView .event-preview .studio-message{font-size:calc(3.7634cqw*var(--message-scale,1));line-height:1.35;margin:0 auto 2.96cqw;}
body #dashboardView .event-preview .studio-place{font-size:3.226cqw;line-height:1.5;margin:2.69cqw 0 0;}
body #dashboardView .event-preview .studio-place:empty{display:none;}
body #dashboardView .event-card-copy{padding-right:0;}
body #dashboardView .event-topline{padding-right:0;min-height:0;line-height:20px;}
body #dashboardView .status-pill{--povod-status-paper:linear-gradient(140deg,rgba(255,246,238,.66),rgba(255,238,222,.38));--povod-status-edge:#ffffffa3;--povod-status-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #ffffff4d;padding:2px 8px;border-radius:999px;font:400 10px/14px Onest,system-ui,sans-serif;color:var(--povod-secondary-ink,#987260);}
body #dashboardView .status-pill::before{display:none;}
body #dashboardView .status-pill.published,body #dashboardView .status-pill.draft{color:var(--povod-secondary-ink,#987260);}
body #dashboardView .event-card-copy h3{font:400 14px/1.35 Onest,system-ui,sans-serif;letter-spacing:-.015em;color:#856e60;margin:3px 0 2px;}
body #dashboardView .event-card-copy>p{font:400 12px/1.4 Onest,system-ui,sans-serif;color:#827a74;}
body #dashboardView .event-chips{display:none;}
/* The centered chevron opens the occasion; its separate menu stays top right. */
body #dashboardView .event-card-link{position:relative;}
body #dashboardView .event-card-link::after{content:'';position:absolute;right:20px;top:50%;width:6px;height:6px;border-top:1.25px solid currentColor;border-right:1.25px solid currentColor;color:var(--povod-secondary-ink,#987260);transform:translateY(-50%) rotate(45deg);pointer-events:none;}
body #dashboardView .event-menu{top:-2px;right:2px;transform:none;z-index:2;}
body #dashboardView .event-menu:not([open])>.event-menu-list{display:none;}
/* A blurred ancestor would anchor the fixed dropdown to its card in WebKit. */
body #dashboardView .event-item:has(.event-menu[open]){backdrop-filter:none;-webkit-backdrop-filter:none;}
body #dashboardView .event-menu summary{position:relative;display:grid;place-items:center;color:#85786f;background:transparent;box-shadow:none;}
body #dashboardView .event-menu summary>span{padding:0;letter-spacing:0;position:relative;}
body #dashboardView .event-menu summary::after{content:none;}
body #dashboardView .event-menu[open] summary{background:transparent;}
body #dashboardView .povod-archived-card .status-pill{--povod-status-paper:linear-gradient(140deg,#f4f3f0a8,#e9e7e361);background:var(--povod-status-paper)!important;color:#807b74!important;}
body #dashboardView .povod-archived-card .event-card-copy h3{color:#7c7872;}
@media(hover:hover) and (pointer:fine){body #dashboardView .event-item:hover{border-color:#d3c0b4;box-shadow:inset 0 1px 0 #ffffffe6,inset 0 -1px 0 #ffffff66;transform:none;}body #dashboardView .event-menu summary:hover{background:#ffffff66;}}
@media(prefers-reduced-transparency:reduce){body #dashboardView .event-item{background:#fcfaf7;backdrop-filter:none;-webkit-backdrop-filter:none;}body #dashboardView .status-pill{--povod-status-paper:#fff3e9;backdrop-filter:none;-webkit-backdrop-filter:none;}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body #dashboardView .event-item{background:#fcfaf7;}body #dashboardView .status-pill{--povod-status-paper:#fff3e9;}}
@media(forced-colors:active){body #dashboardView .event-item{border-color:CanvasText;background:Canvas;color:CanvasText;box-shadow:none;}body #dashboardView .status-pill{--povod-status-paper:Canvas;--povod-status-edge:CanvasText;--povod-status-shadow:none;}body #dashboardView .event-card-copy h3,body #dashboardView .event-card-copy>p,body #dashboardView .status-pill.published,body #dashboardView .status-pill.draft{color:CanvasText;}}
