:root{
  --bg:#eef1f4;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#edf0f3;
  --ink:#17202a;--muted:#68727e;--line:#dce1e6;--dark:#171c23;--dark-2:#202731;
  --dark-3:#2b3440;--accent:#c9763e;--accent-2:#f1cf9a;--success:#2f8c65;--danger:#c65151;
  --shadow:0 16px 42px rgba(23,32,42,.09);--radius:16px;--radius-sm:10px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{background:var(--bg)} body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:14px}
button,input,select,textarea{font:inherit} button,a{touch-action:manipulation} a{color:inherit;text-decoration:none}
button{cursor:pointer}.app{min-height:100vh}.sidebar{background:var(--dark);color:#eef2f5;position:fixed;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;z-index:20}
.brand{height:76px;padding:18px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--accent-2),var(--accent));display:grid;place-items:center;color:#251a12;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.brand-copy strong{display:block;font-size:15px}.brand-copy span{display:block;color:#9ea8b4;font-size:11px;margin-top:2px;letter-spacing:.05em;text-transform:uppercase}
.nav{padding:16px 12px;overflow:auto;flex:1}.nav-group{margin-bottom:18px}.nav-label{font-size:10px;color:#7f8b98;text-transform:uppercase;letter-spacing:.16em;font-weight:800;padding:0 10px 8px}
.nav-item{width:100%;border:0;background:transparent;color:#bec7d1;border-radius:10px;padding:10px 11px;display:flex;align-items:center;gap:10px;text-align:left;margin:2px 0;position:relative}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#fff;color:#18212b;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.nav-icon{width:20px;text-align:center;opacity:.95}.nav-count{margin-left:auto;font-size:10px;border:1px solid currentColor;border-radius:999px;padding:1px 6px;opacity:.65}
.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.08)}.user-card{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#36414e;display:grid;place-items:center;font-weight:800}.user-card small{display:block;color:#8e9aa7;margin-top:2px}
.main{margin-left:250px;min-height:100vh}.topbar{height:76px;padding:0 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:15;border-bottom:1px solid var(--line)}
.breadcrumbs{min-width:0}.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--accent)}.page-title{font-size:21px;font-weight:800;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.search-global{width:min(32vw,330px);position:relative}.search-global input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);outline:0}.search-global span{position:absolute;right:12px;top:9px;color:var(--muted)}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:750;display:inline-flex;align-items:center;gap:7px;min-height:38px}.btn:hover{border-color:#b8c0c8}.btn.primary{background:var(--dark);border-color:var(--dark);color:#fff}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent}.btn.danger{background:#fff4f4;border-color:#efcaca;color:#a73f3f}.btn.small{padding:6px 9px;min-height:30px;font-size:12px}
.workspace{padding:24px 28px 44px;max-width:1700px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.page-head h1{font-size:26px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 1px rgba(0,0,0,.02)}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.card-head h2,.card-head h3{margin:0;font-size:15px}.card-head .sub{color:var(--muted);font-size:12px}.card-body{padding:18px}.card-foot{padding:13px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}
.split{display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:18px;align-items:start}.list-card{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column}.list-card .items{overflow:auto;padding:8px}.filter-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;padding:12px;border-bottom:1px solid var(--line)}
.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#9aa7b4;box-shadow:0 0 0 3px rgba(100,116,139,.09)}.textarea{min-height:110px;resize:vertical}
.item{padding:12px;border-radius:11px;border:1px solid transparent;margin:3px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.item:hover{background:var(--surface-2)}.item.active{background:#f7efe8;border-color:#e6c6ae}.item-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.item-date{color:var(--muted);font-size:11px;white-space:nowrap}.pill{font-size:10px;font-weight:800;padding:3px 7px;border-radius:999px;background:#edf1f4;color:#5e6874;border:1px solid #e0e5ea}.pill.premium{background:#fff2d9;color:#8b5a17;border-color:#f0d5a7}.pill.live{background:#e6f6ef;color:#287a58;border-color:#c7e8d9}.pill.off{background:#f1f2f3;color:#7c838a}.pill.early{background:#eee9ff;color:#6548a8;border-color:#d8cef8}
.editor{min-width:0}.editor-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.editor-header h2{margin:0 0 4px;font-size:22px}.editor-header p{margin:0;color:var(--muted)}.editor-header .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.section{margin-bottom:14px}.section summary{list-style:none;padding:14px 16px;font-weight:850;display:flex;align-items:center;gap:10px;cursor:pointer}.section summary::-webkit-details-marker{display:none}.section summary:after{content:'⌄';margin-left:auto;color:var(--muted)}.section[open] summary:after{transform:rotate(180deg)}.section-content{padding:0 16px 16px;border-top:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field.full{grid-column:1/-1}.field label{display:flex;justify-content:space-between;gap:10px;font-weight:760;font-size:12px;margin:0 0 6px}.hint{color:var(--muted);font-weight:500}.check-row{display:flex;gap:10px;flex-wrap:wrap}.check{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);display:flex;align-items:center;gap:8px;font-weight:700}.check input{accent-color:var(--accent)}
.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.rich-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:31px;height:31px;font-weight:800}.rich-surface{border:1px solid var(--line);border-radius:10px;min-height:145px;padding:13px;background:#fff;line-height:1.6}.rich-surface h3{margin:0 0 8px}.rich-surface p{margin:0 0 8px}
.tag-box{border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:#fff}.tag{border-radius:7px;background:#edf1f4;padding:5px 8px;font-size:11px;font-weight:750}.tag-box input{border:0;outline:0;flex:1;min-width:150px;padding:5px}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dropzone{border:1px dashed #aeb8c2;border-radius:12px;padding:20px;text-align:center;background:var(--surface-2);color:var(--muted)}.dropzone strong{display:block;color:var(--ink);margin-bottom:4px}.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.preview{aspect-ratio:4/3;border-radius:9px;background:linear-gradient(135deg,#9aa8b4,#52606d);position:relative;overflow:hidden}.preview:nth-child(2){background:linear-gradient(135deg,#c2a179,#6a5844)}.preview:nth-child(3){background:linear-gradient(135deg,#859d7e,#3f5940)}.preview:after{content:'⋮';position:absolute;right:6px;top:4px;color:#fff;font-weight:900}
.savebar{position:sticky;bottom:12px;padding:11px 12px;background:rgba(23,28,35,.95);border-radius:13px;display:flex;align-items:center;gap:8px;color:#fff;box-shadow:0 15px 40px rgba(0,0,0,.25);z-index:9}.savebar .status{color:#aeb8c3;font-size:12px}.savebar .right{margin-left:auto;display:flex;gap:8px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:18px}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;font-size:27px;margin-top:8px}.stat small{display:block;margin-top:5px;color:var(--success)}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.chart{height:270px;padding:18px;position:relative;overflow:hidden}.chart-bars{height:185px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--line);padding:0 5px}.bar{flex:1;background:linear-gradient(180deg,var(--accent-2),var(--accent));border-radius:6px 6px 0 0;min-width:7px}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:9px}.activity{padding:8px 16px}.activity-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-dot{width:28px;height:28px;border-radius:9px;background:var(--surface-3);display:grid;place-items:center}.activity-row small{display:block;color:var(--muted);margin-top:2px}.activity-time{font-size:10px;color:var(--muted)}
.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 10px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border-bottom:0}.table-actions{display:flex;gap:5px;justify-content:flex-end}
.empty{padding:32px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px}
.modal-backdrop{position:fixed;inset:0;background:rgba(9,13,18,.55);display:none;place-items:center;z-index:100;padding:20px}.modal-backdrop.open{display:grid}.modal{width:min(620px,100%);background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center}.modal-head h2{margin:0;font-size:18px}.modal-head button{margin-left:auto}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:var(--surface-2);border-radius:0 0 18px 18px}
.toast{position:fixed;right:22px;bottom:22px;background:var(--dark);color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;z-index:120}.toast.show{opacity:1;transform:none}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer}.quick-card:hover{border-color:#adb7c1;background:#fff}.quick-card strong{display:block;margin:8px 0 4px}.quick-card small{color:var(--muted)}
.release-row{display:grid;grid-template-columns:90px minmax(0,1fr) 130px 90px auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.release-row:last-child{border-bottom:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#eef1f4;padding:3px 6px;border-radius:6px}
.kbd{font-size:10px;border:1px solid var(--line);background:#fff;border-bottom-width:2px;padding:2px 5px;border-radius:5px;color:var(--muted)}
.mobile-menu{display:none}
@media(max-width:1100px){.split{grid-template-columns:1fr}.list-card{position:relative;top:auto;max-height:none}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.list-card .items{max-height:420px}.form-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 14px}.workspace{padding:18px 14px}.search-global{display:none}.stats{grid-template-columns:1fr 1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.release-row{grid-template-columns:70px 1fr auto}.release-row>*:nth-child(3),.release-row>*:nth-child(4){display:none}.quick-grid{grid-template-columns:1fr}}


body.theme-a{--accent:#c56f3c;--accent-2:#f3cf9e}.theme-a .sidebar{background:#171d24}.theme-a .topbar{background:rgba(255,255,255,.94)}
.theme-a .workspace{max-width:1600px}.theme-a .editor>.card{box-shadow:var(--shadow)}

/* --------------------------------------------------------------------------
   Racooze Admin, Concept A integration layer
   The selectors below style the real PHP editors and analytics without
   falling back to the former admin layout.
   -------------------------------------------------------------------------- */

[hidden]{display:none!important}
body{overflow-x:hidden}.tab-panel{display:none}.tab-panel.is-active{display:block}
.sidebar-backdrop{display:none}.user-copy{min-width:0}.user-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-link{margin-left:auto;color:#8e9aa7;font-size:18px}.logout-link:hover{color:#fff}
.topbar__description{display:none!important}.topbar__title-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
button:disabled,.btn:disabled,.button:disabled{cursor:not-allowed;opacity:.45}
code,.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#eef1f4;padding:2px 6px;border-radius:6px}

/* Button aliases used by the backend renderers */
.button,.button-secondary,.button-danger{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;line-height:1.2;cursor:pointer}
.button:hover,.button-secondary:hover{border-color:#b8c0c8}.button{background:var(--accent);border-color:var(--accent);color:#fff}.button-secondary{background:#fff}.button-danger{background:#fff4f4;border-color:#efcaca;color:#a73f3f}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button-row--compact{gap:6px}

/* Generic backend card/grid aliases */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.grid>.card{grid-column:1/-1}.card--half{grid-column:span 6!important}
.card h2,.card h3{margin-top:0}.section-note{color:var(--muted);font-size:12px;margin:4px 0 14px}.loading-card{padding:48px;text-align:center;color:var(--muted)}

/* Page headings and overview */
.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.page-intro h2{font-size:26px;margin:0 0 5px}.page-intro p{margin:0;color:var(--muted)}.page-intro__eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--accent)}
.overview-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.overview-stat{padding:18px;display:block;transition:transform .16s,border-color .16s,box-shadow .16s}.overview-stat:hover{transform:translateY(-2px);border-color:#c7cdd3;box-shadow:var(--shadow)}.overview-stat__icon{float:right;color:var(--muted)}.overview-stat__label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.overview-stat strong{display:block;font-size:27px;margin-top:8px}.overview-stat small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}.overview-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.overview-actions,.system-card{padding:0}.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.quick-action-grid>a{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.quick-action-grid>a:hover{border-color:#adb7c1;background:#fff}.quick-action-grid strong{display:block;margin:8px 0 4px}.quick-action-grid small{color:var(--muted)}.system-check{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:14px 18px;border-top:1px solid var(--line)}.system-check strong,.system-check small{display:block}.system-check small{color:var(--muted);margin-top:3px;line-height:1.45}.status-dot,.save-state-dot{width:9px;height:9px;border-radius:50%;background:#a7b0b9;display:inline-block;margin-top:5px}.status-dot--ok,.save-state-dot{background:var(--success)}.status-dot--warn{background:#c98b2e}

/* List-detail workspaces */
.resource-workspace{display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:18px;align-items:start}.resource-workspace--single{grid-template-columns:1fr}.resource-workspace--single>.resource-detail-panel{max-width:1180px;width:100%;margin-inline:auto}.resource-list-panel{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column;padding:0}.resource-detail-panel{min-width:0;background:transparent;border:0;box-shadow:none}.resource-panel-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.resource-panel-head h2{margin:0;font-size:15px}.resource-panel-head .section-note{margin:3px 0 0}.count-badge{margin-left:auto;font-size:10px;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--muted);font-weight:800;background:var(--surface-2)}
.resource-filter-form{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:8px}.resource-filter-form--simple{grid-template-columns:minmax(0,1fr) auto;align-items:end}.resource-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px}.resource-filter-grid--maps{grid-template-columns:minmax(0,1fr) 150px 118px}.resource-filter-grid--modules{grid-template-columns:minmax(0,1fr) 132px}.resource-filter-form .form-group label{display:none}.resource-filter-form input,.resource-filter-form select{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px;outline:none;min-height:38px}
.resource-list{overflow:auto;padding:8px;display:block}.resource-item{padding:12px;border-radius:11px;border:1px solid transparent;margin:3px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--ink)}.resource-item:hover{background:var(--surface-2)}.resource-item.is-current{background:#f7efe8;border-color:#e6c6ae}.resource-item__title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-item__slug{display:block;color:var(--muted);font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-item__meta,.resource-item__map-meta{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.resource-item__date{color:var(--muted);font-size:11px;white-space:nowrap}.resource-item--map{grid-template-columns:minmax(0,1fr) auto}.resource-item--map .resource-item__map-meta{grid-column:1/-1}.pagination,.module-pagination{padding:12px 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:6px;margin-top:auto;background:var(--surface-2)}.pagination .button-secondary,.module-pagination .button-secondary{padding:6px 9px;min-height:30px;font-size:12px}.pagination .is-current,.module-pagination .is-current{background:var(--dark)!important;color:#fff!important;border-color:var(--dark)!important}
.resource-detail-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.resource-detail-head h2{margin:0 0 4px;font-size:22px}.resource-detail-head p,.resource-detail-subtitle{margin:0;color:var(--muted)}.resource-detail-head>.button-secondary{margin-left:auto}.resource-detail-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:4px}.resource-step-nav{display:flex;justify-content:space-between;gap:8px;margin-bottom:14px}.resource-edit-form,.catalog-form{display:block}.resource-section-grid{display:grid;gap:14px}.resource-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 1px rgba(0,0,0,.02);margin-bottom:14px}.resource-block summary{list-style:none;padding:14px 16px;font-weight:850;display:flex;align-items:center;gap:10px;cursor:pointer}.resource-block summary::-webkit-details-marker{display:none}.resource-block summary:after{content:'⌄';margin-left:auto;color:var(--muted)}.resource-block[open] summary:after{transform:rotate(180deg)}.resource-block>summary+*{border-top:1px solid var(--line)}.resource-block-content,.resource-block>.resource-fields,.resource-block>.resource-checks,.resource-block>.module-rich-editor,.resource-block>.module-file-upload-card,.resource-block>.module-json-buttons,.resource-block>.button-row,.resource-block>.release-mini-table,.resource-block>.section-note{padding:16px}.resource-block--danger summary,.danger-section summary{color:var(--danger)}
.resource-fields,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resource-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-fields--delete{grid-template-columns:minmax(0,1fr) auto;align-items:end}.form-group,.field{min-width:0}.form-group--full,.field.full{grid-column:1/-1}.form-group label,.field label{display:flex;justify-content:space-between;gap:10px;font-weight:760;font-size:12px;margin:0 0 6px;color:var(--ink)}.form-group input:not([type=checkbox]):not([type=file]),.form-group select,.form-group textarea,.resource-fields input:not([type=checkbox]):not([type=file]),.resource-fields select,.resource-fields textarea,.catalog-form input:not([type=checkbox]):not([type=file]),.catalog-form select,.catalog-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px;outline:none;min-height:38px}.form-group textarea,.resource-fields textarea,.catalog-form textarea{min-height:110px;resize:vertical}.textarea--large{min-height:220px!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.resource-fields input:focus,.resource-fields select:focus,.resource-fields textarea:focus{border-color:#9aa7b4;box-shadow:0 0 0 3px rgba(100,116,139,.09)}.hint{color:var(--muted);font-weight:500}.resource-checks,.resource-checks--compact,.release-checks{display:flex;gap:10px;flex-wrap:wrap}.checkbox-inline{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:var(--ink)}.checkbox-inline input{accent-color:var(--accent)}.resource-check-group{align-self:end}
.resource-savebar{position:sticky;bottom:12px;padding:11px 12px;background:rgba(23,28,35,.96);border-radius:13px;display:flex;align-items:center;gap:8px;color:#fff;box-shadow:0 15px 40px rgba(0,0,0,.25);z-index:9;margin-top:14px}.resource-savebar>.button-row,.resource-savebar__actions{margin-left:auto;display:flex;gap:8px}.resource-savebar .button-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.18)}.resource-savebar .button{background:var(--accent);border-color:var(--accent)}

/* Custom select */
.custom-select{position:relative}.custom-select__button{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:9px 10px;display:flex;align-items:center;justify-content:space-between;min-height:38px}.custom-select__menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow);z-index:40}.custom-select.is-open .custom-select__menu{display:grid;gap:3px}.custom-select__option{border:0;background:#fff;border-radius:8px;padding:9px;text-align:left;color:var(--ink)}.custom-select__option:hover,.custom-select__option.is-active{background:#f7efe8;color:var(--ink)}

/* Rich editor and tag picker */
.module-rich-editor,.map-rich-editor{padding:16px}.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.rich-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:31px;height:31px;font-weight:800;color:var(--ink)}.rich-toolbar button:hover,.rich-toolbar button.is-active{background:#f7efe8;border-color:#e2bea3}.rich-editor-surface,.rich-html-source{border:1px solid var(--line);border-radius:10px;min-height:145px;padding:13px;background:#fff;line-height:1.6;width:100%;color:var(--ink)}.rich-editor-surface h3{margin:0 0 8px}.rich-editor-surface p{margin:0 0 8px}.rich-html-source{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}
.tag-picker{position:relative;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.tag-picker__selected{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tag-picker__input{border:0!important;outline:0!important;box-shadow:none!important;flex:1;min-width:150px;padding:5px!important}.tag-chip{border-radius:7px;background:#edf1f4;padding:5px 8px;font-size:11px;font-weight:750;display:inline-flex;gap:6px;align-items:center}.tag-chip__remove{border:0;background:transparent;color:var(--muted);padding:0}.tag-picker__results{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px;box-shadow:var(--shadow);z-index:40;max-height:280px;overflow:auto}.tag-picker__results.is-open{display:grid;gap:3px}.tag-picker__result{border:0;background:#fff;border-radius:8px;padding:9px;text-align:left}.tag-picker__result:hover,.tag-picker__result.is-create{background:#f7efe8}

/* Uploads and media */
.resource-media-grid,.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.resource-media-grid>.adm-upload-card--preview{grid-column:1/-1}.adm-upload-card,.module-file-upload-card,.release-file-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2)}.adm-upload-card__label{font-weight:800;margin-bottom:10px}.file-dropzone,.module-file-dropzone{border:1px dashed #aeb8c2;border-radius:12px;padding:18px;text-align:center;background:#fff;color:var(--muted);display:grid;gap:8px;position:relative}.file-dropzone.is-dragover,.module-file-dropzone.is-dragover{border-color:var(--accent);background:#fff8f2}.file-dropzone input[type=file],.module-file-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-dropzone__button,.module-file-dropzone__button{display:inline-flex;align-items:center;justify-content:center;justify-self:center;border:1px solid var(--line);background:#fff;color:var(--ink);padding:7px 10px;border-radius:8px;font-weight:750}.file-dropzone__hint,.file-dropzone__filename,.module-file-dropzone__hint{font-size:11px;color:var(--muted)}.adm-upload-current{margin-top:12px}.adm-upload-current__link{font-size:12px;font-weight:700;color:var(--accent)}.adm-upload-current__preview img,.module-thumbnail-preview{display:block;max-width:100%;max-height:240px;object-fit:contain;border-radius:9px;margin-top:9px}.preview-box-scroll{max-height:560px;overflow:auto;margin-top:12px}.preview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preview-item{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;position:relative}.preview-item__thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.preview-item__meta{padding:8px}.preview-item__handle{color:var(--muted);font-size:10px}.preview-item__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;margin-top:3px}.preview-item.is-dragging{opacity:.5}

/* Modules and releases */
.module-settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.module-settings-layout>.resource-block--full,.module-settings-layout>.resource-releases-summary,.module-settings-layout>.module-delete-block{grid-column:1/-1}.resource-block--media,.resource-block--credentials{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.module-json-buttons{display:flex;gap:8px;flex-wrap:wrap}.json-preview-details{margin-top:12px}.json-preview-details summary{cursor:pointer;font-weight:750}.json-textarea--preview{width:100%;min-height:240px;margin-top:8px;border:1px solid var(--line);border-radius:9px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f7f8fa;color:var(--ink)}
.release-mini-table{display:grid}.release-mini-row{display:grid;grid-template-columns:110px minmax(0,1fr) 140px 90px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.release-mini-row:last-child{border-bottom:0}.release-mini-row--clickable:hover{background:var(--surface-2)}.release-version{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#eef1f4;padding:4px 7px;border-radius:6px;width:max-content}.module-release-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.resource-release-view--list{display:grid;gap:14px}.release-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.release-form-grid>.form-group:nth-of-type(6),.release-form-grid>.release-file-manager,.release-form-grid>.button-row{grid-column:1/-1}.release-changelog{min-height:160px!important}.release-file-manager{padding-top:4px}.release-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.release-file-card h4{margin:0 0 4px}.release-file-list{display:grid;gap:7px;margin-top:10px}.release-file-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}.release-file-row__name{font-weight:750;overflow:hidden;text-overflow:ellipsis}.release-file-row__meta{color:var(--muted)}.release-file-empty{color:var(--muted);font-size:12px}.release-delete-block{margin-top:14px}.release-delete-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}

/* Analytics */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.stat{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.stat strong{display:block;font-size:27px;margin-top:4px}.stat span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.chart-box{height:310px;position:relative;padding:18px}.chart-box--daily-30{height:300px}.card>.chart-box{padding-top:4px}.grid>.card>h2,.grid>.card>.section-note{padding-left:18px;padding-right:18px}.grid>.card>h2{padding-top:16px;margin-bottom:5px}.grid>.card>table{margin:0 18px 18px;width:calc(100% - 36px)}table{width:100%;border-collapse:collapse}.data-table th,table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.data-table td,table td{padding:12px 10px;border-bottom:1px solid var(--line)}table tr:last-child td{border-bottom:0}.top-list{padding:0 18px 18px}.top-list__item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.top-list__name{font-weight:750}.top-list__slug{display:block;color:var(--muted);font-size:11px}.top-list__count{font-weight:800}.downloads-lower-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.downloads-lower-left{display:grid;gap:16px}.downloads-recent-table-wrap{overflow:auto;padding:0 18px 18px}.homepage-lazy-error{color:var(--danger)}

/* Access */
.access-page{display:grid;grid-template-columns:.65fr 1.35fr;gap:16px}.access-profile{display:flex;align-items:center;gap:14px;padding:20px}.access-avatar{width:54px;height:54px;border-radius:16px;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:900}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.permission-group{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface-2)}.permission-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.permission-row:last-child{border-bottom:0}.permission-state{font-size:10px;font-weight:800;border-radius:999px;padding:3px 7px}.permission-state.is-allowed{background:#e6f6ef;color:#287a58}.permission-state.is-denied{background:#f4eaea;color:#9e5151}.access-note{grid-column:1/-1;padding:18px}.access-note p{color:var(--muted)}

/* New catalog pages */
.filter-row--single{grid-template-columns:1fr}.split--tags{grid-template-columns:minmax(350px,460px) minmax(0,1fr)}.tag-item{grid-template-columns:24px minmax(0,1fr) auto}.tag-item__hash{font-size:18px;color:var(--accent);font-weight:900}.tag-item .item-meta{display:block;color:var(--muted);font-size:11px;margin-top:4px}.code-pill{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.integration-notice{display:grid;gap:5px;padding:13px 15px;border:1px solid #e9c98f;background:#fff8e9;border-radius:12px;margin-bottom:14px}.integration-notice span{color:#78623f;font-size:12px}.integration-notice code{width:max-content}.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid var(--line)}.flash--success{color:#287a58;border-color:#c7e8d9;background:#eaf7f1}.flash--error{color:#a73f3f;border-color:#efcaca;background:#fff4f4}.danger-section p{color:var(--muted)}

/* Modal and toast */
.modal-backdrop{position:fixed;inset:0;background:rgba(9,13,18,.55);display:none;place-items:center;z-index:100;padding:20px}.modal-backdrop.open{display:grid}.toast.show{opacity:1;transform:none}

/* Login, now from the same visual system */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#171c23 0 48%,#eef1f4 48% 100%)}.login-card{width:min(430px,100%);padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25)}.login-card__brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted);margin:0 0 18px}.login-card .form-group{margin-bottom:14px}.login-card .button{width:100%;margin-top:6px}.login-error{padding:11px 13px;border-radius:10px;background:#fff4f4;border:1px solid #efcaca;color:#a73f3f;margin-bottom:14px}.password-field{position:relative;display:block}.password-field input{padding-right:43px!important}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:var(--muted);padding:6px}.password-toggle svg{width:100%;height:100%}

/* Responsive */
@media(max-width:1350px){.overview-stats{grid-template-columns:repeat(3,1fr)}.resource-workspace--maps{grid-template-columns:minmax(360px,430px) minmax(0,1fr)}}
@media(max-width:1100px){.resource-workspace,.split,.split--tags{grid-template-columns:1fr}.resource-list-panel,.list-card{position:relative;top:auto;max-height:none}.resource-list,.list-card .items{max-height:420px}.overview-grid,.downloads-lower-layout,.access-page{grid-template-columns:1fr}.overview-stats{grid-template-columns:repeat(2,1fr)}.module-settings-layout{grid-template-columns:1fr}.module-settings-layout>*{grid-column:1/-1}.release-form-grid{grid-template-columns:repeat(2,1fr)}.release-file-grid{grid-template-columns:1fr 1fr}.resource-fields--three{grid-template-columns:repeat(2,1fr)}.card--half{grid-column:1/-1!important}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.is-open{transform:none}.sidebar.is-open+.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(9,13,18,.45);z-index:19}.main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 14px}.workspace{padding:18px 14px}.search-global{display:none}.topbar .btn:not(.mobile-menu):not(.primary){display:none}.page-head,.page-intro{align-items:flex-start;flex-direction:column}.overview-stats,.stats{grid-template-columns:1fr 1fr}.overview-grid,.quick-action-grid,.permission-grid{grid-template-columns:1fr}.resource-fields,.form-grid,.resource-fields--three,.release-form-grid{grid-template-columns:1fr}.resource-media-grid,.media-grid,.release-file-grid{grid-template-columns:1fr}.resource-media-grid>.adm-upload-card--preview{grid-column:auto}.preview-list{grid-template-columns:repeat(2,1fr)}.resource-detail-head{flex-wrap:wrap}.resource-detail-head>.button-secondary{margin-left:0}.release-mini-row{grid-template-columns:90px 1fr}.release-mini-row>*:nth-child(3),.release-mini-row>*:nth-child(4){display:none}.access-page{grid-template-columns:1fr}.resource-savebar,.savebar{bottom:8px;flex-wrap:wrap}.resource-savebar>.button-row,.resource-savebar__actions,.savebar .right{width:100%;margin-left:0}.resource-savebar .button,.resource-savebar .button-secondary,.savebar .btn{flex:1}.grid{grid-template-columns:1fr}.grid>.card{grid-column:1}.card--half{grid-column:1!important}}
@media(max-width:500px){.overview-stats,.stats{grid-template-columns:1fr}.topbar .primary{padding-inline:10px}.brand-copy span{font-size:9px}.preview-list{grid-template-columns:1fr}.resource-filter-grid,.resource-filter-grid--maps,.resource-filter-grid--modules,.resource-filter-form--simple{grid-template-columns:1fr}.release-delete-row,.resource-fields--delete{grid-template-columns:1fr}}

/* Small component aliases used by server renderers */
.admin-brand__mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--accent-2),var(--accent));display:grid;place-items:center;color:#251a12;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.22);flex:0 0 auto}
.pill--premium{background:#fff2d9;color:#8b5a17;border-color:#f0d5a7}.module-page-link{border:1px solid var(--line);background:#fff;color:var(--ink);padding:6px 9px;border-radius:8px;min-width:30px;text-align:center;font-size:12px;font-weight:750}.module-page-link:hover{border-color:#b8c0c8}.module-page-link.is-current{background:var(--dark);border-color:var(--dark);color:#fff}.module-page-link.is-disabled{pointer-events:none;opacity:.4}.empty-state-small{padding:24px;text-align:center;color:var(--muted)}.resource-block-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-head>div{min-width:0}.resource-releases-summary{overflow:hidden}.create-release-table-toggle{margin-top:10px}.module-file-current{font-size:12px;color:var(--muted)}.module-file-current a{color:var(--accent);font-weight:750}.module-file-current--with-preview{display:grid;gap:8px}.module-file-upload-card--thumbnail{height:100%}.topbar__menu{display:none}.release-mini-table--full{width:100%}.resource-workspace--maps{grid-template-columns:minmax(390px,470px) minmax(0,1fr)}

/* Concept A refinements: compact module rows and upload controls */
.resource-item--module{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
  padding:11px 12px;
}
.resource-item--module .resource-item__title{
  grid-column:1;
  display:block;
  max-width:100%;
  font-size:13px;
  line-height:1.35;
}
.resource-item--module .resource-item__slug{
  grid-column:1;
  display:block;
  max-width:100%;
  margin-top:3px;
  font-size:10px;
}
.resource-item--module .resource-item__meta{
  grid-column:1;
  margin-top:7px;
  gap:4px;
}
.pill--live{background:#e6f6ef;color:#287a58;border-color:#c7e8d9}
.pill--off{background:#f1f2f3;color:#7c838a;border-color:#e0e3e6}
.pill--early{background:#eee9ff;color:#6548a8;border-color:#d8cef8}
.pill--complete{background:#fff2d9;color:#8b5a17;border-color:#f0d5a7}

.resource-block--media{
  min-width:0;
}
.module-file-upload-card--thumbnail{
  min-height:0;
  height:auto;
  padding:12px;
}
.module-file-upload-card--thumbnail>label:first-child{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
}
.module-file-dropzone{
  min-height:94px;
  padding:14px;
  align-content:center;
  overflow:hidden;
}
.module-file-dropzone input[type=file],
.file-dropzone input[type=file]{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  border:0!important;
  cursor:pointer!important;
  z-index:2;
}
.module-file-dropzone__button,
.file-dropzone__button{
  position:relative;
  z-index:1;
  max-width:100%;
  white-space:normal;
}
.module-file-dropzone__hint,
.file-dropzone__filename{
  position:relative;
  z-index:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.module-file-current--with-preview{
  margin-top:10px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:4px 10px;
}
.module-file-current--with-preview strong,
.module-file-current--with-preview span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.module-file-current--with-preview .module-thumbnail-preview{
  grid-column:2;
  grid-row:1 / span 2;
  width:64px;
  height:64px;
  margin:0;
  object-fit:cover;
}

@media(max-width:1100px){
  .resource-item--module .resource-item__title,
  .resource-item--module .resource-item__slug{white-space:normal}
}

/* ========================================================================== 
   Concept A v3: SVG icon system, dashboard depth and layout corrections
   ========================================================================== */
.icon{display:inline-block;width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em;flex:0 0 auto}
.icon--nav{width:17px;height:17px;stroke-width:1.7}.icon--button{width:16px;height:16px}.icon--small{width:14px;height:14px}.icon--micro{width:12px;height:12px}.icon--stat{width:22px;height:22px}.icon--quick{width:21px;height:21px}.icon--activity{width:17px;height:17px}
.icon-button{padding:8px;aspect-ratio:1;justify-content:center}.nav-icon{width:22px;height:22px;display:grid;place-items:center}.logout-link{width:32px;height:32px;display:grid;place-items:center;border-radius:8px}.logout-link:hover{background:rgba(255,255,255,.08)}
.quick-card__icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--accent)}
.card-head__icon{margin-left:auto;width:38px;height:38px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;color:var(--accent)}
.search-global__shortcut{position:absolute;right:10px!important;top:50%!important;transform:translateY(-50%);font-size:10px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:2px 5px;background:#fff}

/* Sidebar polish */
.nav-item{min-height:42px}.nav-item>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.brand-mark{font-family:ui-sans-serif,system-ui,sans-serif}.sidebar-footer{background:rgba(0,0,0,.08)}

/* Rich overview */
.overview-page--rich{display:grid;gap:18px}.overview-page--rich .page-intro{margin-bottom:0}.overview-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.insight-card{padding:18px;min-width:0}.insight-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.insight-card__label{font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.insight-card__icon{color:var(--accent)}.insight-card>strong{display:block;font-size:28px;line-height:1.1;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insight-card__comparison{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.insight-card__comparison small{color:var(--muted)}.insight-card.is-unavailable{background:var(--surface-2)}
.trend-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850}.trend-badge--positive{background:#e6f6ef;color:#287a58}.trend-badge--negative{background:#fff0f0;color:#a74646}.trend-badge--neutral{background:#edf1f4;color:#68727e}
.overview-primary-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px;align-items:stretch}.overview-chart-card,.recent-activity-card{overflow:hidden}.overview-chart-box{height:320px}.overview-activity-list{padding:6px 16px 12px}.overview-activity-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line);border-radius:8px}.overview-activity-row:last-child{border-bottom:0}.overview-activity-row:hover{background:var(--surface-2);padding-inline:8px}.overview-activity-row__icon{width:34px;height:34px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;color:var(--accent)}.overview-activity-row__copy{min-width:0}.overview-activity-row__copy strong,.overview-activity-row__copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-activity-row__copy small{color:var(--muted);margin-top:3px;font-size:11px}.overview-activity-row__meta{display:grid;justify-items:end;gap:4px}.overview-activity-row__meta small{color:var(--muted);font-size:10px}
.overview-inventory-section{display:grid;gap:10px}.section-heading-inline h2{margin:0;font-size:18px}.section-heading-inline p{margin:3px 0 0;color:var(--muted);font-size:12px}.overview-stats--inventory{margin:0}.overview-stats--inventory .overview-stat{min-height:138px}.overview-stat__icon{float:none;position:absolute;right:18px;top:18px}.overview-stat{position:relative}.overview-secondary-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.snapshot-list{padding:4px 18px 14px}.snapshot-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.snapshot-list>div:last-child{border-bottom:0}.snapshot-list span{display:flex;align-items:center;gap:10px}.snapshot-list b{font-size:18px}.publishing-snapshot-card{overflow:hidden}

/* Analytics cards no longer leak outside their parent */
.analytics-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.analytics-grid>*{min-width:0}.analytics-summary-card,.analytics-card--full{grid-column:1/-1}.analytics-card--half{grid-column:span 6}.analytics-summary-card,.analytics-card{overflow:hidden}.analytics-summary-card .card-head p,.analytics-card .card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.analytics-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 18px 18px}.analytics-stat{min-width:0;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.analytics-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}.analytics-stat strong{display:block;font-size:27px;line-height:1.1;margin-top:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-stat small{display:block;color:var(--muted);margin-top:6px;font-size:11px}.analytics-table-wrap{overflow:auto;padding:0 18px 18px}.analytics-table-wrap table{min-width:520px}.chart-box{min-width:0}.chart-box canvas{max-width:100%}
/* Existing download page inherits the same safe geometry. */
.grid{min-width:0}.grid>.card{min-width:0;overflow:hidden}.grid>.card>.stats{padding:0 18px 18px;margin:0}.grid>.card>.stats .stat{min-width:0;background:var(--surface-2)}

/* Homepage top lists */
.homepage-lazy-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.homepage-lazy-card{min-width:0;overflow:hidden}.homepage-lazy-status{margin:4px 0 0;color:var(--muted);font-size:11px}.homepage-lazy-body{padding:0 18px 16px}.homepage-lazy-bar{height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));background-size:200% 100%;animation:homepage-loading 1.2s linear infinite;margin:14px 0}.homepage-lazy-list{list-style:none;padding:0;margin:0;counter-reset:top-list}.homepage-lazy-list li{counter-increment:top-list;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.homepage-lazy-list li:last-child{border-bottom:0}.homepage-lazy-list li:before{content:counter(top-list);width:23px;height:23px;border-radius:7px;background:var(--surface-3);display:grid;place-items:center;font-size:10px;font-weight:850;color:var(--muted)}.homepage-lazy-list a,.homepage-lazy-list li>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.homepage-lazy-list a:hover{color:var(--accent)}.homepage-lazy-views{font-weight:850;font-variant-numeric:tabular-nums;padding-left:8px}.homepage-lazy-error{color:var(--danger)!important}@keyframes homepage-loading{to{background-position:-200% 0}}

/* Editors: danger zone first, sticky action bar always last */
.resource-detail-panel>.resource-savebar,.resource-detail-panel>.savebar{margin-top:14px}.resource-savebar--editor{min-height:62px}.resource-savebar__copy{display:grid;gap:2px}.resource-savebar__copy strong{font-size:13px}.resource-savebar__copy small{font-size:11px;color:#aeb8c3}.resource-savebar__actions{margin-left:auto}.savebar.resource-savebar--editor .right{margin-left:auto}.resource-savebar--editor .button-secondary,.savebar.resource-savebar--editor .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.resource-block--danger:not(details){padding:16px;border-color:#efcaca;background:#fffafa}.resource-block--danger:not(details)>h3{margin:0 0 12px;color:var(--danger)}.resource-block--danger>form{padding:16px;border-top:1px solid var(--line)}.resource-block--danger:not(details)>form{padding:0;border-top:0}.danger-section{border-color:#ead4d4}.danger-section summary{color:var(--danger)}.danger-section .section-content{padding-top:16px}.release-delete-row{width:100%;grid-template-columns:minmax(240px,1fr) auto;align-items:end}.release-delete-row .button-danger{white-space:nowrap}

/* Module list and thumbnail cleanup */
.resource-workspace{grid-template-columns:minmax(390px,470px) minmax(0,1fr)}.resource-item--module{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:12px!important}.resource-item--module>*{min-width:0}.resource-item--module .resource-item__title{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal!important;overflow:hidden!important;font-size:13px;line-height:1.35}.resource-item--module .resource-item__slug{display:block!important;white-space:nowrap!important;margin-top:4px!important;font-size:10px!important}.resource-item--module .resource-item__meta{display:flex!important;margin-top:8px!important;gap:5px!important;flex-wrap:wrap!important}.module-file-upload-card--thumbnail{padding:10px!important}.module-file-dropzone{min-height:78px!important;padding:10px!important;gap:6px!important}.module-file-dropzone__button{padding:6px 9px!important;font-size:12px}.module-file-dropzone__hint,.file-dropzone__filename{font-size:10px!important}.resource-block--media{padding:14px}.resource-block--media>h3,.resource-block--credentials>h3{margin-bottom:10px}.module-thumbnail-preview{max-height:120px!important}

/* Button and page-title icon spacing */
.btn,.button,.button-secondary,.button-danger{white-space:nowrap}.page-head .btn.accent{display:inline-flex;align-items:center}.custom-select__arrow{font-size:0}.custom-select__arrow:after{content:'';display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}

@media(max-width:1350px){.overview-insights{grid-template-columns:repeat(2,1fr)}.overview-primary-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}}
@media(max-width:1100px){.overview-primary-grid,.overview-secondary-grid{grid-template-columns:1fr}.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-card--half{grid-column:1/-1}.homepage-lazy-grid{grid-template-columns:1fr}.resource-workspace{grid-template-columns:1fr}}
@media(max-width:760px){.overview-insights{grid-template-columns:1fr}.overview-activity-row{grid-template-columns:34px minmax(0,1fr)}.overview-activity-row__meta{grid-column:2;justify-items:start;display:flex;align-items:center}.analytics-stat-grid{grid-template-columns:1fr}.resource-savebar--editor{align-items:flex-start}.resource-savebar__actions,.savebar.resource-savebar--editor .right{width:100%;margin-left:0}.release-delete-row{grid-template-columns:1fr}.release-delete-row .button-danger{width:100%}}

/* v3.1: remove remaining text-glyph controls */
.section summary::after,
.editor-section summary::after,
.resource-block[open] > summary::after,
.resource-block > summary::after{
  content:'';
  width:8px;
  height:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
  flex:0 0 auto;
}
.section[open] summary::after,
.editor-section[open] summary::after,
.resource-block[open] > summary::after{
  transform:rotate(225deg) translate(-2px,-1px);
}
.preview::after{
  content:'';
  width:4px;
  height:14px;
  right:8px;
  top:6px;
  background:radial-gradient(circle,currentColor 1.2px,transparent 1.4px) 0 0/4px 5px;
}
.custom-select__arrow{font-size:inherit;display:grid;place-items:center}
.custom-select__arrow::after{display:none}
.search-global__shortcut{display:grid;place-items:center;top:8px!important}
.tag-chip__remove{display:grid;place-items:center}
.module-file-dropzone__button{display:inline-flex;align-items:center;gap:6px}

/* Adventure image upload and slug-safe file handling */
.adventure-media-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:12px;
    padding-top:16px;
}
.adventure-upload-card,.adventure-current-image{min-width:0}
.adventure-upload-path{
    margin-top:10px;
    color:var(--muted);
    font-size:11px;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.adventure-upload-path code{color:var(--ink)}
.adventure-image-preview{
    display:block;
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    background:#fff;
}
.adventure-image-preview img{
    display:block;
    width:100%;
    max-height:260px;
    object-fit:contain;
    background:linear-gradient(45deg,#f3f5f7 25%,transparent 25%),linear-gradient(-45deg,#f3f5f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f3f5f7 75%),linear-gradient(-45deg,transparent 75%,#f3f5f7 75%);
    background-size:18px 18px;
    background-position:0 0,0 9px,9px -9px,-9px 0;
}
.adventure-image-meta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-top:10px;
    font-size:11px;
}
.adventure-image-meta strong{min-width:0;overflow-wrap:anywhere}
.adventure-image-meta span{color:var(--muted);white-space:nowrap}
.adventure-remove-image{margin-top:12px;width:100%;justify-content:flex-start}
.adventure-current-image--empty{display:flex;flex-direction:column}
.adventure-image-empty{
    min-height:158px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:7px;
    text-align:center;
    color:var(--muted);
    border:1px dashed #aeb8c2;
    border-radius:10px;
    background:#fff;
    padding:18px;
}
.adventure-image-empty .icon--empty{width:30px;height:30px;color:#8b97a3}
.adventure-image-empty strong{color:var(--ink)}
.adventure-image-empty span{font-size:11px;max-width:250px}
.adventure-image-note{margin:12px 0 0;padding:0;color:var(--muted);font-size:11px}
@media(max-width:900px){.adventure-media-grid{grid-template-columns:1fr}}
.flash--warning{color:#78623f;border-color:#e9c98f;background:#fff8e9}

/* Release workspace repair, v6 */
.inline-action-form{display:inline-flex;margin:0}
.resource-detail-panel{container-type:inline-size}
.resource-workspace--single>.resource-detail-panel{max-width:1320px}

.release-mini-table--full{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
.release-mini-header,
.release-mini-table--full .release-mini-row{
  display:grid;
  grid-template-columns:90px minmax(220px,1fr) minmax(155px,auto) 96px;
  gap:14px;
  align-items:center;
  padding:12px 14px;
}
.release-mini-header{
  background:var(--surface-2);
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.release-mini-table--full .release-mini-row{
  min-height:62px;
  border-bottom:1px solid var(--line);
}
.release-mini-table--full .release-mini-row:last-child{border-bottom:0}
.release-mini-table--full .release-mini-row--clickable:hover{background:#fff8f2}
.release-mini-row__name{min-width:0;font-weight:750;line-height:1.4}
.release-mini-row__date{color:var(--muted);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.release-mini-row__status{justify-self:start;white-space:nowrap}
.release-mini-table--full .release-version{white-space:nowrap}

.release-form-grid--single{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
}
.release-form-grid--single .release-checks{align-self:end;min-height:38px}
.release-file-manager{min-width:0;padding-top:8px}
.release-file-manager>h4{margin:0 0 10px;font-size:14px}
.release-file-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  align-items:start;
}
.release-file-card{min-width:0;padding:13px}
.release-file-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.release-file-card__head strong{font-size:12px}
.release-file-card__head span{color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap}
.release-file-dropzone{min-height:104px;padding:13px}
.release-file-dropzone .module-file-dropzone__button{white-space:nowrap}
.release-file-list{max-height:360px;overflow:auto;gap:7px;margin-top:10px;padding-right:2px}
.release-file-row{
  grid-template-columns:18px minmax(0,1fr) max-content;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px 10px;
}
.release-file-row input{margin:0}
.release-file-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.release-file-row__meta{grid-column:auto;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.release-file-help{display:block;margin-top:9px;color:var(--muted);font-size:10px;line-height:1.4}
.release-file-empty{padding:14px 2px 2px}

@container (max-width:900px){
  .release-form-grid--single{grid-template-columns:repeat(2,minmax(0,1fr))}
  .release-mini-header{display:none}
  .release-mini-table--full .release-mini-row{
    grid-template-columns:82px minmax(0,1fr) auto;
    gap:5px 12px;
    padding:13px 14px;
  }
  .release-mini-row__date{grid-column:2;grid-row:2}
  .release-mini-row__status{grid-column:3;grid-row:1 / span 2;align-self:center}
}
@container (max-width:560px){
  .release-form-grid--single{grid-template-columns:1fr}
  .release-mini-table--full .release-mini-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
  .release-mini-table--full .release-version{grid-column:1;grid-row:1}
  .release-mini-row__status{grid-column:2;grid-row:1}
  .release-mini-row__name{grid-column:1/-1;grid-row:2}
  .release-mini-row__date{grid-column:1/-1;grid-row:3}
}
.resource-workspace.resource-workspace--single{grid-template-columns:minmax(0,1fr)!important}
.release-mini-table--full .release-mini-row__date{display:block}
.release-mini-table--full .release-mini-row__status{display:inline-flex}
.release-form-grid--single>.form-group:nth-of-type(5),
.release-form-grid--single>.form-group:nth-of-type(6){grid-column:span 2}
@container (max-width:560px){
  .release-form-grid--single>.form-group:nth-of-type(5),
  .release-form-grid--single>.form-group:nth-of-type(6){grid-column:1}
}

/* Map Library filters and quick publishing controls */
.library-map-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.library-map-filter-row--search{grid-template-columns:minmax(0,1fr) 132px}
.library-map-list-row{
  padding:0;
  grid-template-columns:minmax(0,1fr) auto;
  gap:0;
  align-items:stretch;
  overflow:hidden;
}
.library-map-list-row__link{
  min-width:0;
  padding:12px 11px 11px 12px;
  display:grid;
  gap:7px;
  align-content:center;
}
.library-map-list-row__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.library-map-list-row__heading .item-title{min-width:0;line-height:1.25}
.library-map-list-row__badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto}
.library-map-list-row__location{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#4f5964;
  font-size:11px;
  line-height:1.3;
}
.library-map-list-row__location>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-map-list-row__chapter{color:var(--muted)}
.library-map-list-row__chapter::before{content:'•';margin-right:7px;color:#a4abb2}
.library-map-list-row__details{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.library-map-list-row__release{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.library-map-list-row__release .icon{flex:0 0 auto}
.library-map-list-row__release>span{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}
.library-map-list-row__release small{font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#8a929a}
.library-map-list-row__dynamic{flex:0 0 auto}
.library-map-list-row__status{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-left:1px solid var(--line);
  background:rgba(255,255,255,.36);
}
.library-map-list-row__status .btn{min-width:82px;justify-content:center;font-size:11px}
.library-map-list-row.htmx-request .library-map-list-row__status .btn{opacity:.55;pointer-events:none}
@media(max-width:500px){
  .library-map-filter-row,.library-map-filter-row--search{grid-template-columns:1fr}
  .library-map-list-row{grid-template-columns:1fr}
  .library-map-list-row__status{padding:8px 10px 10px;border-left:0;border-top:1px solid var(--line)}
  .library-map-list-row__status .btn{width:100%;min-width:0}
}
