/* Admin-only layout. Public cards and their previews keep their existing styles. */
/* Albums use their own compact responsive grid, never the public gallery sizing. */
.admin-albums { margin-bottom:40px; padding-bottom:28px; border-bottom:2px solid #c4b8a1; min-width:0; }
.admin-albums > select { width:100%; min-width:0; margin:10px 0 16px; font-size:16px; }
.admin-album-upload { display:grid; gap:10px; margin-bottom:24px; }
.admin-album-upload .button { justify-self:start; }
.admin-album-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); gap:16px; }
.admin-album-grid figure { margin:0; min-width:0; padding:10px; background:#211c17; color:#fff8e7; }
.admin-album-grid img { display:block; width:100%; height:140px; object-fit:contain; background:#111; }
.admin-album-grid figcaption { padding:8px 0; }
.admin-album-grid .button { width:100%; white-space:normal; color:#fff8e7; font-size:.7rem; padding:12px 6px; }
/* Grid items must be allowed to shrink, including native iOS date inputs. */
[data-admin-dashboard] :is(.form-row,.form-field,.admin-language-grid,.admin-language-grid > section,.admin-stat,.admin-panel-heading > *,form) { min-width:0; }
[data-admin-dashboard] :is(input,select,textarea) { box-sizing:border-box; min-width:0; max-width:100%; }
[data-admin-dashboard] input:is([type=date],[type=datetime-local],[type=time]) { display:block; width:100%; appearance:none; -webkit-appearance:none; color-scheme:light; }
[data-admin-dashboard] input::-webkit-date-and-time-value { min-height:1.5em; text-align:left; }
/* Native WebKit select labels can paint beyond the control even at width:100%. */
.community-admin-page select { appearance:none; -webkit-appearance:none; padding-right:32px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%); background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
[data-admin-dashboard] .admin-stat-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
[data-admin-dashboard] .admin-stat :is(strong,span) { overflow-wrap:anywhere; }
[data-admin-dashboard] .admin-language-grid > section { grid-template-columns:minmax(0,1fr); }
[data-admin-dashboard] :is(.admin-card-list,.admin-events-list) { grid-template-columns:minmax(0,1fr); min-width:0; }
[data-admin-dashboard] :is(.admin-card-item,[data-admin-cards],[data-admin-card-results]) { min-width:0; }
[data-admin-dashboard] .button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
[data-admin-dashboard] .community-consent { min-width:0; max-width:100%; }
[data-admin-dashboard] .community-consent > span { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.admin-evolution { margin-top:28px; padding:20px; color:#211c17; background:#fffaf0; border:1px solid #c4b8a1; }
.admin-evolution h3, .admin-evolution p, .admin-evolution strong, .admin-evolution small { color:inherit; }
.admin-evolution input, .admin-evolution select, .admin-saved-views select, .admin-news-composer input, .admin-news-composer textarea { width:100%; min-width:0; padding:12px; background:#fffaf0; color:#211c17; border:1px solid #897b68; margin-bottom:12px; }
.admin-evolution input::placeholder, .admin-news-composer input::placeholder, .admin-news-composer textarea::placeholder { color:#665b4e; opacity:1; }
.admin-evolution .button { margin:6px 8px 6px 0; }
.admin-evolution .button-secondary { color:#211c17; border-color:#897b68; }
.admin-history-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:10px; }
.admin-history-entry { border-bottom:1px solid #c4b8a1; padding:12px 0; overflow-wrap:anywhere; }
.admin-auto-entry { display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #c4b8a1; padding:12px 0; }
.admin-auto-entry a { color:#9a3900; text-decoration:underline; }
.admin-auto-entry > div { min-width:0; overflow-wrap:anywhere; }
.admin-saved-views { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.admin-saved-views select { width:auto; flex:1 1 180px; margin:0; }
.admin-visual-catalog { grid-column:1/-1; border:1px solid #897b68; padding:12px; }
.admin-visual-catalog > div { max-height:520px; overflow:auto; }
.admin-visual-catalog summary { cursor:pointer; padding:8px; }
.admin-art-row { display:grid; grid-template-columns:70px minmax(0,1fr) auto; gap:12px; padding:10px; align-items:center; border-bottom:1px solid #897b68; }
.admin-art-row img { width:70px; height:75px; object-fit:contain; }
.admin-art-row strong { overflow-wrap:anywhere; }
.admin-mail-preview { width:100%; height:360px; border:1px solid #897b68; background:#fffaf0; grid-column:1/-1; }
.admin-news-composer { grid-column:1/-1; }
.admin-news-composer [hidden] { display:none; }
@media(max-width:600px) { .admin-art-row { grid-template-columns:60px minmax(0,1fr); } .admin-art-row .button { grid-column:1/-1; } .admin-auto-entry { display:block; } }
[data-admin-dashboard] .admin-insight { color:#211c17; min-width:0; }
[data-admin-dashboard] .admin-insight h3, [data-admin-dashboard] .admin-insight p { color:#211c17; }
[data-admin-dashboard] .admin-insight li { color:#211c17; overflow-wrap:anywhere; }
[data-admin-dashboard] .admin-insight li span { color:#ad3f00; }
[data-admin-dashboard] .admin-insights { margin:0 0 24px; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); }
.admin-card-disclosure > summary { cursor:pointer; padding:18px; background:#211c17; color:#fffaf0; font-weight:800; }
.admin-card-disclosure > [data-admin-cards] { margin-top:18px; }
.admin-card-disclosure { margin:20px 0; min-width:0; }
.admin-card-disclosure > summary:focus-visible { outline:3px solid #f15a00; outline-offset:3px; }
[data-admin-dashboard] { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
[data-admin-dashboard][hidden], [data-admin-dashboard] [hidden] { display:none !important; }
[data-admin-dashboard] > .admin-tabs { grid-column:1; grid-row:1; z-index:20; display:flex; flex-wrap:wrap; flex-direction:row; align-items:flex-start; position:relative; overflow:visible; gap:8px; margin:0; padding:12px; }
[data-admin-dashboard] > .admin-tab-panel { grid-column:1; grid-row:2; min-width:0; margin:18px 0 0; }
.community-admin-page .page-hero { padding:52px 0 34px; }
.community-admin-page .page-hero h1 { font-size:clamp(2.1rem,5vw,4rem); line-height:1.05; }
.community-admin-page .page-hero .lede { margin-top:12px; }
[data-admin-dashboard] h2 { font-size:clamp(2rem,3.5vw,3rem); }
[data-admin-dashboard] .admin-panel-heading h2 { font-family:inherit; font-size:clamp(1.45rem,2.5vw,2rem); font-weight:800; line-height:1.25; text-transform:none; }
[data-admin-dashboard] { scroll-margin-top:130px; }
.admin-nav-group { display:block; flex:1 1 140px; min-width:0; position:relative; border:1px solid #796b58; background:#171411; color:#fff8e7; }
.admin-nav-group > summary { color:#fff8e7; font-size:.85rem; font-weight:800; padding:14px 10px; cursor:pointer; min-height:44px; }
.admin-nav-group > summary:focus-visible { outline:3px solid #ff7900; outline-offset:2px; }
.admin-nav-group[open] { z-index:30; }
.admin-nav-group__links { position:absolute; top:calc(100% + 1px); left:-1px; width:max(100%,220px); padding:6px; border:1px solid #796b58; background:#171411; box-shadow:0 16px 28px rgba(0,0,0,.3); }
.admin-nav-group:nth-last-child(-n+2) .admin-nav-group__links { right:-1px; left:auto; }
.admin-nav-group .admin-tab { display:block; width:100%; }
.admin-nav-group:has([aria-selected=true]) > summary { color:#ffad66; }
.admin-nav-group .admin-tab { text-align:left; padding:11px 9px; min-height:44px; font-size:.73rem; letter-spacing:0; line-height:1.35; text-transform:none; }
.admin-nav-group .admin-tab[aria-selected=true] { color:#100e0b; background:#ff7900; border-color:#ff7900; }
.admin-mobile-nav { display:none; }
.admin-navigation-toggle { display:none; }
.admin-task-list { padding:20px; margin:20px 0; border-left:4px solid #ff7900; background:#171411; color:#fff8e7; }
.admin-task-list h3 { margin:0 0 14px; color:inherit; }
.admin-task-list .button { margin:4px; white-space:normal; }
.admin-statistics-disclosure { margin-top:24px; }
.admin-statistics-disclosure > summary, .admin-payment-row > details > summary, .admin-scan-grid > details > summary { cursor:pointer; font-weight:800; padding:16px 10px; min-height:44px; }
.admin-statistics-disclosure .admin-more-stats { margin-top:10px; }
.admin-draft-notice { grid-column:1/-1; padding:10px; border-left:3px solid #ff7900; color:#fff8e7; background:#30251a; font-size:.8rem; }
[data-admin-dashboard] .admin-scan-grid { grid-template-columns:minmax(0,1fr); }
.admin-payment-toolbar { display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); gap:12px; padding:18px 0; }
.admin-payment-toolbar h3, .admin-payment-toolbar p { grid-column:1/-1; margin:0; color:inherit; }
.admin-payment-toolbar input, .admin-payment-toolbar select, [data-media-search], .admin-media-dialog input, .admin-media-dialog select { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:10px; background:#fffaf0; color:#191611; border:1px solid #9f9484; }
.admin-payment-row { padding:16px; gap:4px; }
.admin-payment-row__identity { padding-bottom:10px; }
.admin-payment-row > details { min-width:0; }
.admin-payment-row > details > summary { overflow-wrap:anywhere; }
.admin-payment-row form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-payment-row select { text-overflow:ellipsis; }
.admin-scan-grid > details { min-width:0; color:#fff8e7; background:#171411; border:1px solid #3f3730; }
.admin-scan-grid > details > section { padding:16px; }
.admin-mail-queue { margin:20px 0; padding:16px; border:1px solid currentColor; }
.admin-mail-queue article { padding:12px 0; border-top:1px solid #807463; }
.admin-mail-queue p { overflow-wrap:anywhere; }
.admin-media-dialog { width:min(820px,94vw); max-height:85dvh; overflow:auto; padding:24px; color:#fff8e7; background:#171411; border:1px solid #f15a00; }
.admin-media-dialog::backdrop { background:rgba(0,0,0,.7); }
.admin-media-dialog > * { margin-bottom:14px; }
.admin-media-picker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.admin-media-picker-grid .button { display:flex; flex-direction:column; width:100%; white-space:normal; overflow-wrap:anywhere; clip-path:none; text-transform:none; padding:10px; }
.admin-media-picker-grid img { width:100%; height:130px; object-fit:contain; margin-bottom:10px; }
.admin-media-dialog > .button { margin-right:12px; }
[data-admin-dashboard] .admin-memory-catalog { margin-top:24px; }
.admin-card-pagination { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; padding:18px 0; }
@media (max-width:1100px) {
  [data-admin-dashboard] .admin-card-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-admin-dashboard] :is(.admin-card-summary__identity,.admin-card-summary__profile,.admin-card-summary__status) { grid-column:1/-1; }
  [data-admin-dashboard] { grid-template-columns:minmax(0,1fr); gap:16px; }
  [data-admin-dashboard] > .admin-tabs { padding:8px; }
  [data-admin-dashboard] .admin-card-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .community-admin-page .site-header { position:relative; }
  .community-admin-page .nav-shell { gap:10px; min-height:72px; padding-block:8px; }
  .community-admin-page .brand img { width:48px; }
  .community-admin-page .admin-header-actions { flex:1; min-width:0; justify-content:flex-end; gap:10px; }
  .community-admin-page .admin-header-actions > a { font-size:14px; line-height:1.3; }
  .community-admin-page .admin-header-actions .button { width:auto; min-width:0; padding:10px 14px; font-size:11px; letter-spacing:.025em; }
  .community-admin-page .page-hero { padding:28px 0; }
  [data-admin-dashboard] { scroll-margin-top:64px; }
  [data-admin-dashboard] { display:block; }
  [data-admin-dashboard] > .admin-tab-panel { margin-top:12px; }
  [data-admin-dashboard] > .admin-tabs { display:none; position:relative; top:auto; width:100%; margin-bottom:16px; }
  [data-admin-dashboard] > .admin-tabs.is-open { display:flex; }
  .admin-nav-group:nth-last-child(-n+2) .admin-nav-group__links { right:auto; }
  .admin-nav-group__links { position:static; width:auto; padding:4px; border:0; box-shadow:none; }
  .admin-navigation-toggle { display:block; width:100%; margin:0 0 16px; }
  .admin-mobile-nav { display:block; position:sticky; top:0; z-index:25; width:100%; min-width:0; max-width:100%; min-height:48px; margin-bottom:18px; padding:10px 32px 10px 10px; border-radius:0; color:#fff8e7; background-color:#171411; color-scheme:dark; border:1px solid #f15a00; font-size:16px; }
  #admin-journal .admin-journal-grid { grid-template-columns:minmax(0,1fr); }
  [data-admin-dashboard] :is(.form-row,.admin-language-grid) { grid-template-columns:minmax(0,1fr); }
  [data-admin-dashboard] :is(input,select,textarea) { font-size:16px; }
  .admin-payment-toolbar, .admin-payment-row form { grid-template-columns:minmax(0,1fr); }
  .admin-media-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-admin-dashboard] .admin-card-filters { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .community-admin-page .admin-tab-panel:not([hidden]) { animation:none; }
}
@media (max-width:480px) {
  [data-admin-dashboard] .admin-panel { padding:18px 14px; }
  [data-admin-dashboard] :is(.admin-event-form,.admin-agenda-draft,.admin-agenda-import,.admin-evolution) { padding:16px 12px; }
  [data-admin-dashboard] .admin-stat-grid { grid-template-columns:minmax(0,1fr); gap:12px; margin:24px 0; }
  [data-admin-dashboard] .admin-stat { padding:18px; }
  [data-admin-dashboard] .admin-stat strong { font-size:2.4rem; }
  [data-admin-dashboard] .admin-language-grid > section { padding:12px; }
  [data-admin-dashboard] .admin-evolution .button { margin-inline:0; }
  [data-admin-dashboard] .admin-more-stat-grid { grid-template-columns:minmax(0,1fr); }
}
