/* AMKTEC Admin — identidad visual del sitio público (navy #142A4F / naranja #F58220 / azul #17A6E8).
   Mismas clases y estructura que la versión anterior: solo cambia la apariencia. */

*,
*::before,
*::after{box-sizing:border-box}

html,
body{margin:0;padding:0;width:100%;min-height:100%}

body{background:#F4F6F9}

:root{
  --color-bg:#F4F6F9;
  --color-panel:#ffffff;
  --color-surface:#EDF1F6;
  --color-text:#142A4F;
  --color-navy:#142A4F;
  --color-navy-deep:#0E1E3A;
  --color-navy-soft:#1E3B69;
  --color-line:#DDE4EC;
  --color-line-soft:#E9EEF4;
  --color-info:#17A6E8;
  --color-accent:#F58220;
  --on-accent:#ffffff;
  --color-danger:#D9463A;
  --color-danger-bg:#FDF2F1;
  --color-danger-fg:#9B2C22;
  --ok:#17A06A;
  --ok-bg:#E7F7EF;
  --ok-fg:#0D5F42;
  --scrim:rgba(14,30,58,.52);

  --color-neutral-100:#ffffff;
  --color-neutral-200:#F4F6F9;
  --color-neutral-300:#E1E7EE;
  --color-neutral-400:#C7D2E0;
  --color-neutral-500:#A5B1C0;
  --color-neutral-600:#8494A8;
  --color-neutral-700:#5B6B80;
  --color-neutral-800:#334963;
  --color-neutral-900:#142A4F;

  --color-accent-100:#FFF4EA;
  --color-accent-200:#FDE3CB;
  --color-accent-300:#F9C79A;
  --color-accent-400:#F7A65C;
  --color-accent-500:#F58220;
  --color-accent-600:#DE6C0C;
  --color-accent-700:#B25309;
  --color-accent-800:#7E3B06;
  --color-accent-900:#4A2304;

  --font-heading:"Archivo Expanded","Archivo",system-ui,sans-serif;
  --font-body:"Archivo",system-ui,sans-serif;

  --shadow-sm:0 1px 2px rgba(20,42,79,.10);
  --shadow-md:0 6px 18px rgba(20,42,79,.12);
  --shadow-lg:0 14px 34px rgba(20,42,79,.20);
}

:root[data-adm-theme="dark"]{
  --color-bg:#0B1730;
  --color-panel:#11223F;
  --color-surface:#16294A;
  --color-text:#E8EEF7;
  --color-navy:#0B1730;
  --color-navy-deep:#08122A;
  --color-navy-soft:#1E3B69;
  --color-line:#23375F;
  --color-line-soft:#1B2C4E;
  --on-accent:#0E1E3A;
  --color-danger:#F2695C;
  --color-danger-bg:#38191A;
  --color-danger-fg:#FFB9B1;
  --ok-bg:#12332A;
  --ok-fg:#7FDCB0;
  --scrim:rgba(3,8,20,.7);

  --color-neutral-100:#11223F;
  --color-neutral-200:#16294A;
  --color-neutral-300:#23375F;
  --color-neutral-400:#2F5490;
  --color-neutral-500:#5F779E;
  --color-neutral-600:#8FA5C4;
  --color-neutral-700:#A9BBD4;
  --color-neutral-800:#D2DEEE;
  --color-neutral-900:#F4F7FC;

  --color-accent-100:#3A2409;
  --color-accent-200:#4E2E08;
  --color-accent-300:#6B3F0A;
  --color-accent-600:#FF9440;
  --color-accent-700:#FBB776;
  --color-accent-800:#FDDCBC;

  --shadow-lg:0 18px 42px rgba(0,0,0,.55);
}

.adm-root{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}
.adm-root *{box-sizing:border-box}
.adm-root :where(a){color:var(--color-info);text-decoration:none}
.adm-root :where(a:hover){color:var(--color-accent)}
.adm-root input,.adm-root select,.adm-root textarea{font-family:var(--font-body);color:var(--color-text)}
.adm-root button{font-family:var(--font-body);color:var(--color-text)}
.adm-root ::placeholder{color:var(--color-neutral-600);opacity:1}
.adm-root input[type="checkbox"]{accent-color:var(--color-accent)}
.adm-root :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.adm-root ::selection{background:var(--color-accent);color:#fff}
.adm-root,.adm-root aside,.adm-root header,.adm-root main,.adm-root button,.adm-root input,.adm-root select{transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out}

@keyframes admFade{from{opacity:0}to{opacity:1}}
@keyframes admSlideIn{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}

/* ---------------------------------------------------------------- shell */
.adm-shell{display:flex;min-height:100vh}
.adm-sidebar{position:sticky;top:0;height:100vh;width:252px;flex:none;background:var(--color-navy-deep);border-right:none;display:flex;flex-direction:column;transition:width .18s ease-out;z-index:50}
.adm-shell.is-collapsed .adm-sidebar{width:70px}
.adm-sidebar-head{display:flex;align-items:center;gap:11px;height:76px;padding:0 18px;border-bottom:1px solid #23375F;flex:none}
.adm-brand-mark{width:38px;height:38px;background:#fff;flex:none;display:grid;place-items:center;padding:4px;overflow:hidden}
.adm-brand-mark img{max-width:100%;max-height:100%;display:block}
.adm-brand-text{min-width:0;flex:1}
.adm-shell.is-collapsed .adm-brand-text,.adm-shell.is-collapsed .adm-label-text,.adm-shell.is-collapsed .adm-count,.adm-shell.is-collapsed .adm-user-text{display:none}
.adm-brand-name{font:900 15px/1 var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;color:#fff}
.adm-brand-sub{font:700 9px/1 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin-top:5px}
.adm-collapse-btn{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;color:#8FB4E4;flex:none}
.adm-collapse-btn:hover{background:#1E3B69;color:#fff}

.adm-nav{display:flex;flex-direction:column;padding:10px 0;flex:1;overflow-y:auto;overflow-x:hidden}
.adm-sidebar button{color:#A9BBD4}
.adm-nav-head{display:flex;align-items:center;gap:12px;height:46px;padding:0 18px;cursor:pointer;color:#A9BBD4;background:transparent;border:0;border-left:3px solid transparent;width:100%;text-align:left;font:inherit}
.adm-nav-head:hover{background:#16294A;color:#fff}
.adm-nav-head.is-active{color:#fff;background:#16294A;border-left-color:var(--color-accent)}
.adm-nav-head.is-open{color:#fff}
.adm-shell.is-collapsed .adm-nav-head{justify-content:center;padding:0}
.adm-nav-head svg{flex:none}
.adm-nav-label{font:600 12.5px/1 var(--font-body);letter-spacing:.05em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-nav-head.is-active .adm-nav-label,.adm-nav-head.is-open .adm-nav-label{font-weight:800}
.adm-count{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;background:var(--color-accent);color:#fff;font:800 10px/1 var(--font-body);flex:none}
.adm-count-quiet{font:700 10.5px/1 var(--font-body);color:#8FB4E4;flex:none}
.adm-nav-caret{flex:none;color:#5F779E;transition:transform .15s ease-out}
.adm-nav-group.is-open .adm-nav-caret{transform:rotate(0deg)}
.adm-nav-group:not(.is-open) .adm-nav-caret{transform:rotate(-90deg)}
.adm-nav-group.is-open{background:#0A1729;border-top:1px solid #23375F;border-bottom:1px solid #23375F}
.adm-nav-children{display:flex;flex-direction:column;padding-bottom:6px}
.adm-nav-group:not(.is-open) .adm-nav-children{display:none}
.adm-shell.is-collapsed .adm-nav-children{display:none}
.adm-nav-item{display:flex;align-items:center;gap:10px;height:40px;padding:0 18px 0 34px;cursor:pointer;color:#A9BBD4;background:transparent;border:0;border-left:3px solid transparent;width:100%;text-align:left;font:inherit;text-decoration:none}
.adm-nav-item:hover{background:#16294A;color:#fff}
.adm-nav-item.is-active{color:#fff;background:#16294A;border-left-color:var(--color-accent)}
.adm-nav-mark{width:6px;height:6px;flex:none;background:#2F5490}
.adm-nav-item.is-active .adm-nav-mark{background:var(--color-accent)}
.adm-nav-item-label{font:500 12.5px/1 var(--font-body);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-nav-item.is-active .adm-nav-item-label{font-weight:700}

.adm-sidebar-foot{border-top:1px solid #23375F;flex:none;display:flex;flex-direction:column}
.adm-theme-row{display:flex;padding:8px;gap:2px}
.adm-theme-btn{flex:1;height:34px;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:0;cursor:pointer;color:#8FB4E4;font:700 10px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.adm-theme-btn:hover{color:#fff;background:#16294A}
.adm-theme-btn.is-active{color:#fff;background:#1E3B69}
.adm-shell.is-collapsed .adm-theme-btn span{display:none}
.adm-user{border-top:1px solid #23375F;padding:14px 18px;flex:none;display:flex;align-items:center;gap:10px}
.adm-user-avatar{width:32px;height:32px;background:var(--color-accent);color:#fff;font:800 11px/32px var(--font-body);text-align:center;flex:none;letter-spacing:.06em}
.adm-user-name{font:700 12px/1.2 var(--font-body);color:#fff}
.adm-user-role{font:500 10.5px/1.2 var(--font-body);color:#8FB4E4;margin-top:3px}
.adm-logout{margin-left:auto;flex:none;width:32px;height:32px;display:grid;place-items:center;background:transparent;border:2px solid #2F5490;color:#A9BBD4;cursor:pointer}
.adm-logout:hover{border-color:var(--color-accent);color:var(--color-accent)}

.adm-scrim{display:none;position:fixed;inset:0;background:var(--scrim);z-index:45}
.adm-shell.drawer-open .adm-scrim{display:block}

@media (max-width:960px){
  .adm-sidebar{position:fixed;top:0;left:0;bottom:0;width:268px;z-index:70;transform:translateX(-110%);transition:transform .2s ease-out}
  .adm-shell.drawer-open .adm-sidebar{transform:translateX(0)}
  .adm-shell.is-collapsed .adm-sidebar{width:268px}
  .adm-shell.is-collapsed .adm-brand-text,.adm-shell.is-collapsed .adm-label-text,.adm-shell.is-collapsed .adm-count,.adm-shell.is-collapsed .adm-user-text{display:block}
  .adm-shell.is-collapsed .adm-nav-head{justify-content:flex-start;padding:0 18px}
}

.adm-main{flex:1;min-width:0;display:flex;flex-direction:column}
.adm-header{display:flex;align-items:center;gap:14px;padding:0 clamp(16px,3vw,32px);height:76px;border-bottom:2px solid var(--color-navy);background:var(--color-panel);position:sticky;top:0;z-index:30}
.adm-burger{display:none;width:38px;height:38px;flex:none;align-items:center;justify-content:center;background:transparent;border:2px solid var(--color-navy);cursor:pointer;color:var(--color-text)}
.adm-burger:hover{background:var(--color-navy);color:#fff}
@media (max-width:960px){.adm-burger{display:flex}}
.adm-back-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;background:transparent;border:2px solid var(--color-navy);cursor:pointer;color:var(--color-text);font:800 10.5px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;flex:none;text-decoration:none}
.adm-back-btn:hover{background:var(--color-navy);border-color:var(--color-navy);color:#fff}
.adm-header-titles{min-width:0;flex:1}
.adm-crumb{font:700 9.5px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent)}
.adm-title{font:900 clamp(18px,2.4vw,25px)/1.05 var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;margin:8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-header-meta{font:600 12px/1 var(--font-body);color:var(--color-neutral-700);flex:none}

.adm-content{padding:clamp(18px,2.6vw,30px) clamp(14px,3vw,32px) 30px;flex:1}

/* --------------------------------------------------------------- flash/toast */
.adm-flash-data{display:none}
.adm-toast-stack{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}
.adm-toast{background:var(--color-navy-deep);color:#fff;padding:14px 20px;font:600 13px/1 var(--font-body);border-left:4px solid var(--ok);box-shadow:var(--shadow-lg);animation:admFade .15s ease-out}
.adm-toast.error{background:var(--color-danger-fg);border-left-color:var(--color-danger)}

/* -------------------------------------------------------------------- buttons */
.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:2px solid var(--color-navy);background:transparent;color:var(--color-text);cursor:pointer;font:800 11px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-decoration:none}
.adm-btn:hover{background:var(--color-navy);border-color:var(--color-navy);color:#fff}
.adm-btn:disabled{opacity:.4;cursor:not-allowed}
.adm-btn:disabled:hover{background:transparent;color:var(--color-text);border-color:var(--color-navy)}
.adm-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.adm-btn-primary:hover{background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff}
.adm-btn-danger{border-color:var(--color-danger);color:var(--color-danger);background:transparent}
.adm-btn-danger:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}
.adm-btn-ghost{border-color:transparent;color:var(--color-neutral-700);background:transparent}
.adm-btn-ghost:hover{color:var(--color-text);background:var(--color-neutral-200);border-color:transparent}
.adm-btn-sm{height:36px;padding:0 14px;font-size:10px}
.adm-btn-block{width:100%}
.adm-btn-icon{width:38px;height:38px;padding:0;display:grid;place-items:center;flex:none}
.adm-btn-icon-plain{width:34px;height:34px;padding:0;display:grid;place-items:center;background:transparent;border:2px solid var(--color-line);color:var(--color-text);cursor:pointer;flex:none}
.adm-btn-icon-plain:hover{border-color:var(--color-navy);background:var(--color-neutral-200)}
.adm-btn-row{display:flex;flex-wrap:wrap;gap:10px}

/* --------------------------------------------------------------------- toolbar */
.adm-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.adm-search{flex:1;min-width:190px;max-width:360px;height:44px;padding:0 13px;display:flex;align-items:center;gap:9px;border:2px solid var(--color-line);background:var(--color-panel);color:var(--color-neutral-600)}
.adm-search:focus-within{border-color:var(--color-info)}
.adm-search svg{flex:none}
.adm-search input{border:0;background:transparent;height:100%;flex:1;min-width:0;font:500 13px/1 var(--font-body);color:var(--color-text)}
.adm-search input:focus-visible{outline:0}
.adm-filter-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 15px;border:2px solid var(--color-navy);background:transparent;color:var(--color-text);cursor:pointer;font:800 10.5px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase}
.adm-filter-btn:hover{background:var(--color-navy);border-color:var(--color-navy);color:#fff}
.adm-filter-btn.has-active{background:var(--color-accent-100);border-color:var(--color-accent);color:var(--color-accent-800)}
.adm-filter-count{min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;background:var(--color-accent);color:#fff;font:800 10px/1 var(--font-body)}
.adm-sort-btn{height:44px;padding:0 14px;border:2px solid var(--color-line);background:var(--color-panel);color:var(--color-text);cursor:pointer;font:800 10.5px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.adm-sort-btn:hover{border-color:var(--color-navy)}
.adm-sort-btn.is-active{border-color:var(--color-accent);color:var(--color-accent-800);background:var(--color-accent-100)}
.adm-perpage{margin-left:auto;display:flex;align-items:center;gap:9px;font:700 10px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-neutral-700)}
.adm-perpage select{height:44px;padding:0 10px;border:2px solid var(--color-line);background:var(--color-panel);font:700 12px/1 var(--font-body);color:var(--color-text);cursor:pointer}
.adm-perpage select:hover{border-color:var(--color-navy)}

.adm-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.adm-chips-label{font:700 9.5px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-neutral-600)}
.adm-chip{height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:8px;background:var(--color-accent-100);color:var(--color-accent-800);border:1px solid var(--color-accent-300);cursor:pointer;font:600 11.5px/1 var(--font-body);text-decoration:none}
.adm-chip:hover{background:var(--color-accent-200);color:var(--color-accent-900)}
.adm-clear-all{height:30px;padding:0 6px;display:inline-flex;align-items:center;background:transparent;border:0;cursor:pointer;font:800 10px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-navy);text-decoration:none;border-bottom:2px solid var(--color-accent)}
.adm-clear-all:hover{color:var(--color-accent)}

/* ----------------------------------------------------------------------- table */
.adm-panel{border:1px solid var(--color-line);background:var(--color-panel)}
.adm-panel-head{padding:18px 20px;border-bottom:2px solid var(--color-navy);font:800 11px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.adm-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--color-line);background:var(--color-panel)}
.adm-thead{display:grid;align-items:center;gap:14px;padding:0 18px;height:46px;border-bottom:2px solid var(--color-navy);background:var(--color-neutral-200)}
.adm-th{font:800 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700);display:flex;align-items:center;gap:5px;cursor:pointer;user-select:none;background:transparent;border:0;padding:0;text-align:left;text-decoration:none}
.adm-th:hover{color:var(--color-navy)}
.adm-th.is-sorted{color:var(--color-accent)}
.adm-th-static{font:800 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700);text-align:right;white-space:nowrap}
.adm-row{display:grid;align-items:center;gap:14px;padding:0 18px;min-height:64px;border-bottom:1px solid var(--color-line-soft)}
.adm-row:last-child{border-bottom:0}
.adm-row[data-row-href],.adm-card-row[data-row-href]{cursor:pointer}
.adm-row:hover{background:var(--color-neutral-200)}
.adm-cell{font:500 13px/1.35 var(--font-body);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-cell-strong{font-weight:700;color:var(--color-text)}
.adm-cell-muted{color:var(--color-neutral-700)}
.adm-cell-money{font-weight:800;letter-spacing:-.01em}

.adm-actions-cell{display:flex;align-items:center;gap:6px;justify-content:flex-end;position:relative}

.adm-pill{display:inline-flex;align-items:center;height:26px;padding:0 11px;flex:none;font:800 10px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.adm-pill-ok{background:var(--ok-bg);color:var(--ok-fg)}
.adm-pill-bad{background:var(--color-danger-bg);color:var(--color-danger-fg)}
.adm-pill-accent{background:var(--color-accent-100);color:var(--color-accent-800)}
.adm-pill-muted{background:var(--color-neutral-200);color:var(--color-neutral-700)}
.adm-pill-info{background:#E4F5FD;color:#0B6C93}

.adm-row-primary-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;background:transparent;border:2px solid var(--color-navy);color:var(--color-text);cursor:pointer;font:800 10px/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.adm-row-primary-btn:hover{background:var(--color-navy);border-color:var(--color-navy);color:#fff}
.adm-row-menu-btn{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:2px solid var(--color-line);color:var(--color-neutral-700);cursor:pointer;flex:none}
.adm-row-menu-btn:hover{border-color:var(--color-navy);color:var(--color-text);background:var(--color-neutral-200)}
.adm-row-menu{position:absolute;top:38px;right:0;z-index:55;min-width:210px;max-height:calc(100vh - 24px);overflow-y:auto;background:var(--color-panel);border:1px solid var(--color-line);border-top:2px solid var(--color-navy);box-shadow:var(--shadow-lg);animation:admFade .12s ease-out}
.adm-row-menu[hidden]{display:none}
.adm-menu-item{display:block;width:100%;text-align:left;padding:12px 15px;cursor:pointer;font:600 12.5px/1.3 var(--font-body);border-bottom:1px solid var(--color-line-soft);background:transparent;border-left:0;border-right:0;border-top:0;color:var(--color-text);text-decoration:none}
.adm-menu-item:last-child{border-bottom:0}
.adm-menu-item:hover{background:var(--color-neutral-200);color:var(--color-text)}
.adm-menu-item.is-danger{color:var(--color-danger)}
.adm-menu-item.is-danger:hover{background:var(--color-danger-bg);color:var(--color-danger-fg)}

/* card list (mobile) */
.adm-cards{display:none;flex-direction:column;gap:12px}
.adm-card-row{border:1px solid var(--color-line);border-top:2px solid var(--color-navy);background:var(--color-panel);padding:16px}
.adm-card-top{display:flex;gap:12px;align-items:flex-start}
.adm-card-title{font:800 15px/1.3 var(--font-body);letter-spacing:-.01em;color:var(--color-text)}
.adm-card-subtitle{font:500 12.5px/1.4 var(--font-body);color:var(--color-neutral-700);margin-top:4px}
.adm-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 14px;margin:14px 0;padding:13px 0;border-top:1px solid var(--color-line-soft);border-bottom:1px solid var(--color-line-soft)}
.adm-card-meta-label{font:700 9px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-600)}
.adm-card-meta-value{font:700 13px/1.35 var(--font-body);margin-top:5px}
.adm-card-actions{display:flex;gap:8px}
.adm-card-actions .adm-row-primary-btn{flex:1;height:46px;justify-content:flex-start;padding:0 15px}

@media (max-width:820px){
  .adm-table-wrap{display:none}
  .adm-cards{display:flex}
}

.adm-empty{padding:60px 24px;text-align:center}
.adm-empty-title{font:800 20px/1.25 var(--font-body);color:var(--color-text)}
.adm-empty-text{font:400 14px/1.6 var(--font-body);color:var(--color-neutral-700);margin:10px 0 20px}

/* ------------------------------------------------------------------- pagination */
.adm-pager{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:18px}
.adm-pager-info{font:500 12px/1.4 var(--font-body);color:var(--color-neutral-700)}
.adm-pager-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adm-pager-btn{height:40px;padding:0 15px;border:2px solid var(--color-navy);background:transparent;color:var(--color-text);font:800 10px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.adm-pager-btn:hover{background:var(--color-navy);color:#fff}
.adm-pager-btn[disabled],.adm-pager-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.adm-pager-page{min-width:40px;height:40px;padding:0 10px;cursor:pointer;font:700 12.5px/1 var(--font-body);border:2px solid var(--color-line);background:var(--color-panel);color:var(--color-text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.adm-pager-page:hover{border-color:var(--color-navy);color:var(--color-text)}
.adm-pager-page.is-active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}

/* --------------------------------------------------------------------- actionbar */
.adm-actionbar{position:sticky;bottom:0;z-index:40;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px clamp(14px,3vw,32px);border-top:2px solid var(--color-navy);background:var(--color-panel);box-shadow:0 -6px 18px rgba(20,42,79,.06)}
.adm-actionbar-hint{font:600 12px/1.4 var(--font-body);color:var(--color-neutral-700);flex:1;min-width:140px}

/* ----------------------------------------------------------------------- tabs */
.adm-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:18px;border-bottom:2px solid var(--color-navy)}
.adm-tab{height:46px;padding:0 20px;background:transparent;border:0;cursor:pointer;font:800 11px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}
.adm-tab:hover{color:var(--color-text)}
.adm-tab.is-active{color:var(--color-text);background:var(--color-panel);box-shadow:inset 0 -3px 0 var(--color-accent)}
.adm-tab-panel{display:none}
.adm-tab-panel.is-active{display:block;animation:admFade .12s ease-out}

/* ---------------------------------------------------------------- image select */
.adm-imgselect{display:flex;gap:12px;align-items:center}
.adm-imgselect-preview{width:88px;height:60px;object-fit:cover;border:2px solid var(--color-line);flex:none;background:var(--color-surface)}
.adm-imgselect-preview.is-empty{display:flex;align-items:center;justify-content:center}

/* ------------------------------------------------------------------------ forms */
.adm-form-wrap{max-width:1180px}
.adm-form-grid{display:grid;grid-template-columns:2fr 1fr;gap:clamp(16px,2.4vw,26px);align-items:start}
@media (max-width:920px){.adm-form-grid{grid-template-columns:1fr}}
.adm-form-main{border:1px solid var(--color-line);background:var(--color-panel);min-width:0}
.adm-fieldset{padding:clamp(18px,2.2vw,26px);border-bottom:1px solid var(--color-line)}
.adm-fieldset:last-child{border-bottom:0}
.adm-fieldset-title{font:800 11px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text);padding-bottom:12px;border-bottom:2px solid var(--color-navy);margin-bottom:16px}
.adm-fieldset-hint{font:400 13px/1.55 var(--font-body);color:var(--color-neutral-700);margin:-6px 0 18px}
.adm-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.adm-field{display:block;min-width:0}
.adm-field.is-full{grid-column:1 / -1}
.adm-field-label{display:block;font:700 10px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-neutral-700);margin-bottom:8px}
.adm-input,.adm-select{width:100%;height:46px;padding:0 13px;border:2px solid var(--color-neutral-300);background:#F8FAFC;font:500 13.5px/1 var(--font-body);color:var(--color-text)}
.adm-input:focus,.adm-select:focus,.adm-input:focus-visible,.adm-select:focus-visible{border-color:var(--color-info);background:var(--color-panel);outline:0}
.adm-textarea{width:100%;padding:12px 13px;border:2px solid var(--color-neutral-300);background:#F8FAFC;font:500 13.5px/1.6 var(--font-body);color:var(--color-text);resize:vertical}
.adm-textarea:focus,.adm-textarea:focus-visible{border-color:var(--color-info);background:var(--color-panel);outline:0}
.adm-field-hint{display:block;font:400 11.5px/1.45 var(--font-body);color:var(--color-neutral-600);margin-top:7px}
.adm-select[readonly],.adm-input[readonly]{background:var(--color-neutral-200);color:var(--color-neutral-700)}
:root[data-adm-theme="dark"] .adm-input,:root[data-adm-theme="dark"] .adm-select,:root[data-adm-theme="dark"] .adm-textarea{background:var(--color-surface)}

.adm-form-aside{display:flex;flex-direction:column;gap:18px;min-width:0}
.adm-aside-panel{border:1px solid var(--color-line);background:var(--color-panel)}
.adm-aside-head{padding:15px 17px;border-bottom:2px solid var(--color-navy);font:800 10.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text)}
.adm-aside-body{padding:17px}
.adm-toggle-row{display:flex;gap:11px;align-items:flex-start;padding:10px 0;cursor:pointer}
.adm-toggle-row input{width:17px;height:17px;margin-top:2px;cursor:pointer;flex:none}
.adm-toggle-label{display:block;font:700 12.5px/1.3 var(--font-body)}
.adm-toggle-hint{display:block;font:400 11.5px/1.5 var(--font-body);color:var(--color-neutral-700);margin-top:4px}
.adm-meta-panel{border:1px solid var(--color-line);background:var(--color-panel)}
.adm-meta-row{display:flex;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--color-line-soft)}
.adm-meta-row:last-child{border-bottom:0}
.adm-meta-label{font:500 11.5px/1.3 var(--font-body);color:var(--color-neutral-700)}
.adm-meta-value{font:700 11.5px/1.3 var(--font-body);text-align:right}

.adm-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.adm-image-slot{border:2px solid var(--color-line);background:var(--color-surface);aspect-ratio:1;position:relative;overflow:hidden;display:flex;flex-direction:column}
.adm-image-slot img{width:100%;height:100%;object-fit:cover;flex:1}
.adm-image-slot-cover{border-color:var(--color-accent)}
.adm-image-slot-label{position:absolute;top:0;left:0;font:800 8.5px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--color-accent);padding:4px 6px;z-index:2}
.adm-image-slot-actions{display:flex;background:var(--color-panel)}
.adm-image-slot-actions button{flex:1;height:26px;background:transparent;border:0;border-top:1px solid var(--color-line);cursor:pointer;font:700 11px/1 var(--font-body);color:var(--color-text)}
.adm-image-slot-actions button:hover{background:var(--color-neutral-200)}
.adm-image-slot-actions button.is-remove{color:var(--color-danger)}
.adm-image-slot-actions button+button{border-left:1px solid var(--color-line)}

.adm-sticky-footer{position:sticky;bottom:0;z-index:40;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px clamp(14px,3vw,32px);border-top:2px solid var(--color-navy);background:var(--color-panel);box-shadow:0 -6px 18px rgba(20,42,79,.06)}
.adm-sticky-footer-hint{font:600 12px/1.4 var(--font-body);color:var(--color-neutral-700);flex:1;min-width:140px}

/* --------------------------------------------------------------------- dashboard */
.adm-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;border:1px solid var(--color-line);background:var(--color-line);margin-bottom:26px}
.adm-stat{padding:24px 24px 26px;background:var(--color-panel);border:0}
.adm-stat::before{content:"";display:block;width:34px;height:4px;background:var(--color-accent);margin-bottom:16px}
.adm-stat:nth-child(2)::before{background:var(--color-info)}
.adm-stat:nth-child(3)::before{background:var(--color-navy)}
.adm-stat:nth-child(4)::before{background:var(--ok)}
.adm-stat-label{font:700 9.5px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-neutral-600)}
.adm-stat-value{font:900 clamp(26px,3.4vw,36px)/1 var(--font-heading);letter-spacing:-.03em;margin-top:12px;color:var(--color-text)}
.adm-stat-note{font:400 11.5px/1.4 var(--font-body);color:var(--color-neutral-600);margin-top:10px}
.adm-two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
@media (max-width:820px){.adm-two-col{grid-template-columns:1fr}}
.adm-list-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--color-line-soft)}
.adm-list-row:last-child{border-bottom:0}
.adm-list-row.is-link{cursor:pointer;text-decoration:none;color:inherit}
.adm-list-row.is-link:hover{background:var(--color-neutral-200)}
.adm-list-kicker{font:700 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-info)}
.adm-list-title{font:500 13.5px/1.35 var(--font-body);margin-top:6px;color:var(--color-text)}
.adm-status-bar{display:flex;flex-wrap:wrap;gap:22px;align-items:center;padding:17px 20px;margin-bottom:22px}
.adm-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}

/* --------------------------------------------------------------------- drawers */
.adm-drawer-backdrop{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end;background:var(--scrim);animation:admFade .15s ease-out}
.adm-drawer-backdrop[hidden]{display:none}
.adm-drawer-scrim-click{position:absolute;inset:0}
.adm-drawer{position:relative;width:min(430px,100%);background:var(--color-panel);border-left:2px solid var(--color-navy);display:flex;flex-direction:column;animation:admSlideIn .18s ease-out;box-shadow:-8px 0 28px rgba(20,42,79,.2)}
.adm-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px;border-bottom:2px solid var(--color-navy);background:var(--color-neutral-200)}
.adm-drawer-kicker{font:700 9.5px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent)}
.adm-drawer-title{font:900 19px/1.1 var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;margin-top:9px;color:var(--color-text)}
.adm-drawer-subtitle{font:500 12.5px/1.45 var(--font-body);color:var(--color-neutral-700);margin-top:7px}
.adm-drawer-body{flex:1;overflow-y:auto}
.adm-drawer-foot{display:flex;gap:10px;padding:16px 20px;border-top:2px solid var(--color-navy)}
.adm-drawer-section{padding:20px;border-bottom:1px solid var(--color-line)}
.adm-drawer-section-title{font:700 10px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700);margin-bottom:12px}
.adm-status-opt{display:flex;align-items:center;gap:11px;height:46px;padding:0 15px;cursor:pointer;text-align:left;font:600 12.5px/1 var(--font-body);border:2px solid var(--color-line);background:transparent;color:var(--color-text);width:100%;margin-bottom:8px;text-decoration:none}
.adm-status-opt:hover{border-color:var(--color-navy)}
.adm-status-opt.is-active{border-color:var(--color-accent);background:var(--color-accent-100);font-weight:800}
.adm-status-dotm{width:9px;height:9px;flex:none;background:var(--color-neutral-400)}
.adm-status-opt.is-active .adm-status-dotm{background:var(--color-accent)}
.adm-drawer-row{display:flex;justify-content:space-between;gap:14px;padding:14px 20px;border-bottom:1px solid var(--color-line-soft)}
.adm-drawer-row-label{font:500 12px/1.4 var(--font-body);color:var(--color-neutral-700);flex:none}
.adm-drawer-row-value{font:700 12.5px/1.4 var(--font-body);text-align:right}
.adm-drawer-filter-group{margin-bottom:22px}
.adm-drawer-filter-group:last-child{margin-bottom:0}
.adm-drawer-filter-opts{display:flex;flex-wrap:wrap;gap:8px}
.adm-drawer-filter-opt{height:38px;padding:0 13px;cursor:pointer;font:600 12px/1 var(--font-body);border:2px solid var(--color-line);background:transparent;color:var(--color-text);text-decoration:none;display:inline-flex;align-items:center}
.adm-drawer-filter-opt:hover{border-color:var(--color-navy);color:var(--color-text)}
.adm-drawer-filter-opt.is-active{border-color:var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-800);font-weight:800}

/* --------------------------------------------------------------------- dialog */
.adm-dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:var(--scrim);animation:admFade .14s ease-out}
.adm-dialog-backdrop[hidden]{display:none}
.adm-dialog{position:relative;width:min(500px,100%);background:var(--color-panel);border:1px solid var(--color-line);border-top:6px solid var(--color-accent);box-shadow:var(--shadow-lg)}
.adm-dialog-top{display:flex;gap:15px;align-items:flex-start;padding:24px 24px 18px}
.adm-dialog-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;background:var(--color-danger-bg);color:var(--color-danger)}
.adm-dialog-title{font:900 19px/1.2 var(--font-heading);letter-spacing:-.02em;color:var(--color-text)}
.adm-dialog-body{font:400 13.5px/1.6 var(--font-body);color:var(--color-neutral-700);margin-top:10px}
.adm-dialog-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px 24px}
.adm-dialog-actions .adm-btn{height:46px}

/* --------------------------------------------------------------------- gallery */
.adm-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.adm-media-card{border:1px solid var(--color-line);background:var(--color-panel);display:flex;flex-direction:column;transition:border-color .18s ease,box-shadow .18s ease}
.adm-media-card:hover{border-color:var(--color-navy);box-shadow:0 10px 26px rgba(20,42,79,.13)}
.adm-media-thumb{aspect-ratio:4/3;background:var(--color-surface);border-bottom:1px solid var(--color-line);overflow:hidden}
.adm-media-thumb img{width:100%;height:100%;object-fit:cover}
.adm-media-body{padding:12px 13px 13px;display:flex;flex-direction:column;gap:9px;flex:1}
.adm-media-name{font:600 11.5px/1.35 var(--font-body);word-break:break-all;color:var(--color-text)}
.adm-media-meta{font:500 10.5px/1 var(--font-body);color:var(--color-neutral-600)}

/* --------------------------------------------------------------------- login */
.adm-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--color-navy-deep)}
.adm-login-card{width:100%;max-width:380px;border:none;border-top:6px solid var(--color-accent);background:var(--color-panel);padding:clamp(26px,4vw,36px);box-shadow:var(--shadow-lg)}
.adm-login-brand{width:auto;height:46px;background:transparent;margin:0 0 22px;display:flex;align-items:center}
.adm-login-brand img{height:46px;width:auto;display:block}
.adm-login-title{font:900 24px/1 var(--font-heading);text-transform:uppercase;letter-spacing:-.02em;text-align:left;color:var(--color-text)}
.adm-login-sub{text-align:left;color:var(--color-neutral-700);font:400 13.5px/1.5 var(--font-body);margin:8px 0 24px}
.adm-login-error{padding:12px 14px;border:0;border-left:4px solid var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger-fg);margin-bottom:16px;font:600 13px/1.45 var(--font-body)}
.adm-login-ok{padding:12px 14px;border:0;border-left:4px solid var(--ok);background:var(--color-neutral-200);color:var(--color-text);margin-bottom:16px;font:600 13px/1.45 var(--font-body)}
.adm-login-back{display:block;text-align:left;margin-top:20px;color:var(--color-neutral-700);font:700 11px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.adm-login-back:hover{color:var(--color-accent)}

/* ------------------------------------------------------------- auth flow */
.adm-eye-btn{width:46px;height:46px;flex:none;display:grid;place-items:center;background:#F8FAFC;border:2px solid var(--color-neutral-300);color:var(--color-neutral-700);cursor:pointer}
.adm-eye-btn:hover{border-color:var(--color-navy);color:var(--color-text)}
:root[data-adm-theme="dark"] .adm-eye-btn{background:var(--color-surface)}

.adm-steps{display:flex;gap:0;margin:0 0 20px;border-top:2px solid var(--color-navy)}
.adm-step{flex:1;padding:9px 0 0}
.adm-step+.adm-step{padding-left:8px}
.adm-step-bar{height:4px;background:var(--color-neutral-300)}
.adm-step.is-active .adm-step-bar{background:var(--color-accent)}
.adm-step-label{font:800 8.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700);margin-top:8px}
.adm-step.is-active .adm-step-label{color:var(--color-accent)}

.adm-code-row{display:flex;gap:7px}
.adm-code-input{width:100%;padding:0;text-align:center;font:800 18px/1 var(--font-heading)}
.adm-code-input.is-error{border-color:var(--color-danger)}

.adm-strength-bars{display:flex;gap:4px}
.adm-strength-bar{flex:1;height:5px;background:var(--color-neutral-300);transition:background-color .15s ease-out}
.adm-strength-row{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.adm-strength-kicker{font:700 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-600)}
.adm-strength-label{font:800 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase}

.adm-reqs{border:0;border-left:4px solid var(--color-line);background:var(--color-neutral-200);padding:13px 14px;display:flex;flex-direction:column;gap:8px}
.adm-reqs-title{font:700 9.5px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-neutral-700)}
.adm-req{display:flex;gap:9px;align-items:center}
.adm-req svg{flex:none}
.adm-req-label{font:500 12px/1.35 var(--font-body);color:var(--color-neutral-700)}
.adm-req.is-ok .adm-req-label{color:var(--color-text)}

.adm-resend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid var(--color-line)}
.adm-resend-note{font:500 11.5px/1.4 var(--font-body);color:var(--color-neutral-700)}

.adm-done-icon{width:52px;height:52px;background:var(--ok);display:grid;place-items:center;margin-bottom:18px}
.adm-done-rows{border-top:2px solid var(--color-navy);padding-top:16px;display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.adm-done-row{display:flex;justify-content:space-between;gap:12px}
.adm-done-row-label{font:500 12px/1.3 var(--font-body);color:var(--color-neutral-700)}
.adm-done-row-value{font:700 12px/1.3 var(--font-body)}

/* --------------------------------------------------------------------- settings */
.adm-settings-note{font:400 13px/1.55 var(--font-body);color:var(--color-neutral-700);margin-bottom:14px}
.adm-settings-subhead{font:800 11px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700);margin:22px 0 10px}
