.admin{background:var(--color-surface-warm);--admin-bar:64px;min-height:100vh}.admin__topbar{z-index:30;justify-content:space-between;align-items:center;gap:var(--space-3);height:var(--admin-bar);padding-inline:var(--gutter);background:var(--color-ink-deep);color:#fff;border-bottom:3px solid var(--color-brand);display:flex;position:sticky;top:0}.admin__topbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.admin__topbar-right{align-items:center;gap:var(--space-3);flex:none;display:flex}.admin__site-link{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);font-size:var(--text-sm);color:#fff;white-space:nowrap;border-radius:var(--radius-pill);border:1px solid #ffffff4d;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.admin__site-link:hover{background:#ffffff1a;border-color:#fff9}@media (max-width:640px){.admin__site-link{justify-content:center;width:40px;padding:0}.admin__site-link-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.admin__brand{align-items:center;gap:var(--space-3);color:#fff;min-width:0;text-decoration:none;display:flex}.admin__logo{object-fit:cover;border-radius:50%;flex:none;width:40px;height:40px;box-shadow:0 0 0 2px #ffffffd9}.admin__brand-text{min-width:0;line-height:1.15;display:grid}.admin__brand-name{font-family:var(--font-heading);font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.admin__brand-sub{letter-spacing:.16em;text-transform:uppercase;color:#f0b48f;font-size:.68rem;font-weight:600}.admin__menu-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;flex:none;place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.admin__menu-btn:hover{background:#ffffff29}.admin__account{flex:none;position:relative}.admin__account-btn{align-items:center;gap:var(--space-3);color:#fff;text-align:left;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition), border-color var(--transition);background:#ffffff0f;border:1px solid #ffffff24;padding:4px 10px 4px 4px;display:flex}.admin__account-btn:hover,.admin__account-btn[aria-expanded=true]{background:#ffffff1f;border-color:#ffffff47}.admin__avatar{width:36px;height:36px;font-size:var(--text-sm);letter-spacing:.02em;color:#fff;background:var(--color-brand);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.admin__account-text{gap:2px;line-height:1.1;display:grid}.admin__account-name{max-width:220px;font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.admin__role{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);justify-self:start;padding:1px 8px;font-size:.66rem;font-weight:700}.admin__role--super{color:#fff;background:#c2541bd9}.admin__role--staff{color:var(--color-ink-deep);background:#f0d9c8}.admin__chevron{opacity:.7}.admin__account-menu{z-index:40;width:max-content;min-width:240px;max-width:min(320px, calc(100vw - 2 * var(--gutter)));padding:var(--space-2);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;position:absolute;top:calc(100% + 8px);right:0}.admin__account-head{padding:var(--space-2) var(--space-3) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-line);gap:2px;display:grid}.admin__account-menu-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.admin__account-menu a,.admin__account-menu button{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-ink);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;text-decoration:none;display:block}.admin__account-menu a:hover,.admin__account-menu button:hover{background:var(--color-brand-tint);color:var(--color-brand-dark)}.admin__account-menu button{color:var(--color-danger)}@media (max-width:640px){.admin__account-text,.admin__chevron{display:none}.admin__account-btn{padding:2px}.admin__brand-name{font-size:var(--text-sm)}}.admin__brand-short{display:none}@media (max-width:480px){.admin__brand-full{display:none}.admin__brand-short{display:inline}}.admin__sidebar{background:var(--color-surface);border-bottom:1px solid var(--color-line);display:none}.admin__sidebar[data-open=true]{display:block}.admin__sidebar ul{padding:var(--space-3);list-style:none}.admin__sidebar a{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-ink);border-radius:var(--radius-sm);font-weight:500;text-decoration:none;display:block}.admin__sidebar a:hover{background:var(--color-surface-warm)}.admin__sidebar a.active{background:var(--color-brand-light);color:var(--color-brand-dark)}.admin__main{padding:var(--space-5) var(--gutter) var(--space-8);min-width:0}.admin__main h1{margin-bottom:var(--space-5);font-size:var(--text-2xl)}@media (min-width:960px){.admin__menu-btn{display:none}.admin__body{grid-template-columns:240px 1fr;display:grid}.admin__sidebar{top:var(--admin-bar);height:calc(100vh - var(--admin-bar));border-bottom:0;border-right:1px solid var(--color-line);display:block;position:sticky;overflow-y:auto}.admin__main{padding-inline:var(--space-6)}}.kpis{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));display:grid}.panel{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.panel__label{font-size:var(--text-sm);color:var(--color-ink-muted)}.panel__value{margin-top:var(--space-1);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700}.btn{min-height:40px;padding:0 var(--space-4);font-size:var(--text-sm);background:var(--color-brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.btn:hover{background:var(--color-brand-dark)}.score-input{width:4.5rem;min-height:36px;padding:0 var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm)}.login{min-height:100vh;padding:var(--gutter);background:var(--color-surface-warm);place-items:center;display:grid}.login form{gap:var(--space-4);width:100%;max-width:380px;display:grid}.login label{gap:var(--space-1);font-size:var(--text-sm);font-weight:500;display:grid}.login input{min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm)}.login-back{top:var(--space-4);left:var(--gutter);z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);font-weight:600;text-decoration:none;display:inline-flex;position:absolute}.login-back:hover{color:var(--color-brand);border-color:var(--color-brand)}.login-back~.login{padding-block:72px}.pw-wrap{display:block;position:relative}.pw-wrap input{width:100%;padding-right:44px}.pw-toggle{width:34px;height:34px;color:var(--color-ink-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover,.pw-toggle[aria-pressed=true]{color:var(--color-brand)}.pw-toggle:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.muted{color:var(--color-ink-muted)}.a-meta{font-size:var(--text-xs);color:var(--color-ink-muted)}.a-stack{gap:var(--space-4);display:grid}.a-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.a-grid2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.a-head{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.a-head h1{margin-bottom:0!important}.a-head p{margin-top:var(--space-1)}.a-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.a-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);font-size:var(--text-sm);color:#fff;white-space:nowrap;background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex}.a-btn:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.a-btn:disabled{opacity:.55;cursor:not-allowed}.a-btn--ghost{color:var(--color-ink);background:var(--color-surface);border-color:var(--color-line)}.a-btn--ghost:hover{background:var(--color-brand-tint);border-color:var(--color-brand);color:var(--color-brand-dark)}.a-btn--danger{background:var(--color-danger);border-color:var(--color-danger)}.a-btn--danger:hover{background:#8f1c13;border-color:#8f1c13}.a-btn--sm{min-height:30px;padding:0 var(--space-3);font-size:var(--text-xs)}.a-link{color:var(--color-brand);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.a-icon-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:18px}.a-icon-btn:hover{background:var(--color-surface-warm)}.a-input,.a-field input,.a-field select,.a-field textarea{width:100%;min-height:40px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm)}.a-input{width:auto;max-width:100%}.a-search{min-width:min(100%,260px)}.a-field textarea{resize:vertical;min-height:100px}.a-input:focus,.a-field input:focus,.a-field select:focus,.a-field textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-light);outline:none}.a-field{align-content:start;gap:4px;display:grid}.a-field__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-muted);font-weight:600}.a-field__hint{font-size:var(--text-xs);color:var(--color-ink-muted)}.a-field__error{font-size:var(--text-xs);color:var(--color-danger);font-weight:600}.a-field.has-error input,.a-field.has-error select,.a-field.has-error textarea{border-color:var(--color-danger)}.a-check{gap:var(--space-2);font-size:var(--text-sm);align-items:flex-start;display:flex}.a-check input{margin-top:3px}.a-form{gap:var(--space-4);display:grid}.a-form__row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.a-form__foot{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.a-filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.a-loading{gap:var(--space-3);padding:var(--space-6) 0;color:var(--color-ink-muted);align-items:center;display:flex}.a-spinner{border:2px solid var(--color-line);border-top-color:var(--color-brand);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite a-spin}@keyframes a-spin{to{transform:rotate(360deg)}}.a-alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-3);border:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.a-alert__body{flex:1;min-width:0;line-height:1.5}.a-alert--error{color:var(--color-danger);background:#fdecea;border-color:#f5c6c1}.a-alert--success{color:var(--color-success);background:#e7f4ec;border-color:#c4e3cf}.a-alert--warn{color:#8a5a12;background:#fdf3e1;border-color:#f2dcb0}.a-alert--info{background:var(--color-brand-tint);color:var(--color-ink);border-color:var(--color-line)}.a-badge{font-size:var(--text-xs);text-transform:capitalize;white-space:nowrap;border-radius:var(--radius-pill);padding:2px 10px;font-weight:600;display:inline-block}.a-badge--ok{color:var(--color-success);background:#e7f4ec}.a-badge--warn{color:#8a5a12;background:#fdf3e1}.a-badge--bad{color:var(--color-danger);background:#fdecea}.a-badge--info{background:var(--color-brand-light);color:var(--color-brand-dark)}.a-badge--muted{background:var(--color-surface-warm);color:var(--color-ink-muted)}.a-table-wrap{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow-x:auto}.a-table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.a-table th,.a-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-line)}.a-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-muted);background:var(--color-brand-tint);white-space:nowrap;font-weight:600;position:sticky;top:0}.a-table tbody tr:hover{background:#fffaf6}.a-table tr:last-child td{border-bottom:0}.a-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.a-table td.nowrap{white-space:nowrap}.a-table tfoot td{background:var(--color-brand-tint);font-weight:700}.a-table a{color:var(--color-brand-dark);font-weight:600}.a-empty{padding:var(--space-6);text-align:center;color:var(--color-ink-muted)}.a-pager{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.a-tabs{gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-line);display:flex;overflow-x:auto}.a-tabs button{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;font-weight:600}.a-tabs button[aria-selected=true]{color:var(--color-brand-dark);border-bottom-color:var(--color-brand)}.a-modal{z-index:100;padding:var(--space-6) var(--space-3);background:#1e140e80;place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.a-modal__box{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-md)}.a-modal__box--wide{max-width:860px}.a-modal__head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;display:flex}.a-modal__head h2{font-size:var(--text-lg)}.a-modal__body{padding:var(--space-5)}.a-stat .panel__value{font-size:var(--text-xl)}.a-stat--warn .panel__value{color:#8a5a12}.a-stat--bad .panel__value{color:var(--color-danger)}.a-dl{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));display:grid}.a-dl dt{font-size:var(--text-xs);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em}.a-dl dd{overflow-wrap:anywhere;font-weight:600}.a-section-title{margin:var(--space-5) 0 var(--space-3);font-size:var(--text-lg)}.a-bars{gap:var(--space-2);display:grid}.a-bar{gap:var(--space-2);font-size:var(--text-sm);grid-template-columns:90px 1fr 110px;align-items:center;display:grid}.a-bar__track{background:var(--color-surface-warm);border-radius:var(--radius-pill);height:10px;overflow:hidden}.a-bar__fill{background:var(--color-brand);border-radius:inherit;height:100%}.admin__nav-group{padding:var(--space-3) var(--space-3) var(--space-1);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);font-size:.68rem;font-weight:700}.score-input[aria-invalid=true]{border-color:var(--color-danger);background:#fdecea}@media print{.admin__topbar,.admin__sidebar,.a-actions,.a-filters,.a-tabs,.no-print{display:none!important}.admin__body{display:block!important}.admin,.a-table-wrap{background:#fff;border:0}}.print-only{display:none}@media print{.print-only{display:table-cell}}.role-guide{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.role-card{align-content:start;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);display:grid}.role-card__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.role-pill{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);padding:3px 12px;font-weight:700}.role-pill--super_admin{color:#fff;background:var(--color-brand)}.role-pill--staff{color:var(--color-ink-deep);background:#f0d9c8}.role-card__summary{font-weight:600}.role-card__list{gap:var(--space-2);font-size:var(--text-sm);padding:0;list-style:none;display:grid}.role-card__list li{gap:var(--space-2);align-items:flex-start;display:flex}.role-card__list svg{color:var(--color-success);flex:none;margin-top:2px}.role-card__cannot{gap:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--color-line);display:grid}.role-card__cannot-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);font-weight:700}.role-card__cannot ul{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.role-card__cannot li{font-size:var(--text-xs);color:var(--color-ink-muted);background:var(--color-surface-warm);border-radius:var(--radius-pill);padding:2px 10px}.gal-admin{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));display:grid}.gal-admin__card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.gal-admin__card.is-hidden .gal-admin__media img{opacity:.45}.gal-admin__media{aspect-ratio:4/3;background:var(--color-surface-warm);position:relative}.gal-admin__media img{object-fit:cover;width:100%;height:100%}.gal-admin__flag{top:var(--space-2);left:var(--space-2);position:absolute}.gal-admin__body{align-content:start;gap:var(--space-3);padding:var(--space-3);display:grid}.gal-admin__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.gal-admin__delete{color:var(--color-danger);margin-left:auto}.gal-admin__card.is-selected{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand)}.gal-admin__pick{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:#ffffffeb;place-items:center;width:32px;height:32px;display:grid;position:absolute;box-shadow:0 1px 4px #0003}.gal-admin__pick input{cursor:pointer;width:18px;height:18px;accent-color:var(--color-brand)}.gal-drop{justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-ink-muted);border:2px dashed var(--color-line);border-radius:var(--radius-md);transition:border-color .15s,background-color .15s;display:grid}.gal-drop svg{color:var(--color-brand)}.gal-drop p{margin:0}.gal-drop.is-over{border-color:var(--color-brand);background:var(--color-brand-tint)}.gal-drop.is-busy{opacity:.85}.gal-queue{gap:var(--space-2);display:grid}.gal-queue__bar{background:var(--color-surface-warm);border-radius:var(--radius-pill);height:6px;overflow:hidden}.gal-queue__bar span{background:var(--color-brand);height:100%;transition:width .2s;display:block}.gal-queue ul{gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.gal-queue__item{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-sm);display:flex}.gal-queue__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gal-queue__status{color:var(--color-ink-muted);flex:none}.gal-queue__item.is-done .gal-queue__status{color:var(--color-success,#1f7a3d)}.gal-queue__item.is-failed{background:#b423180f}.gal-queue__item.is-failed .gal-queue__status{color:var(--color-danger)}.gal-bulk{top:calc(var(--admin-bar) + var(--space-2));z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);flex-wrap:wrap;display:flex;position:sticky;box-shadow:0 4px 14px #1e140e14}.gal-bulk__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.gal-bulk__select{min-height:30px;font-size:var(--text-xs)}.a-fees{gap:2px;min-width:190px;margin:0;display:grid}.a-fees>div{justify-content:space-between;gap:var(--space-3);display:flex}.a-fees dt{font-size:var(--text-xs);color:var(--color-ink-muted);text-align:left}.a-fees dd{font-size:var(--text-xs);margin:0}.a-fees__total{border-top:1px solid var(--color-line);margin-top:2px;padding-top:2px}.a-fees__total dt,.a-fees__total dd{color:var(--color-ink);font-weight:700;font-size:var(--text-sm)}
