/* Shared spacing, card hierarchy and responsive controls for every administration tab. */
.admin-shell{--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-body);font-family:var(--font-body);font-style:normal;font-size:14px;line-height:1.55}
.admin-shell button,.admin-shell input,.admin-shell select,.admin-shell textarea,.admin-shell label,
.admin-shell p,.admin-shell a,.admin-shell th,.admin-shell td,.admin-shell h1,.admin-shell h2,.admin-shell h3,
.admin-shell h4,.admin-shell strong,.admin-shell small,.admin-shell summary{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-style:normal!important;text-shadow:none!important;
}
.admin-shell input::placeholder,.admin-shell textarea::placeholder{color:#a49893;opacity:1}
.admin-shell [hidden]{display:none!important}
.admin-shell .ui-icon,.admin-shell .flat-icon{filter:none!important;box-shadow:none!important;text-shadow:none!important}
.admin-shell .btn::before,.admin-shell .btn::after{display:none!important;content:none!important}
.admin-shell{min-width:0;grid-template-columns:248px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;align-self:start;height:100vh;min-height:100vh;overflow:auto;border-right:1px solid #493239;background:#100d0e}
.admin-main{display:flex;flex-direction:column;gap:24px;min-width:0;max-width:100%;padding:clamp(18px,2.2vw,34px);overflow-x:clip;background:#0d0b0d}
.admin-main>*{min-width:0;max-width:100%}
.admin-main>#page-flash[hidden]{display:none!important}
.admin-main>.admin-topbar{margin:0;padding:16px 18px;border:1px solid #4b3335;border-radius:13px;background:#100d0e;}
.admin-main>.admin-topbar h1{line-height:1.15;letter-spacing:.015em}
.admin-main>.admin-topbar .admin-breadcrumb{display:block;margin-bottom:4px;color:#bda9a2;font-size:12px;letter-spacing:.07em}
.admin-main>.admin-topbar .user-chip{background:#29171a!important;border-color:#805251!important;color:#ffd0d0!important}
.admin-main>.admin-topbar .user-chip .rank-signature{color:#ffd0d0!important;text-shadow:none!important}
.admin-main>.flash{width:100%;margin:0}
.admin-main .panel{min-width:0;margin:0!important;padding:22px;border:1px solid #64464b;border-radius:12px;background:#181215;box-shadow:none;overflow:visible}
.admin-main .panel::before,.admin-main .panel:hover::before,.admin-main .admin-form::before{display:none!important;content:none!important;animation:none!important}
.admin-main .panel-head{align-items:flex-start;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid #472d30}
.admin-main .panel-head h2{margin:0;font-size:clamp(19px,2vw,24px);line-height:1.2;letter-spacing:.025em}
.admin-main .panel-head p{max-width:950px;margin:5px 0 0;color:#c5b4af;font-size:14px;line-height:1.55}
.admin-main .panel>p{max-width:1000px;line-height:1.65;color:#d0c3bd}
.admin-main .admin-grid{gap:18px;margin:0}
.admin-main .stats-grid{gap:14px;margin:0}
.admin-main .stat-card{min-width:0;border-color:#56383a;border-radius:12px;background:#171112;box-shadow:none}
.admin-main .admin-form{min-width:0;margin:16px 0;padding:18px;border:1px solid #513638;border-radius:12px;background:#151011;box-shadow:none}
.admin-main .form-grid{gap:16px 18px;align-items:start}
.admin-main .form-field{min-width:0;gap:7px}
.admin-main .form-field label,.admin-main .form-field>span{color:#ebd9cd;line-height:1.4;font-size:13px!important;letter-spacing:0!important;text-transform:none;font-weight:650}
.admin-main input:not([type=checkbox]):not([type=radio]),.admin-main textarea,.admin-main select,.admin-main .input{max-width:100%;min-width:0;border-color:#56383a;border-radius:8px;background:#0d0b0c;color:#fff0e5}
.admin-main textarea{line-height:1.55}
.admin-main input:focus-visible,.admin-main textarea:focus-visible,.admin-main select:focus-visible{outline:2px solid #d3aa61;outline-offset:2px;box-shadow:none}
.admin-main button,.admin-main .btn{max-width:100%;white-space:normal;line-height:1.25}
.admin-main .inline-form{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;margin:3px 8px 3px 0}
.admin-main .inline-form select{min-height:36px}
.admin-main .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #463034;border-radius:10px;background:#100d0e}
.admin-main .data-table{width:100%;border-collapse:collapse}
.admin-main .data-table th{padding:13px 12px;border-bottom:1px solid #5b393d;background:#171011;color:#d9c3b4;font-size:11px;line-height:1.35;white-space:normal}
.admin-main .data-table td{padding:14px 12px;border-bottom:1px solid #38272a;line-height:1.45;overflow-wrap:anywhere}
.admin-main .data-table tr:last-child td{border-bottom:0}
.admin-main .data-table tbody tr:hover{background:rgba(145,49,55,.1)}
.admin-main .search-bar{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:12px;border:1px solid #463034;border-radius:10px;background:#100d0e}
.admin-main .search-bar input{flex:1}
.admin-main .form-help{display:block;line-height:1.55}
.admin-main .form-help{margin:7px 0;color:#c0afa8;font-size:12px}
.admin-main .panel .panel{margin-top:16px!important;background:#130f11}
.admin-main>.panel+.panel{margin-top:0!important}
.admin-main form>fieldset,.admin-main .admin-form>fieldset{margin:18px 0;padding:18px;border:1px solid #503b40;border-radius:10px;background:#110e10;min-width:0}
.admin-main legend{padding:0 8px;color:#e5c39a;font-size:14px;font-weight:650}
.admin-main .btn{min-height:38px;padding:9px 13px;letter-spacing:0;font-size:13px;font-weight:650;text-transform:none;box-shadow:none!important;filter:none!important;transform:none!important}
.admin-main .btn .ui-icon{width:19px;height:19px;filter:none!important}
.admin-main .btn-gold{background:#e6b965;color:#23170d;border:1px solid #e6b965}
.admin-main .btn-danger{background:#2e171e;border:1px solid #bc5966;color:#ffd1d7}
.admin-main .admin-table{width:100%;border-collapse:collapse}
.admin-main .admin-table th,.admin-main .admin-table td{padding:14px 15px;text-align:left;vertical-align:top;border-bottom:1px solid #483037;line-height:1.5}
.admin-main .admin-table th{background:#22171c;font-size:12px;color:#e7cfae;letter-spacing:0;text-transform:none}
.admin-main .admin-table td{font-size:13px;color:#f1e4dc}
.admin-main .data-table td>strong,.admin-main .admin-table td>strong{display:block;margin-bottom:5px}
.admin-main .admin-table td>small{display:block;margin-top:5px;color:#c2afa4}
.admin-main .admin-table tbody tr:hover{background:#20171b}
.admin-main .tb-backup-table-wrap{border:1px solid #513840;border-radius:9px;background:#120e10;max-width:100%;overflow-x:auto}
.admin-main .tb-backup-metrics{gap:14px;margin-top:18px}
.admin-main .tb-backup-metrics>div{min-width:0;padding:17px;border:1px solid #75543d;background:#241b14;border-radius:9px}
.admin-main .tb-backup-metrics strong{font-size:25px;font-weight:700}
.admin-main .tb-backup-upload-actions{gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #473039}
.admin-main .tb-backup-row-actions{gap:9px;align-items:flex-start}
.admin-main .tb-backup-row-actions form{margin:0}
.admin-main .tb-backup-filename{display:block;margin-top:5px;font-size:12px;color:#c7b4a8}
.admin-main .admin-note-card{padding:18px;border:1px solid #60434a;border-radius:10px;background:#151014;margin:0}
.admin-main .article-block,.admin-main .article-editor-block,.admin-main [data-article-block]{margin-top:16px;padding:16px;border:1px solid #554047;border-radius:10px;background:#110e10}
.admin-sidebar .admin-nav{gap:14px}
.admin-sidebar .admin-nav-group{margin:0;padding:9px 10px;border:1px solid #443039;border-radius:9px;background:#171014}
.admin-sidebar .admin-nav-group>summary{font-size:12px;line-height:1.5;letter-spacing:0;color:#d6b996;text-transform:none}
.admin-sidebar .admin-nav-link{font-size:13px;line-height:1.4;min-height:40px;gap:9px;letter-spacing:0;white-space:normal}
.admin-sidebar .admin-nav-link.active{background:#302317;color:#ffdea3;border-color:#8f6c3e}
.admin-main .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr))}
.admin-main .stat-card .stat-value{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:30px;line-height:1.2}
.admin-main .panel .empty-state{margin:12px 0 0}
.admin-main .quick-actions{gap:10px}
.admin-main .quick-actions a{min-height:46px;align-items:center;gap:12px;padding:12px 14px;border-color:#503438;border-radius:9px;background:#151011}
.admin-main .rank-invite-panel{gap:16px;margin:0;padding:18px;border-color:#624044;border-radius:12px;background:#130f10;box-shadow:none}
.admin-main .one-time-code{gap:16px;min-width:0;padding:15px;border-radius:10px;background:#1e1711;box-shadow:none}
.admin-main .one-time-code-copy,.admin-main .one-time-code-actions{min-width:0}
.admin-main .one-time-code code{display:inline-block;max-width:100%;overflow-wrap:anywhere;letter-spacing:.12em}
.admin-main .rank-invite-create{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px;margin:0;padding:16px;border-color:#483235;border-radius:10px;background:#100d0e}
.admin-main .rank-invite-create>label{gap:8px;line-height:1.35}
.admin-main .rank-invite-create>.btn{min-height:42px;padding:9px 16px}
.admin-main .invite-list-heading{margin:0;padding:0 0 10px;border-bottom-color:#4e3437}
.admin-main .invite-table-wrap{margin-top:0}
.admin-main .invite-table{min-width:590px}
.admin-main .invite-empty-state{gap:14px;padding:16px;border-color:#51393a;background:#100d0e}
.admin-main .admin-media-library,.admin-main .profile-art-admin-grid{gap:18px}
.admin-main .admin-media-library-section,.admin-main .profile-art-admin-group{min-width:0;padding:16px;border:1px solid #4b3335;border-radius:12px;background:#120f10}
.admin-main .text-catalog-list{display:grid;gap:8px}
.admin-main .admin-text-row{margin:0!important;border:1px solid #453033;border-radius:9px;background:#100d0e}
.admin-main .admin-text-row>summary{gap:12px}
.admin-main .roadmap-admin-panel .table-wrap{margin-top:14px}
@media(max-width:1050px){.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-main{padding:18px}.admin-main .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .admin-shell{display:block;min-width:0}.admin-sidebar{position:relative;height:auto;min-height:0;overflow:visible;border-right:0;border-bottom:1px solid #493239}
  .admin-sidebar .admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}
  .admin-sidebar .admin-nav-search,.admin-sidebar .admin-back-link{grid-column:1/-1}
  .admin-sidebar .admin-nav-group{min-width:0}.admin-sidebar .admin-nav-group>summary{white-space:normal}
  .admin-main{gap:13px;padding:14px 11px}.admin-main>.admin-topbar{flex-direction:column;align-items:stretch;padding:13px}
  .admin-main>.admin-topbar>.header-actions{width:100%;justify-content:space-between}
  .admin-main .panel{padding:14px}.admin-main .admin-grid,.admin-main .admin-notes-layout{grid-template-columns:minmax(0,1fr)}
  .admin-main .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .admin-main .admin-form{padding:13px}.admin-main .rank-invite-panel{padding:13px}.admin-main .rank-invite-create{grid-template-columns:minmax(0,1fr)}
  .admin-main .rank-invite-create>.btn{width:100%}.admin-main .one-time-code{grid-template-columns:minmax(0,1fr)}.admin-main .one-time-code-actions{justify-content:flex-start;flex-wrap:wrap}
  .admin-main .search-bar{align-items:stretch;flex-wrap:wrap}.admin-main .search-bar input{flex-basis:100%}
  .admin-main .data-table{min-width:680px}.admin-main .panel-head{align-items:flex-start}
}
@media(max-width:420px){.admin-main .stats-grid{grid-template-columns:minmax(0,1fr)}.admin-main .one-time-code-actions code{min-width:0}.admin-main .panel{padding:12px}}

/* v7: use the full workspace for every admin section and full-width editor. */
.admin-shell .admin-main {width:100%!important;max-width:none!important;box-sizing:border-box;padding:24px!important;gap:26px!important}
.admin-main>.panel,.admin-main>.admin-grid,.admin-main>.admin-notes-layout {width:100%!important;max-width:none!important;box-sizing:border-box}
.admin-main .admin-form,.admin-main .admin-form>form,.admin-main .form-grid,.admin-main .article-builder,.admin-main .article-builder-list,.admin-main .article-edit-block {width:100%!important;max-width:none!important;box-sizing:border-box}
.admin-main .form-grid,.admin-main .article-edit-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important;width:100%;min-width:0}
.admin-main .form-field.full,.admin-main .form-grid>.full,.admin-main .article-edit-grid>.full,.admin-main .article-builder {grid-column:1/-1!important;min-width:0;width:100%;max-width:none!important;box-sizing:border-box}
.admin-main .form-field {width:100%;box-sizing:border-box;gap:10px!important}
.admin-main .form-field>input,.admin-main .form-field>select,.admin-main .form-field>textarea {width:100%!important;box-sizing:border-box}
.admin-main .panel {padding:26px!important}
.admin-main .admin-form {padding:24px!important;margin:20px 0!important}
.admin-main details.admin-form>summary {padding:4px 0 16px;font-size:16px;line-height:1.5}
.admin-main .article-builder {padding:24px!important;margin:8px 0 0!important}
.admin-main .article-edit-block {padding:22px!important;background:#110e10!important;border:1px solid #65464d;border-radius:12px}
.admin-main .article-builder-list {gap:24px!important}
.admin-main .article-edit-block>header {padding-bottom:16px;margin-bottom:20px;gap:16px;flex-wrap:wrap}
.admin-main .rich-text-editor {width:100%;min-width:0}
.admin-main .rich-text-toolbar {padding:12px!important;gap:8px!important}
.admin-main .rich-text-toolbar button,.admin-main .rich-text-toolbar select {min-height:36px;font-size:13px}
.admin-main .rich-text-surface {min-height:260px!important;max-height:640px;padding:18px!important;font-size:16px!important;line-height:1.7!important}
.admin-main textarea {min-height:120px;padding:13px!important;font-size:14px!important}
.admin-main .article-tile-preview {width:min(100%,860px)!important;max-width:860px!important;margin-top:14px}
.admin-main .article-block-preview {width:100%;max-width:680px!important}
.admin-main .article-block-preview img {max-height:360px!important;object-fit:contain}
.admin-main .table-wrap,.admin-main .tb-backup-table-wrap,.admin-main .tb-backup-progress {width:100%!important;max-width:none!important;box-sizing:border-box}
.admin-main .admin-table td,.admin-main .data-table td {padding:18px 16px!important}
.admin-main .admin-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important}
@media(min-width:1400px){.admin-main .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
@media(max-width:1100px){.admin-main .admin-grid {grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.admin-main .form-grid,.admin-main .article-edit-grid {grid-template-columns:minmax(0,1fr)!important}.admin-main .rich-text-surface {min-height:200px!important}}
@media(max-width:720px){.admin-shell .admin-main {padding:14px 11px!important;gap:18px!important}.admin-main .panel,.admin-main .admin-form,.admin-main .article-builder,.admin-main .article-edit-block {padding:14px!important}.admin-main .form-grid,.admin-main .article-edit-grid {gap:18px!important}}
/* Legacy forms wrap their actual fields in a second grid. It must span both outer columns. */
.admin-main .form-grid>.form-grid {grid-column:1/-1!important;width:100%!important}

/* Admin clarity v8 — phone layout only. Desktop is intentionally unchanged. */
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  .admin-shell,.admin-main,.admin-main .panel,.admin-main .admin-form,.admin-main .form-grid,.admin-main .form-field{min-width:0!important;max-width:100%!important}
  .admin-shell .admin-main{padding:10px 8px!important;gap:12px!important}
  .admin-main>.admin-topbar{padding:10px!important;border-radius:9px}
  .admin-main>.admin-topbar h1{font-size:21px!important;line-height:1.12}
  .admin-main>.admin-topbar .admin-breadcrumb{font-size:10px}
  .admin-main .panel,.admin-main .admin-form,.admin-main .article-builder,.admin-main .article-edit-block{padding:10px!important;border-radius:9px}
  .admin-main .form-grid,.admin-main .article-edit-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .admin-main .form-field{gap:6px!important}
  .admin-main .form-field>label,.admin-main .rich-text-label{font-size:13px!important;line-height:1.3}
  .admin-main input:not([type=checkbox]):not([type=radio]):not([type=color]),.admin-main select,.admin-main textarea{font-size:16px!important;min-height:44px}
  .admin-main textarea{min-height:105px!important}

  /* Roadmap editor: remove the giant nested cards and keep every field inside the viewport. */
  .admin-main .roadmap-point-builder{padding:9px!important;border-radius:9px}
  .admin-main .roadmap-point-builder>legend{font-size:12px;line-height:1.25}
  .admin-main .roadmap-point-list{gap:12px}
  .admin-main .roadmap-point-editor{padding:9px!important;border-radius:9px}
  .admin-main .roadmap-point-editor-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:9px}
  .admin-main .roadmap-point-editor-head strong{font-size:14px}
  .admin-main .roadmap-point-editor-head .btn{width:auto!important;max-width:145px;min-height:38px;padding:7px 9px!important;font-size:11px!important;line-height:1.15;white-space:normal}
  .admin-main .roadmap-point-editor-languages{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .admin-main .roadmap-point-editor-languages>.form-field,.admin-main .roadmap-point-editor-languages>label{grid-column:1!important;min-width:0;width:100%}
  .admin-main .roadmap-point-editor select{min-height:44px!important;font-size:15px!important}
  .admin-main .roadmap-point-editor-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .admin-main .roadmap-point-editor-actions .btn{width:100%;margin:0!important}

  /* Rich-text controls become one swipeable toolbar instead of a 5-row block. */
  .admin-main .rich-text-editor{width:100%;min-width:0;overflow:hidden;border-radius:9px}
  .admin-main .rich-text-toolbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:5px!important;width:100%;max-width:100%;padding:6px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}
  .admin-main .rich-text-toolbar>*{flex:0 0 auto!important}
  .admin-main .rich-tool-select select{width:auto!important;min-width:98px!important;max-width:none!important;height:38px!important;min-height:38px!important;padding:5px 27px 5px 8px!important;font-size:12px!important}
  .admin-main .rich-text-toolbar button{width:auto!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:5px 9px!important;font-size:12px!important;white-space:nowrap}
  .admin-main .rich-tool-color{height:38px!important;min-width:62px;padding:3px 6px!important;gap:4px!important;font-size:10px!important}
  .admin-main .rich-tool-color input[type=color]{width:27px!important;height:25px!important;padding:0!important}
  .admin-main .rich-text-surface{min-height:145px!important;max-height:330px!important;padding:12px!important;font-size:16px!important;line-height:1.6!important;overflow:auto}
  .admin-main .rich-text-source{min-height:145px!important}

  /* Keep action/status areas compact instead of stacking into oversized blocks. */
  .admin-main .roadmap-form-submit{display:grid!important;grid-template-columns:minmax(0,1fr);gap:7px!important}
  .admin-main .roadmap-form-submit .btn{width:100%}
  .admin-main .roadmap-admin-panel .table-wrap{margin-left:-2px;margin-right:-2px}
  .admin-main .roadmap-admin-panel .data-table{min-width:760px!important}
  .admin-main .roadmap-row-actions{gap:6px!important}
  .admin-main .roadmap-status-form{gap:6px!important}

  /* Admin navigation is a compact horizontal strip on phones. */
  .admin-sidebar{padding:8px!important}
  .admin-sidebar .admin-nav{display:flex!important;align-items:stretch;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:3px;-webkit-overflow-scrolling:touch}
  .admin-sidebar .admin-nav-search{display:none!important}
  .admin-sidebar .admin-nav-group{flex:0 0 auto;min-width:148px!important;padding:6px 8px!important}
  .admin-sidebar .admin-nav-group>summary{font-size:11px!important}
  .admin-sidebar .admin-nav-links{min-width:0}
  .admin-sidebar .admin-nav-link{min-height:34px!important;padding:6px 7px!important;font-size:11px!important}
  .admin-sidebar .admin-back-link{flex:0 0 auto;align-self:stretch;min-width:112px!important;padding:8px!important;font-size:11px!important}
}
