/* FESTI administration: scoped presentation, no application/authentication overrides. */
#modal:has(.festi-backoffice,#admin-close,.festi-admin-dialog){z-index:1000;background:#0d2431b8;backdrop-filter:blur(12px)}
body:has(#modal:not(.hidden) .festi-backoffice),body:has(#modal:not(.hidden) .festi-admin-dialog){overflow:hidden}
#modal .festi-backoffice,#modal .festi-admin-dialog{
 --bo-bg:#f7f5ef;--bo-surface:#fffefa;--bo-text:#19333f;--bo-muted:#5b6b70;--bo-line:#dedfd7;--bo-soft:#f1ecdf;--bo-gold:#82632f;
 color:var(--bo-text);background:var(--bo-bg);font-family:'DM Sans',sans-serif;
}
#modal .festi-backoffice{display:grid;grid-template-columns:244px minmax(0,1fr);width:min(1380px,100%);height:min(94dvh,1020px);border:1px solid #d8cdb366;border-radius:24px;overflow:hidden;box-shadow:0 28px 100px #071a3460}
#modal .festi-backoffice *{box-sizing:border-box;min-width:0}
#modal .festi-backoffice svg,#modal .festi-admin-dialog svg{width:20px;height:20px;flex-shrink:0}
#modal .festi-backoffice :is(h2,h3),#modal .festi-admin-dialog :is(h2,h3){color:var(--bo-text);font-family:'DM Sans',sans-serif;letter-spacing:-.035em;line-height:1.25}
#modal .festi-backoffice .bo-sidebar{display:flex;flex-direction:column;padding:30px 18px 20px;gap:14px;overflow:auto;background:radial-gradient(ellipse at top left,#33515a,transparent 70%),#132d3b;color:#f8f0e0}
#modal .bo-sidebar>.eyebrow{display:flex;align-items:center;gap:10px;padding:0 12px;color:#e5c68c;font-size:18px;font-family:Georgia,serif;letter-spacing:1.5px}
#modal .bo-sidebar>h2{color:#d2dcdd;font-size:12px;font-weight:400;letter-spacing:0;margin:0;padding:0 12px}
#modal .bo-sidebar nav{display:grid;gap:7px;margin:14px 0}
#modal .bo-sidebar nav button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:49px;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:#d8e1e0;font:500 13px/1.4 'DM Sans',sans-serif;text-align:start;white-space:normal;cursor:pointer}
#modal .bo-sidebar nav button.active{background:#ecd7a9;color:#142e3c;border-color:#f6e6c3;box-shadow:0 5px 20px #0002}
#modal .bo-sidebar nav button>.festi-bo-nav-label{flex:1}
#modal .bo-sidebar nav button>span:not(.festi-bo-nav-label){padding:3px 6px;border-radius:6px;background:#ffffff14;min-width:23px;text-align:center;font-size:11px}
#modal .bo-sidebar nav button.active>span:not(.festi-bo-nav-label){background:#16303d17}
#modal .bo-sidebar>p{display:flex;align-items:center;gap:8px;color:#bacccd;font-size:11px;line-height:1.5;margin:auto 10px 0}
#modal .bo-sidebar>p svg{width:16px;height:16px;color:#e5c68c}
#modal .bo-sidebar>#admin-close{position:static;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px;border:1px solid #6c8089;border-radius:10px;color:#f1e6d2;background:#ffffff06;font-size:12px}
#modal .festi-bo-credit{color:#d4bd8a;text-align:center;text-decoration:none;font-size:10px;letter-spacing:1.2px;padding:5px}
#modal .festi-bo-sections{display:none}
#modal .bo-main{padding:32px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#adac9e transparent}
#modal .bo-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
#modal .bo-header .eyebrow{color:var(--bo-gold);font-size:9px;letter-spacing:2px;margin-bottom:9px}
#modal .bo-header h2{font-size:clamp(23px,2.4vw,32px);font-weight:600;margin:0}
#modal #admin-refresh{display:flex;align-items:center;gap:8px;flex-shrink:0}
#modal .festi-bo-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
#modal :is(.festi-bo-highlights,.bo-stats)>div{padding:20px;border:1px solid var(--bo-line);border-radius:15px;background:var(--bo-surface)}
#modal .festi-bo-highlights>div:first-child{background:linear-gradient(135deg,#f3e4c2,#fbf6ea);border-color:#d9c18f;color:#263942}
#modal :is(.festi-bo-highlights,.bo-stats) strong{display:block;font:600 30px/1.15 'DM Sans',sans-serif;letter-spacing:-1px;color:inherit;font-variant-numeric:tabular-nums}
#modal :is(.festi-bo-highlights,.bo-stats) span{display:block;font-size:11px;line-height:1.5;margin:7px 0 0;color:var(--bo-muted)}
#modal .festi-bo-highlights>div:first-child span{color:#5b584a}
#modal .bo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
#modal .bo-stats>div{padding:15px;background:var(--bo-bg);border-radius:10px}
#modal .bo-stats strong{font-size:23px}
#modal .festi-bo-disclosure{border:1px solid var(--bo-line);border-radius:12px;background:var(--bo-surface);margin:14px 0;padding:0 16px}
#modal .festi-bo-disclosure summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:14px 0;font-size:12px;font-weight:600;color:var(--bo-text)}
#modal .festi-bo-disclosure summary::-webkit-details-marker{display:none}
#modal .festi-bo-disclosure summary>svg:first-child{color:var(--bo-gold);width:18px;height:18px}
#modal .festi-bo-disclosure summary>svg:last-child{margin-inline-start:auto;width:16px;height:16px;transition:transform .2s}
#modal .festi-bo-disclosure[open] summary>svg:last-child{transform:rotate(180deg)}
#modal .festi-bo-disclosure .bo-assistant{border:0;border-top:1px solid var(--bo-line);border-radius:0;margin:0;padding:16px 0;background:transparent}
#modal .festi-backoffice .bo-assistant h3{display:none}
#modal .festi-backoffice .bo-assistant p{color:var(--bo-muted);font-size:13px;line-height:1.7}
#modal .festi-backoffice .note{font-size:11px;line-height:1.7;color:var(--bo-muted);margin:12px 0}
#modal .bo-filters{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;padding:18px;margin:24px 0 18px;background:var(--bo-surface);border:1px solid var(--bo-line);border-radius:14px}
#modal .bo-filters label,#modal .festi-admin-dialog label{font-size:12px;font-weight:600;color:var(--bo-text)}
#modal .festi-backoffice :is(input,select,textarea),#modal .festi-admin-dialog :is(input,select,textarea){width:100%;border:1px solid var(--bo-line);border-radius:9px;padding:12px;background:var(--bo-surface);color:var(--bo-text);font:400 16px/1.4 'DM Sans',sans-serif;accent-color:#94723c}
#modal :is(.festi-backoffice,.festi-admin-dialog) :is(input,textarea)::placeholder{color:var(--bo-muted);opacity:.85}
#modal .bo-filters input,#modal .bo-filters select{margin-top:8px}
#modal :is(.festi-backoffice,.festi-admin-dialog) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #b3914a;outline-offset:3px}
#modal :is(.festi-backoffice,.festi-admin-dialog) :is(.primary,.ghost){border-radius:9px;min-height:42px;padding:11px 16px;font:600 12px/1.4 'DM Sans',sans-serif;cursor:pointer;white-space:normal;max-width:100%}
#modal :is(.festi-backoffice,.festi-admin-dialog) .ghost{border:1px solid var(--bo-line);background:var(--bo-surface);color:var(--bo-text)}
#modal :is(.festi-backoffice,.festi-admin-dialog) .primary{border:1px solid #203d4b;background:#193745;color:#fff5de;box-shadow:0 3px 8px #142a3710}
#modal :is(.festi-backoffice,.festi-admin-dialog) button:disabled{opacity:.5;cursor:not-allowed}
#modal :is(.festi-backoffice,.festi-admin-dialog) .bo-record{padding:22px;margin:12px 0;background:var(--bo-surface);border:1px solid var(--bo-line);border-radius:15px;box-shadow:0 5px 15px #25334204;overflow-wrap:anywhere}
#modal :is(.festi-backoffice,.festi-admin-dialog) .bo-record h3{font-size:18px;line-height:1.4;font-weight:600;margin:0 0 10px}
#modal .bo-record-top{align-items:flex-start;gap:14px}
#modal .bo-record-top h3{flex:1}
#modal .festi-backoffice .bo-badge{background:var(--bo-soft);color:var(--bo-gold);border:1px solid var(--bo-line);border-radius:7px;padding:5px 9px;font:500 11px/1.4 'DM Sans',sans-serif;white-space:normal;max-width:45%}
#modal :is(.festi-backoffice,.festi-admin-dialog) .bo-record p{color:var(--bo-muted);font-size:13px;line-height:1.75;margin:8px 0}
#modal :is(.festi-backoffice,.festi-admin-dialog) .account-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--bo-line);padding-top:15px;margin-top:16px}
#modal :is(.festi-backoffice,.festi-admin-dialog) .text-link{color:var(--bo-gold);text-underline-offset:3px}
#modal :is(.festi-backoffice,.festi-admin-dialog) :is([data-decision=rejected],[data-action=delete],#reject-claim){border-color:#c88b7a;color:#934634;background:transparent}
#modal .festi-backoffice .empty{padding:38px 24px;text-align:center;border:1px dashed var(--bo-line);border-radius:15px;background:var(--bo-surface);color:var(--bo-text)}
#modal .festi-backoffice .empty h3{font-size:19px;margin:0 0 12px}
#modal .festi-backoffice .empty p{font-size:13px;line-height:1.7;color:var(--bo-muted);max-width:390px;margin:auto}
#modal :is(.festi-backoffice,.festi-admin-dialog) .bo-confirm{background:var(--bo-surface);border:1px solid #b79b63;border-inline-start:4px solid #b79b63;border-radius:12px;padding:20px;scroll-margin:20px}
#modal :is(.festi-backoffice,.festi-admin-dialog) [role=status]:not(:empty){font-size:13px;line-height:1.7;padding:12px;border-radius:8px;background:var(--bo-soft);color:var(--bo-text);overflow-wrap:anywhere}
#modal .festi-admin-dialog{width:min(1100px,100%);max-height:94dvh;border-radius:22px;padding:32px;overscroll-behavior:contain;scrollbar-width:thin}
#modal .festi-admin-dialog h2{font-size:28px;margin:18px 40px 18px 0}
#modal .festi-admin-dialog>p{color:var(--bo-muted);line-height:1.8}
#modal .festi-admin-dialog>.eyebrow{color:var(--bo-gold);font-size:10px;letter-spacing:1px}
#modal .festi-admin-dialog .close{color:var(--bo-text);min-width:42px;min-height:42px;background:var(--bo-soft);border:1px solid var(--bo-line);border-radius:50%;padding:0;line-height:1}
#modal .festi-bo-return{display:flex;gap:8px;align-items:center;margin:0 48px 22px 0;width:fit-content}
#modal .festi-admin-dialog .pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px}
#modal .festi-admin-dialog .pack-grid .bo-record{margin:0}
#modal .festi-admin-dialog .pack-grid .bo-record>strong{font-size:25px;color:var(--bo-gold)}
#modal .festi-admin-dialog .bo-assistant{background:var(--bo-surface);border:1px solid var(--bo-line);color:var(--bo-text)}
#modal .festi-admin-dialog input[type=checkbox]{display:inline-block;width:18px;height:18px;vertical-align:middle;margin:0 6px 0 0}
#modal .festi-admin-dialog label:has(input[type=checkbox]){line-height:1.8}
#modal .festi-admin-dialog #pack-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#modal .festi-admin-dialog #pack-form>:is(h3,p),#modal .festi-admin-dialog #pack-form label:has(textarea,input[type=url],input[type=checkbox]){grid-column:1/-1}
:root[data-festi-theme=dark] #modal :is(.festi-backoffice,.festi-admin-dialog){--bo-bg:#142b38;--bo-surface:#203b49;--bo-text:#f4eedf;--bo-muted:#b9cbcf;--bo-line:#48616d;--bo-soft:#2c4853;--bo-gold:#e4c78d}
:root[data-festi-theme=dark] #modal .festi-bo-highlights>div:first-child{background:linear-gradient(135deg,#405451,#263f4b);border-color:#b19864;color:#ffe6b2}
:root[data-festi-theme=dark] #modal .festi-bo-highlights>div:first-child span{color:#e7dbc5}
:root[data-festi-theme=dark] #modal :is(.festi-backoffice,.festi-admin-dialog) .primary{background:#e7cb94;border-color:#e7cb94;color:#17323f}
:root[data-festi-theme=dark] #modal :is(.festi-backoffice,.festi-admin-dialog) :is([data-decision=rejected],[data-action=delete],#reject-claim){color:#f9b5a6;border-color:#a67163}
@media(hover:hover){#modal .bo-sidebar nav button:not(.active):hover{background:#ffffff10;border-color:#738d9066}#modal :is(.festi-backoffice,.festi-admin-dialog) .ghost:hover{border-color:#b79b63}#modal .festi-bo-disclosure summary:hover{color:var(--bo-gold)}}
@media(max-width:1000px){#modal .festi-backoffice{grid-template-columns:214px minmax(0,1fr)}#modal .bo-main{padding:24px}#modal .bo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#modal .festi-admin-dialog .pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 #modal:has(.festi-backoffice,.festi-admin-dialog){padding:0}
 #modal .festi-backoffice{display:flex;flex-direction:column;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 #modal .festi-backoffice .bo-sidebar{flex-shrink:0;position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;overflow:visible}
 #modal .bo-sidebar>.eyebrow{padding:0;font-size:18px;min-height:40px}
 #modal .bo-sidebar>h2,#modal .bo-sidebar>p,#modal .bo-sidebar>.festi-bo-credit{display:none}
 #modal .bo-sidebar>#admin-close{grid-row:1;grid-column:2;margin:0;min-height:40px;padding:8px 11px;font-size:11px;border-color:#607984;color:#f4ead7;background:transparent}
 #modal .festi-bo-sections{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #61747c;border-radius:10px;background:#ffffff0c;color:#f3e4c8;text-align:start;font-size:13px;min-height:44px}
 #modal .festi-bo-sections>span{flex:1}
 #modal .festi-bo-sections>svg:last-child{width:16px;height:16px}
 #modal .bo-sidebar nav{display:none;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:6px;max-height:40dvh;overflow:auto}
 #modal .bo-sidebar.festi-bo-nav-open nav{display:grid}
 #modal .bo-sidebar nav button{padding:10px;min-height:48px;font-size:11px;gap:7px}
 #modal .bo-sidebar nav button>svg{width:17px;height:17px}
 #modal .bo-main{flex:1;min-height:0;padding:22px 16px calc(24px + env(safe-area-inset-bottom))}
 #modal .bo-header{gap:10px;margin-bottom:20px}
 #modal .bo-header h2{font-size:23px}
 #modal #admin-refresh{padding:10px;font-size:11px;gap:6px}
 #modal #admin-refresh svg{width:16px;height:16px}
 #modal .festi-bo-highlights{gap:8px}
 #modal .festi-bo-highlights>div{padding:13px 10px;border-radius:11px}
 #modal .festi-bo-highlights strong{font-size:25px}
 #modal .festi-bo-highlights span{font-size:10px;line-height:1.45}
 #modal .bo-filters{padding:14px;gap:12px;margin:20px 0 14px;grid-template-columns:1fr}
 #modal .festi-backoffice .bo-record{padding:17px}
 #modal .festi-backoffice .bo-record h3{font-size:17px}
 #modal .festi-backoffice .account-actions>*{flex:1 1 auto}
 #modal .festi-admin-dialog{border-radius:0;max-height:100dvh;min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom))}
 #modal .festi-admin-dialog .pack-grid{grid-template-columns:1fr}
 #modal .festi-admin-dialog #pack-form{grid-template-columns:1fr}
 #modal .festi-admin-dialog h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){#modal .festi-bo-disclosure summary>svg{transition:none}}
