*{margin:0;padding:0;box-sizing:border-box}

:root{
  --ui-bg:#f7f9fc;
  --ui-card:#ffffff;
  --ui-card-soft:#fbfcfe;
  --ui-text:#172033;
  --ui-muted:#667085;
  --ui-line:#e7ecf3;
  --ui-line-strong:#d9e2ee;
  --ui-primary:#e91e8c;
  --ui-primary-dark:#c21872;
  --ui-primary-soft:#fff1f8;
  --ui-success:#137a4b;
  --ui-success-bg:#f2fff7;
  --ui-success-border:#b7ebc6;
  --ui-warn:#b42345;
  --ui-warn-bg:#fff7f8;
  --ui-warn-border:#f3c4cf;
  --ui-shadow-sm:0 8px 22px rgba(16,24,40,.05);
  --ui-shadow-md:0 18px 40px rgba(16,24,40,.08);
  --ui-radius-lg:20px;
  --ui-radius-md:14px;
  --ui-radius-sm:10px;
}

body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:14px;
  background:#f4f4f6;
  color:#333;
}

a{text-decoration:none;color:inherit}

.container,
.content-box{
  max-width:1400px;
  margin:0 auto;
}

.container{padding:20px}
.content-box{width:100%}

.page-body{padding:20px}
.site-shell{min-height:100vh}

/* =========================
   Header
   ========================= */

.header,
.site-header{
  background:#fff;
  border-bottom:1px solid #eee;
  width:100%;
  position:sticky;
  top:0;
  z-index:100;
}

.header-inner,
.site-header-inner{
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
  min-height:52px;
  display:flex;
  align-items:center;
  gap:18px;
}

.logo,
.brand-wrap,
.site-brand{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.logo-badge{
  background:var(--ui-primary);
  color:#fff;
  font-weight:900;
  font-size:13px;
  padding:5px 8px;
  border-radius:6px;
}

.logo-text,
.brand-text{
  font-size:20px;
  font-weight:700;
  color:#222;
}

.nav-links,
.header-nav{
  display:flex;
  align-items:center;
  gap:4px;
  flex:1;
  flex-wrap:wrap;
}

.nav-link,
.header-nav a{
  padding:0 14px;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  font-size:13px;
  font-weight:600;
  color:#555;
  border-bottom:3px solid transparent;
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}

.nav-link:hover,
.nav-link.active,
.header-nav a:hover,
.header-nav a.active{
  color:var(--ui-primary);
  border-bottom-color:var(--ui-primary);
}

.top-search,
.header-search{
  display:flex;
  align-items:center;
  border:1.5px solid #e0e0e0;
  border-radius:20px;
  overflow:hidden;
  min-height:34px;
  background:#fafafa;
}

.top-search input,
.header-search input{
  border:none;
  background:transparent;
  outline:none;
  padding:0 14px;
  font-size:12.5px;
  color:#666;
  width:220px;
  min-height:34px;
}

.top-search-btn,
.header-search button{
  background:#ebebeb;
  border:none;
  padding:0 14px;
  min-height:34px;
  cursor:pointer;
  font-weight:600;
}

.header-accent,
.footer-accent{
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--ui-primary) 0%,#f06292 60%,transparent 100%);
}

/* =========================
   Generic cards / layout
   ========================= */

.hero-card,
.card,
.request-hero,
.upload-main-card,
.recent-requests-card,
.sidebar-card,
.feedback-card,
.chart-card,
.list-card,
.form-card{
  background:#fff;
  border:1px solid #ebebeb;
  border-radius:12px;
  padding:30px;
}

.hero-card{
  padding:30px 32px 26px;
  margin-bottom:16px;
}

.hero-top{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:22px;
}

.hero-icon{
  background:var(--ui-primary);
  width:76px;
  height:76px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.hero-icon span{
  color:#fff;
  font-weight:900;
  font-size:21px;
  letter-spacing:1px;
}

.hero-text h1{
  font-size:32px;
  font-weight:800;
  color:#1a1a1a;
  line-height:1.1;
  margin-bottom:6px;
}

.hero-text p{
  font-size:15px;
  color:#666;
}

.info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:16px;
}

.info-card,
.stat-card{
  background:#fff;
  border:1px solid #ebebeb;
  border-radius:12px;
  padding:22px 20px 20px;
}

.info-card:hover{
  box-shadow:0 2px 12px rgba(233,30,140,.08);
  border-color:#f0c0df;
}

.info-card h3,
.card h3,
.sidebar-card-title,
.section-title{
  font-size:14.5px;
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:8px;
}

.info-card p,
.muted{
  font-size:12.5px;
  color:#777;
  line-height:1.55;
}

.charts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:16px;
}

.chart-card,
.list-card,
.card{
  padding:20px 22px;
}

.lists-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:16px;
}

.dll-row,
.req-row,
.table-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid #f5f5f5;
  font-size:13px;
}

.dll-row:last-child,
.req-row:last-child,
.table-row:last-child{
  border-bottom:none;
}

.dll-name{
  flex:1;
  color:#333;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:16px;
  line-height:1.35;
  font-weight:600;
}

.dll-name:hover{color:var(--ui-primary)}

.dll-count,
.dll-date,
.meta{
  color:#aaa;
  font-size:12px;
}

.meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  color:var(--ui-muted);
  font-size:13px;
  line-height:1.55;
}

/* =========================
   Search / forms / buttons
   ========================= */

.search-row{
  display:flex;
  gap:0;
}

.search-input-wrap{
  flex:1;
  display:flex;
  align-items:center;
  border:2px solid var(--ui-primary);
  border-right:none;
  border-radius:8px 0 0 8px;
  padding:0 18px;
  min-height:52px;
  background:#fff;
}

.search-input-wrap input{
  flex:1;
  border:none;
  outline:none;
  font-size:15px;
  background:transparent;
}

.search-repo-btn,
.btn{
  background:var(--ui-primary);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:0 28px;
  min-height:52px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.search-repo-btn{border-radius:0 8px 8px 0}

.req-input,
.input,
.textarea,
select,
input[type=file]{
  width:100%;
  border:1.5px solid #e0e0e0;
  border-radius:8px;
  padding:12px 14px;
  font-size:13.5px;
  outline:none;
  background:#fff;
}

.req-input:focus,
.input:focus,
.textarea:focus,
select:focus{
  border-color:var(--ui-primary);
}

.send-req-btn,
.feedback-send-btn,
.action-btn,
.search-btn,
.small-btn,
.search-repo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}

.send-req-btn,
.feedback-send-btn,
.action-btn{
  background:var(--ui-primary);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:0 28px;
  min-height:42px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.textarea{
  min-height:100px;
  resize:vertical;
}

.small-btn{
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--ui-line-strong);
  background:#fff;
  color:var(--ui-text);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.small-btn.pink{
  background:var(--ui-primary-soft);
  color:var(--ui-primary-dark);
  border-color:#ffd3e3;
}

.small-btn.danger{
  background:#fff2f4;
  border-color:#f3c4cf;
  color:#b42345;
}

.small-btn:hover,
.send-req-btn:hover,
.feedback-send-btn:hover,
.action-btn:hover,
.search-btn:hover,
.search-repo-btn:hover{
  transform:translateY(-1px);
}

.flash{
  max-width:1400px;
  margin:14px auto 0;
  border-radius:10px;
  padding:12px 16px;
}

.flash.success{
  background:#e8f7ef;
  color:#1a7f46;
  border:1px solid #bfe8cf;
}

.flash.error{
  background:#fff0f1;
  color:#b42345;
  border:1px solid #f2cad2;
}

/* =========================
   Request / Upload / Admin layouts
   ========================= */

.request-layout,
.upload-layout,
.admin-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:16px;
  align-items:start;
  max-width:1400px;
  margin:0 auto;
  padding:20px;
}

.request-hero,
.upload-main-card,
.recent-requests-card,
.sidebar-card,
.feedback-card{
  padding:24px;
}

.request-hero h1,
.upload-main-card h1,
.page-title{
  font-size:24px;
  font-weight:800;
  color:#1a1a1a;
  margin-bottom:6px;
}

.request-hero p,
.upload-main-card>p{
  font-size:13.5px;
  color:#777;
  margin-bottom:16px;
}

.request-badges,
.upload-meta{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
  flex-wrap:wrap;
}

.req-badge,
.umeta{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#666;
}

.request-form-row,
.search-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  flex-wrap:wrap;
}

.recent-requests-card,
.feedback-card,
.sidebar-card{
  margin-bottom:14px;
}

.sidebar-card p{
  font-size:12.5px;
  color:#777;
  line-height:1.6;
}

.sidebar-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid #f5f5f5;
  font-size:13px;
  color:#333;
}

.sidebar-link:last-child{border-bottom:none}

.upload-results-placeholder{
  background:#fafafa;
  border:1px solid #ebebeb;
  border-radius:10px;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.empty-state{
  padding:25px;
  text-align:center;
  color:#888;
}

.badge{
  display:inline-block;
  background:#fce4f3;
  color:var(--ui-primary);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
}

/* =========================
   Footer
   ========================= */

.black-footer{
  background:#1c1c1c;
  width:100%;
  margin-top:22px;
}

.black-footer-inner{
  max-width:1400px;
  margin:0 auto;
  padding:24px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}

.footer-logo{
  background:var(--ui-primary);
  color:#fff;
  font-weight:900;
  font-size:19px;
  padding:9px 18px;
  border-radius:8px;
}

.footer-links{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.footer-links .copy{
  color:#666;
  font-size:13px;
}

.footer-links a{
  font-size:13px;
  color:#999;
}

.footer-links a:hover{color:#fff}

/* =========================
   Admin
   ========================= */

.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:16px;
}

.stat-card strong{
  display:block;
  font-size:30px;
  color:var(--ui-primary);
  margin-bottom:5px;
}

.table-wrap{
  background:#fff;
  border:1px solid #ebebeb;
  border-radius:12px;
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

th,td{
  padding:12px 14px;
  border-bottom:1px solid #f3f3f3;
  text-align:left;
  font-size:13px;
}

th{background:#fafafa}

.admin-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0;
}

.admin-tab{
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e7e7e7;
  color:#555;
  font-size:13px;
  font-weight:700;
}

.admin-tab.active{
  background:var(--ui-primary);
  border-color:var(--ui-primary);
  color:#fff;
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:16px;
}

.metric-card{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid #ebebeb;
  border-radius:14px;
  padding:18px 20px;
}

.metric-card strong{
  display:block;
  font-size:28px;
  color:#1d1d1d;
  line-height:1.1;
}

.metric-card span{
  display:block;
  color:#777;
  font-size:13px;
  margin-top:4px;
}

.metric-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:#fff0f7;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:capitalize;
}

.status-badge.new{background:#eef5ff;color:#1e5bb8}
.status-badge.in_progress{background:#fff7e8;color:#a76300}
.status-badge.resolved,
.status-badge.published,
.status-badge.active{background:#e9f9ef;color:#18794e}
.status-badge.rejected,
.status-badge.archived{background:#fff0f1;color:#b42345}
.status-badge.reviewed,
.status-badge.draft,
.status-badge.neutral{background:#f4f4f5;color:#666}

.admin-filter-bar{
  display:grid;
  grid-template-columns:2fr 1fr auto auto;
  gap:10px;
  margin-bottom:16px;
  align-items:center;
}

.inline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.inline-actions select,
.inline-actions .input{
  min-width:120px;
}

.editor-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.editor-toolbar button{
  border:1px solid #ddd;
  background:#fff;
  border-radius:8px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.rich-editor{min-height:320px;font-family:inherit}
.vertical-mobile{flex-direction:column;align-items:stretch}

.visual-editor{
  min-height:360px;
  border:1px solid #ddd;
  border-radius:14px;
  padding:16px;
  background:#fff;
  line-height:1.7;
  font-size:16px;
  overflow:auto;
}

.visual-editor:focus{
  outline:none;
  border-color:#e61e8c;
  box-shadow:0 0 0 3px rgba(230,30,140,.08);
}

.rich-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  border:1px solid #ececec;
  border-radius:14px;
  background:#fff7fb;
  margin-bottom:10px;
}

.rich-toolbar button{
  border:1px solid #f2bfd8;
  background:#fff;
  border-radius:10px;
  padding:8px 12px;
  font-weight:700;
  cursor:pointer;
}

.rich-toolbar button:hover{
  border-color:#e61e8c;
  color:#e61e8c;
}

/* =========================
   Blog / single post
   ========================= */

.blog-shell,
.single-post-shell{max-width:1100px}

.blog-hero-card{margin-bottom:18px}

.blog-grid-public{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
}

.public-post-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(16,24,40,.06);
}

.public-post-thumb{
  display:block;
  aspect-ratio:16/9;
  background:#f5f5f5;
}

.public-post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.public-post-body{padding:20px}

.public-post-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:13px;
  color:#667085;
  margin-bottom:10px;
}

.public-post-body h2{
  font-size:24px;
  line-height:1.25;
  margin:0 0 10px;
}

.public-post-body h2 a{
  text-decoration:none;
  color:#101828;
}

.public-post-body p{
  margin:0 0 16px;
  color:#475467;
  line-height:1.7;
}

.empty-state-card{
  padding:24px;
  border:1px dashed #d0d5dd;
  border-radius:20px;
  background:#fff;
  color:#667085;
}

.single-post-card{
  background:#fff;
  border:1px solid #ececec;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(16,24,40,.08);
}

.single-post-cover{
  aspect-ratio:16/7;
  background:#f5f5f5;
}

.single-post-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.single-post-content-wrap{padding:30px}

.single-post-meta-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.single-post-title{
  font-size:42px;
  line-height:1.1;
  margin:0 0 18px;
}

.single-post-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.prose-content{
  font-size:17px;
  line-height:1.8;
  color:#1f2937;
}

.prose-content h1,
.prose-content h2,
.prose-content h3,
.prose-content h4,
.prose-content h5,
.prose-content h6{
  line-height:1.2;
  color:#101828;
  margin:22px 0 12px;
}

.prose-content p{margin:0 0 16px}
.prose-content ul,
.prose-content ol{margin:0 0 18px 20px}
.prose-content a{color:#e61e8c;text-decoration:underline}

/* =========================
   Upload + Search UI polish
   ========================= */

.page-body,
.content-box,
.upload-layout,
.search-shell,
.dll-list,
.feedback-card,
.upload-main-card,
.req-sidebar,
.dll-card{
  box-sizing:border-box;
}

.upload-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:start;
}

.upload-main-card{
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
  border:1px solid var(--ui-line);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--ui-shadow-md);
}

.upload-main-card h1{
  margin:0 0 10px;
  font-size:32px;
  line-height:1.15;
  color:var(--ui-text);
  letter-spacing:-0.02em;
}

.upload-main-card>p{
  margin:0 0 22px;
  color:var(--ui-muted);
  font-size:15px;
  line-height:1.7;
  max-width:760px;
}

.upload-inner-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}

.upload-left-section{
  background:var(--ui-card);
  border:1px solid var(--ui-line);
  border-radius:20px;
  padding:22px;
  box-shadow:var(--ui-shadow-sm);
  width:100%;
  max-width:600px;
}

.upload-left-section h3{
  margin:0 0 16px;
  font-size:20px;
  line-height:1.3;
  color:var(--ui-text);
  letter-spacing:-0.01em;
  font-weight:700;
}

.upload-left-section form{
  display:block;
  width:100%;
  margin:0;
  padding:0;
}

.upload-drop-zone{
  width:100%;
  min-height:214px;
  border:2px dashed #d8e2f0;
  border-radius:20px;
  background:
    radial-gradient(circle at top right,rgba(233,30,140,.06),transparent 34%),
    linear-gradient(180deg,#fcfdff 0%,#f8fbff 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px 20px;
  box-sizing:border-box;
  cursor:pointer;
  margin:0;
  gap:0;
  transition:.22s ease;
}

.upload-drop-zone:hover{
  border-color:rgba(233,30,140,.45);
  background:
    radial-gradient(circle at top right,rgba(233,30,140,.08),transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  transform:translateY(-1px);
}

.upload-drop-zone.dragging{
  border-color:#df1986;
  background:#fff3f9;
}

.upload-drop-zone p{
  margin:0;
  padding:0;
  font-size:19px;
  line-height:1.3;
  font-weight:700;
  color:var(--ui-text);
  letter-spacing:-0.01em;
}

.upload-drop-zone span{
  display:block;
  margin-top:12px;
  font-size:13px;
  line-height:1.2;
  font-weight:400;
  color:var(--ui-muted);
}

#dllFileInput,
.upload-left-section input[type="file"][name="dll_file"]{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.desc-label{
  display:block;
  width:100%;
  margin:0 0 10px;
  font-size:14px;
  font-weight:700;
  color:var(--ui-text);
}

.desc-textarea,
.upload-left-section textarea.desc-textarea,
.upload-left-section textarea[name="description"]{
  display:block;
  width:100%;
  min-height:150px;
  margin:0;
  padding:16px;
  border:1px solid var(--ui-line);
  border-radius:16px;
  background:#fff;
  font-size:15px;
  line-height:1.65;
  color:var(--ui-text);
  resize:vertical;
  outline:none;
  box-shadow:none;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.desc-textarea::placeholder{color:#8a8a8a}

.desc-textarea:focus,
.search-input:focus,
.input:focus,
select.input:focus{
  border-color:rgba(233,30,140,.38);
  box-shadow:0 0 0 4px rgba(233,30,140,.09);
}

.char-count{
  display:block;
  width:100%;
  margin:10px 0 18px;
  font-size:12px;
  line-height:1.2;
  color:var(--ui-muted);
  text-align:right;
  font-style:italic;
}

.upload-submit-btn,
.send-req-btn.upload-submit-btn{
  width:100%;
  min-height:52px;
  margin-top:16px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--ui-primary) 0%,var(--ui-primary-dark) 100%);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 14px 28px rgba(233,30,140,.18);
  text-transform:uppercase;
}

.req-sidebar{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.feedback-card{
  background:var(--ui-card);
  border:1px solid var(--ui-line);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--ui-shadow-sm);
}

.sidebar-card-title{
  margin:0 0 10px;
  font-size:17px;
  font-weight:800;
  line-height:1.3;
  color:var(--ui-text);
  letter-spacing:-0.01em;
}

.feedback-card p,
.feedback-card .muted{
  color:var(--ui-muted);
  line-height:1.65;
  font-size:14px;
}

.feedback-send-btn{
  min-height:46px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--ui-primary) 0%,var(--ui-primary-dark) 100%);
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(233,30,140,.16);
  margin-top:25px;
}

.req-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.search-shell{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid var(--ui-line);
  border-radius:20px;
  padding:18px;
  box-shadow:var(--ui-shadow-sm);
}

.search-row{
  display:flex;
  gap:12px;
  align-items:stretch;
}

.search-input,
.input,
select.input{
  width:100%;
  min-height:50px;
  border:1px solid var(--ui-line);
  border-radius:14px;
  background:#fff;
  color:var(--ui-text);
  padding:0 16px;
  font-size:15px;
  outline:none;
}

.search-btn{
  min-width:128px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--ui-primary) 0%,var(--ui-primary-dark) 100%);
  color:#fff;
  font-size:14px;
  font-weight:800;
  box-shadow:0 12px 24px rgba(233,30,140,.16);
}

.dll-list{
  display:grid;
  gap:16px;
}

.dll-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:20px;
  border:1px solid var(--ui-line);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
  box-shadow:var(--ui-shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.dll-card:hover{
  transform:translateY(-2px);
  border-color:#d9e4f2;
  box-shadow:var(--ui-shadow-md);
}

.dll-card-main{
  flex:1;
  min-width:0;
}

.dll-card .dll-name a{
  color:var(--ui-text);
  text-decoration:none;
}

.dll-card .dll-name a:hover{
  color:var(--ui-primary-dark);
}

.dll-card-actions{
  flex-shrink:0;
}

.page-title{
  color:var(--ui-text);
  letter-spacing:-0.02em;
}

.muted{color:var(--ui-muted)}

/* =========================
   Icons + weekly chart
   ========================= */

.nav-icon{
  width:18px;
  height:18px;
  stroke-width:2.1;
  vertical-align:middle;
  margin-right:8px;
  flex-shrink:0;
}

.site-header .header-nav a,
.header-nav a,
nav a{
  display:inline-flex;
  align-items:center;
  gap:0;
}

.section-title.with-icon,
.feature-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.section-icon{
  width:18px;
  height:18px;
  stroke-width:2.2;
  color:var(--ui-primary);
  flex-shrink:0;
}

.feature-title .section-icon{
  width:17px;
  height:17px;
}

.chart-card{
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
  border:1px solid #e7ecf3;
  border-radius:18px;
  padding:18px 18px 14px;
  box-shadow:0 8px 22px rgba(16,24,40,.05);
}

.chart-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.chart-wrap{
  position:relative;
  width:100%;
  min-height:170px;
}

.chart-wrap canvas{
  width:100% !important;
  height:170px !important;
}

/* =========================
   Official button icons
   ========================= */

.btn-icon,
.small-btn .btn-icon,
.send-req-btn .btn-icon,
.feedback-send-btn .btn-icon,
.search-btn .btn-icon,
.search-repo-btn .btn-icon{
  width:16px;
  height:16px;
  stroke-width:2.2;
  flex-shrink:0;
}

/* =========================
   Responsive
   ========================= */

@media (max-width:1100px){
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .charts-grid{grid-template-columns:1fr}
  .lists-grid{grid-template-columns:repeat(2,1fr)}
  .request-layout,
  .upload-layout,
  .admin-layout{grid-template-columns:1fr}
  .admin-stats{grid-template-columns:repeat(2,1fr)}
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .admin-filter-bar{grid-template-columns:1fr 1fr}
  .admin-filter-bar .small-btn{width:100%}
  .req-sidebar{order:2}
}

@media (max-width:900px){
  .nav-links{display:none}
  .top-search{display:none}
}

@media (max-width:768px){
  .page-body,
  .request-layout,
  .upload-layout,
  .admin-layout{padding:14px}

  .hero-card{padding:20px 16px}
  .hero-text h1{font-size:22px}
  .lists-grid{grid-template-columns:1fr}
  .upload-inner-grid,
  .request-form-row,
  .search-grid,
  .admin-stats,
  .metric-grid{grid-template-columns:1fr}

  .header-inner,
  .site-header-inner{
    min-height:auto;
    padding:12px 20px;
  }

  .upload-main-card{
    padding:20px;
    border-radius:20px;
  }

  .upload-left-section{
    padding:16px;
    max-width:100%;
  }

  .upload-main-card h1{font-size:26px}

  .search-row{flex-direction:column}
  .search-btn{
    width:100%;
    min-width:100%;
  }

  .dll-card{
    flex-direction:column;
    align-items:stretch;
  }

  .dll-card-actions{
    width:100%;
    display:flex;
    gap:10px;
  }

  .dll-card-actions .small-btn{flex:1}

  .req-row{
    flex-direction:column;
    align-items:stretch;
  }

  .req-row .small-btn{width:100%}

  .nav-icon{
    width:17px;
    height:17px;
    margin-right:6px;
  }

  .section-icon{
    width:17px;
    height:17px;
  }

  .chart-card{
    padding:16px 14px 12px;
  }

  .chart-wrap{
    min-height:150px;
  }

  .chart-wrap canvas{
    height:150px !important;
  }

  .metric-card{padding:16px}
  .metric-card strong{font-size:24px}
  .admin-toolbar{gap:8px}
  .single-post-title{font-size:30px}
  .single-post-content-wrap{padding:20px}
  .visual-editor{min-height:260px}
}

@media (max-width:520px){
  .upload-main-card h1{font-size:22px}

  .upload-drop-zone{
    min-height:180px;
    padding:18px;
  }

  .upload-drop-zone p{font-size:16px}

  .search-shell,
  .feedback-card,
  .dll-card,
  .upload-left-section{border-radius:16px}
}
/* =========================================
   Home + Upload shared upload box
   Only this section update
   ========================================= */

.home-upload-card-link{
  display:block;
  text-decoration:none;
}

.home-upload-box{
  min-height:320px;
  border:2px dashed #f2a9cf;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(233,30,140,.06), transparent 34%),
    linear-gradient(180deg, #fcfdff 0%, #f8fbff 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px 24px;
  transition:border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}

.home-upload-card-link:hover .home-upload-box{
  border-color:rgba(233,30,140,.5);
  background:
    radial-gradient(circle at top right, rgba(233,30,140,.08), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  transform:translateY(-1px);
}

.home-upload-box-inner{
  width:100%;
  max-width:420px;
}

.home-upload-box-title{
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  color:#101828;
  margin-bottom:10px;
  letter-spacing:-0.01em;
}

.home-upload-box-subtitle{
  font-size:14px;
  line-height:1.5;
  color:#667085;
  margin-bottom:18px;
}

.home-upload-box-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:54px;
  padding:0 22px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--ui-primary) 0%, var(--ui-primary-dark) 100%);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 14px 28px rgba(233,30,140,.18);
  text-transform:uppercase;
}

.home-upload-box-btn .btn-icon{
  width:16px;
  height:16px;
}

/* Upload page same visual style */
.upload-drop-zone{
  min-height:320px !important;
  border:2px dashed #f2a9cf !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at top right, rgba(233,30,140,.06), transparent 34%),
    linear-gradient(180deg, #fcfdff 0%, #f8fbff 100%) !important;
  padding:28px 24px !important;
  transition:border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

.upload-drop-zone:hover{
  border-color:rgba(233,30,140,.5) !important;
  background:
    radial-gradient(circle at top right, rgba(233,30,140,.08), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  transform:translateY(-1px);
}

.upload-drop-zone p{
  font-size:20px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  color:#101828 !important;
  margin:0 !important;
  letter-spacing:-0.01em !important;
}

.upload-drop-zone span{
  display:block !important;
  margin-top:10px !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#667085 !important;
}

.upload-left-section{
  max-width:100% !important;
}

@media (max-width:768px){
  .home-upload-box,
  .upload-drop-zone{
    min-height:260px !important;
    padding:22px 18px !important;
    border-radius:20px !important;
  }

  .home-upload-box-title,
  .upload-drop-zone p{
    font-size:17px !important;
  }

  .home-upload-box-subtitle,
  .upload-drop-zone span{
    font-size:13px !important;
  }

  .home-upload-box-btn{
    min-height:50px;
    padding:0 18px;
    font-size:14px;
  }
}

@media (max-width:520px){
  .home-upload-box,
  .upload-drop-zone{
    min-height:220px !important;
    padding:18px 16px !important;
  }

  .home-upload-box-title,
  .upload-drop-zone p{
    font-size:16px !important;
  }
}

.password-field{
  position:relative;
  width:100%;
}

.password-field .password-input{
  padding-right:48px !important;
}

.password-toggle{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border:none;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#667085;
  padding:0;
}

.password-toggle:hover{
  color:#e91e8c;
}

.toggle-eye{
  width:18px;
  height:18px;
  stroke-width:2.2;
  flex-shrink:0;
}

/* =========================
   DLL detail / versions
   ========================= */
.upload-layout-wide{grid-template-columns:minmax(0,1fr) 320px}
.detail-form-shell{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.section-span-2{grid-column:1/-1}
.detail-form-section{background:#fff;border:1px solid var(--ui-line);border-radius:14px;padding:18px}
.detail-form-section-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--ui-text);margin-bottom:14px}
.detail-form-section-title i{width:18px;height:18px;color:var(--ui-primary)}
.detail-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.detail-form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.dll-hero-card{padding:22px}
.dll-topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.dll-top-left{display:flex;gap:16px;align-items:flex-start;flex:1;min-width:0}
.dll-square{width:54px;height:54px;border-radius:12px}
.dll-square span{font-size:16px}
.dll-top-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.large-download-btn{min-height:48px;font-size:14px}
.dll-meta-line span{display:inline-flex;align-items:center;gap:6px}
.mini-icon{width:14px;height:14px;color:var(--ui-primary)}
.dll-tabbar{display:flex;gap:10px;border-bottom:1px solid var(--ui-line);padding-bottom:14px;margin-bottom:18px;flex-wrap:wrap}
.dll-tab{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--ui-line-strong);border-radius:14px;background:#fff;font-weight:800;color:var(--ui-text)}
.dll-tab strong{background:var(--ui-primary);color:#fff;border-radius:999px;padding:3px 8px;font-size:12px}
.dll-tab.active{border-color:#f3bfd8;background:var(--ui-primary-soft);color:var(--ui-primary-dark)}
.dll-tab i{width:16px;height:16px}
.dll-detail-grid{display:block}
.detail-card-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.detail-card-block{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:18px}
.detail-card-title{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:12px;background:#fafbff;font-weight:800;color:var(--ui-text);margin-bottom:14px}
.detail-card-title i{width:16px;height:16px;color:var(--ui-primary)}
.compact-top{margin-top:18px}
.detail-row{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #f2f4f7;align-items:flex-start}
.detail-row:last-child{border-bottom:none}
.detail-label{display:flex;align-items:center;gap:8px;color:var(--ui-muted);font-size:13px}
.detail-icon{width:15px;height:15px;color:var(--ui-primary)}
.detail-value{font-weight:600;color:var(--ui-text);word-break:break-word;line-height:1.55}
.detail-value a{color:var(--ui-primary-dark)}
.big-pink-btn,.outline-pink-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;font-weight:800}
.big-pink-btn{background:var(--ui-primary);color:#fff;margin-bottom:16px}
.outline-pink-btn{border:2px solid var(--ui-primary);color:var(--ui-primary-dark);background:#fff;margin-top:16px}
.version-callout{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--ui-line);border-radius:14px;background:#fafbff;font-weight:600;color:var(--ui-text);margin-bottom:16px}
.version-callout i{width:16px;height:16px;color:var(--ui-primary)}
.version-group-list{display:flex;flex-direction:column;gap:16px}
.version-group-card{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:16px}
.version-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ui-line);margin-bottom:12px}
.version-group-head h3{font-size:18px;margin:0}
.version-group-head span{font-size:13px;color:var(--ui-muted);font-weight:700}
.version-card-item{display:grid;grid-template-columns:1fr 200px;gap:18px;padding:16px 0;border-bottom:1px solid #f2f4f7}
.version-card-item:last-child{border-bottom:none;padding-bottom:4px}
.version-card-main h4{font-size:24px;line-height:1.1;margin-bottom:8px}
.version-badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.badge-lite{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff5fa;border:1px solid #ffd3e3;font-size:12px;font-weight:700;color:var(--ui-primary-dark)}
.badge-lite.success{background:#f2fff7;border-color:#b7ebc6;color:#137a4b}
.badge-lite i{width:14px;height:14px}
.version-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:13px;color:var(--ui-text);margin-top:10px}
.version-card-grid strong{font-weight:800}
.version-card-aside{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.arch-pill{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:16px;border:1px solid var(--ui-line-strong);padding:12px 14px;font-size:14px;font-weight:900;text-align:center;min-width:150px}
.details-btn{min-width:150px;min-height:44px}
.hash-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ui-muted);word-break:break-all}

@media (max-width: 1100px){
  .detail-card-grid{grid-template-columns:1fr}
  .detail-form-grid.cols-3,.detail-form-grid{grid-template-columns:1fr 1fr}
  .version-card-item{grid-template-columns:1fr}
  .version-card-aside{align-items:flex-start}
}
@media (max-width: 900px){
  .detail-form-shell,.request-layout,.upload-layout,.admin-layout,.upload-layout-wide,.lists-grid,.charts-grid,.info-grid{grid-template-columns:1fr}
  .section-span-2{grid-column:auto}
  .dll-topbar,.dll-top-left{flex-direction:column}
  .dll-top-actions{min-width:0;width:100%}
}
@media (max-width: 640px){
  .detail-row{grid-template-columns:1fr}
  .detail-form-grid.cols-3,.detail-form-grid,.version-card-grid{grid-template-columns:1fr}
  .dll-tabbar{gap:8px}
  .dll-tab{width:100%;justify-content:center}
}

/* Public DLL upload polish */
.polished-upload-card{padding:26px 26px 30px}
.polished-drop-zone{min-height:128px;border:1.5px dashed #f3bfd8;background:#fff8fc;border-radius:16px}
.top-gap-grid{margin-top:14px}
.input-readonly{background:#f7f8fb;color:#667085}
.field-help{font-size:12px;color:#667085;margin-top:6px;line-height:1.45}
.compact-detail-grid .input,.compact-detail-grid select{min-height:46px}
.status-select-good{border-color:#91d8af;background:#f2fff7;color:#137a4b;font-weight:700}
.public-rich-toolbar{margin-top:4px}
.public-rich-toolbar button{min-height:38px;padding:8px 14px}
.public-visual-editor{min-height:280px;font-size:15px;background:#fff;border:1px solid var(--ui-line)}
.public-visual-editor:empty:before{content:attr(data-placeholder);color:#98a2b3}
.public-visual-editor h1,.about-rich-content h1{font-size:28px;margin:0 0 14px;color:#172033}
.public-visual-editor h2,.about-rich-content h2{font-size:24px;margin:0 0 12px;color:#172033}
.public-visual-editor h3,.about-rich-content h3{font-size:20px;margin:0 0 10px;color:#172033}
.public-visual-editor h4,.about-rich-content h4{font-size:18px;margin:0 0 10px;color:#172033}
.public-visual-editor p,.about-rich-content p{margin:0 0 14px;line-height:1.8;color:#344054}
.public-visual-editor ul,.public-visual-editor ol,.about-rich-content ul,.about-rich-content ol{margin:0 0 14px 22px;line-height:1.8}
.public-visual-editor blockquote,.about-rich-content blockquote{margin:0 0 14px;padding:12px 16px;border-left:4px solid var(--ui-primary);background:#fff7fb;border-radius:10px;color:#344054}
.public-visual-editor a,.about-rich-content a{color:var(--ui-primary-dark);text-decoration:underline}
.polished-submit-btn{min-height:54px;font-size:15px;border-radius:14px}
.detail-value.is-good{color:#137a4b;font-weight:800}
.detail-value.is-warn{color:#b42345;font-weight:800}
.about-rich-block{margin-top:16px}
.about-rich-content{font-size:15px;line-height:1.75;color:var(--ui-text)}
.dll-count-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:68px;padding:7px 10px;border:1px solid #e5e7ef;border-radius:999px;background:#fff7fb;color:#667085;font-weight:800}
.list-count-icon{width:15px;height:15px;color:var(--ui-primary)}
.dll-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
.dll-count{display:none}
.small-btn,.feedback-send-btn,.home-upload-box-btn,.search-repo-btn,.send-req-btn{min-height:44px}
.small-btn{padding:0 16px;border-radius:12px}
.details-btn,.large-download-btn{min-width:168px}
@media (max-width:640px){
  .dll-row{grid-template-columns:minmax(0,1fr) auto}
  .dll-date{grid-column:2;justify-self:end}
  .dll-count-pill{min-width:58px;padding:6px 8px}
  .public-rich-toolbar button{flex:1 1 120px}
}


/* =========================
   Header polish / responsive menu
   ========================= */

.header-inner{
  position:relative;
  min-height:68px;
  justify-content:space-between;
  gap:16px;
}
.header-branding{display:flex;align-items:center;gap:12px;min-width:0}
.header-desktop-area{display:flex;align-items:center;gap:18px;flex:1;justify-content:space-between;min-width:0}
.nav-links{flex:1;flex-wrap:nowrap;overflow:auto hidden}
.nav-link{gap:8px;border-radius:12px;border-bottom:none;min-height:44px;padding:0 14px}
.nav-link:hover,.nav-link.active{background:var(--ui-primary-soft);color:var(--ui-primary-dark);border-bottom:none}
.nav-icon{width:16px;height:16px;flex-shrink:0}
.top-search{flex-shrink:0;border:1px solid var(--ui-line-strong);background:#fbfcff;box-shadow:0 3px 10px rgba(16,24,40,.04)}
.top-search input{width:250px}
.top-search-btn{background:var(--ui-primary);color:#fff;font-weight:800}
.header-menu-toggle{
  display:none;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:12px;border:1px solid var(--ui-line-strong);
  background:#fff;color:var(--ui-text);cursor:pointer;box-shadow:0 8px 20px rgba(16,24,40,.06)
}
.header-menu-icon,.header-menu-toggle svg{width:19px;height:19px;pointer-events:none}
.mobile-nav-panel{
  display:none;max-width:1400px;margin:0 auto;padding:0 20px 14px;
}
.mobile-nav-panel[hidden]{display:none !important}
.mobile-nav-links{
  display:flex;flex-direction:column;gap:8px;
  background:#fff;border:1px solid var(--ui-line);border-radius:18px;padding:10px;box-shadow:var(--ui-shadow-sm)
}
.mobile-nav-link{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;
  color:var(--ui-text);font-weight:700;border:1px solid transparent
}
.mobile-nav-link:hover,.mobile-nav-link.active{
  background:var(--ui-primary-soft);border-color:#ffd6e8;color:var(--ui-primary-dark)
}

/* =========================
   Upload detail guide / form polish
   ========================= */

.detail-type-guide{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px
}
.detail-type-card{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;
  background:linear-gradient(180deg,#fff 0%,#fff8fb 100%);border:1px solid #f1d4e3;
  border-radius:20px;padding:18px 18px 16px;min-height:188px;text-decoration:none
}
.detail-type-card-link{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease}
.detail-type-card-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,40,.08);border-color:#ebb9d1;background:linear-gradient(180deg,#fff 0%,#fff4f9 100%)}
.detail-type-copy{min-width:0;flex:1}
.detail-type-copy-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.detail-type-title-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0}
.detail-type-title-row-stack{width:100%}
.detail-type-icon{
  width:58px;height:58px;border-radius:18px;background:#fff;border:1px solid #ffd6e6;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 16px rgba(236,72,153,.08)
}
.detail-type-icon-top{margin-bottom:2px}
.detail-type-icon i,.detail-type-icon svg{width:24px;height:24px;color:var(--ui-primary)}
.detail-type-title{font-size:16px;font-weight:900;line-height:1.2;color:#0f172a;margin:0}
.detail-type-card p{font-size:14px;line-height:1.7;color:#5c6b82;margin:0}
#fileInfoSection,#hashDataSection,#metadataSection,#compatSection,#aboutContentSection{scroll-margin-top:90px}
.detail-form-section{padding:20px;border-radius:18px}
.detail-form-section-title{font-size:15px;margin-bottom:16px}
.detail-form-grid{gap:14px}
.compact-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.compact-detail-grid > div{min-width:0}
.compact-detail-grid .input,.compact-detail-grid select,.detail-form-grid .input{min-height:48px;border-radius:12px}

.compact-detail-grid input[type="date"]{min-height:48px;border-radius:12px;padding-right:14px}
.desc-label{display:block;font-size:12.5px;font-weight:800;color:var(--ui-text);margin-bottom:7px}
.field-help{margin-top:7px;font-size:11.5px;line-height:1.45;color:var(--ui-muted)}
.input-readonly{background:#f8fafc;color:#667085}
.upload-submit-btn.polished-submit-btn{min-height:52px;border-radius:14px;padding:0 22px;font-size:14px}
.rich-toolbar.public-rich-toolbar{gap:8px;padding:10px;border-radius:14px}
.rich-toolbar.public-rich-toolbar button{min-height:38px;padding:0 12px;border-radius:11px}
.visual-editor.public-visual-editor{min-height:260px;border-radius:16px;padding:18px}

/* Home list count polish */
.dll-row{gap:12px}
.dll-count-pill{
  background:#fff;border:1px solid #e5d7e1;color:#4b5565;
  box-shadow:0 4px 10px rgba(16,24,40,.03)
}
.list-count-icon{width:15px;height:15px;color:var(--ui-primary)}

/* Responsive rules */
@media (max-width:1180px){
  .detail-type-guide{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .header-inner{min-height:64px}
  .header-menu-toggle{display:inline-flex}
  .header-desktop-area{display:none}
  .mobile-nav-panel{display:block}
}
@media (max-width:900px){
  .detail-type-guide{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .header-inner{padding:10px 16px}
  .logo-text{font-size:18px}
  .mobile-nav-panel{padding:0 16px 12px}
  .compact-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .detail-type-guide{grid-template-columns:1fr}
  .compact-detail-grid,.detail-form-grid.cols-2{grid-template-columns:1fr}
  .detail-form-section{padding:16px}
  .upload-submit-btn.polished-submit-btn{width:100%}
}
