*{margin:0;padding:0;box-sizing:border-box}
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{max-width:1400px;margin:0 auto;padding:20px}
.header{background:#fff;border-bottom:1px solid #eee;width:100%;position:sticky;top:0;z-index:100}
.header-inner{max-width:1400px;margin:0 auto;padding:0 20px;height:52px;display:flex;align-items:center;gap:18px}
.logo{display:flex;align-items:center;gap:6px;flex-shrink:0}
.logo-badge{background:#e91e8c;color:#fff;font-weight:900;font-size:13px;padding:5px 8px;border-radius:6px}
.logo-text{font-size:20px;font-weight:700;color:#222}
.nav-links{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap}
.nav-link{padding:0 14px;height:52px;display:flex;align-items:center;font-size:13px;font-weight:500;color:#555;border-bottom:3px solid transparent}
.nav-link:hover,.nav-link.active{color:#e91e8c;border-bottom-color:#e91e8c}
.top-search{display:flex;align-items:center;border:1.5px solid #e0e0e0;border-radius:20px;overflow:hidden;height:34px;background:#fafafa}
.top-search input{border:none;background:transparent;outline:none;padding:0 14px;font-size:12.5px;color:#666;width:220px}
.top-search-btn{background:#ebebeb;border:none;padding:0 12px;height:34px;cursor:pointer}
.header-accent,.footer-accent{width:100%;height:3px;background:linear-gradient(90deg,#e91e8c 0%,#f06292 60%,transparent 100%)}
.page-body{padding:20px}
.content-box{max-width:1400px;margin:0 auto}
.hero-card,.card,.request-hero,.upload-main-card,.recent-requests-card,.sidebar-card,.feedback-card,.chart-card,.list-card{background:#fff;border:1px solid #ebebeb;border-radius:12px}
.hero-card{padding:30px 32px 26px;margin-bottom:16px}
.hero-top{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.hero-icon{background:#e91e8c;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}
.search-row{display:flex;gap:0}
.search-input-wrap{flex:1;display:flex;align-items:center;border:2px solid #e91e8c;border-right:none;border-radius:8px 0 0 8px;padding:0 18px;height:52px;background:#fff}
.search-input-wrap input{flex:1;border:none;outline:none;font-size:15px}
.search-repo-btn,.btn{background:#e91e8c;color:#fff;border:none;border-radius:8px;padding:0 28px;height:52px;font-size:14px;font-weight:700;cursor:pointer}
.search-repo-btn{border-radius:0 8px 8px 0}
.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 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}
.info-card:hover{box-shadow:0 2px 12px rgba(233,30,140,.08);border-color:#f0c0df}
.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}
.dll-name:hover{color:#e91e8c}
.dll-count,.dll-date,.meta{color:#aaa;font-size:12px}
.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}
.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:#e91e8c}
.send-req-btn,.feedback-send-btn,.action-btn{background:#e91e8c;color:#fff;border:none;border-radius:8px;padding:0 28px;height:42px;font-size:13px;font-weight:700;cursor:pointer}
.textarea{min-height:100px;resize:vertical}
.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-inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.upload-drop-zone{border:2px dashed #d0d0d0;border-radius:12px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px 20px;cursor:pointer;background:#fafafa;margin-bottom:20px;text-align:center}
.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}
.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}
.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:#e91e8c;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-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.stat-card strong{display:block;font-size:30px;color:#e91e8c;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}
.small-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:7px;border:1px solid #ddd;background:#fff;color:#333;font-size:12px;font-weight:600;cursor:pointer}
.small-btn.pink{background:#e91e8c;border-color:#e91e8c;color:#fff}
.small-btn.danger{background:#fff2f4;border-color:#f3c4cf;color:#b42345}
.form-card{background:#fff;border:1px solid #ebebeb;border-radius:12px;padding:20px}
.empty-state{padding:25px;text-align:center;color:#888}
.badge{display:inline-block;background:#fce4f3;color:#e91e8c;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
@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)}}
@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{grid-template-columns:1fr}.header-inner{height:auto;padding:12px 20px}}


/* ===== DLL Upload Exact Layout Override ===== */

.upload-inner-grid {
  display: block !important;
  width: 100% !important;
}

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

.upload-left-section h3 {
  margin: 0 0 12px 0 !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
}

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

.upload-drop-zone {
  width: 100% !important;
  min-height: 214px !important;
  border: 2px dashed #cfcfcf !important;
  border-radius: 18px !important;
  background: #f5f5f5 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 24px 20px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  margin: 0 !important;
  gap: 0 !important;
  transition: 0.2s ease !important;
}

.upload-drop-zone:hover {
  background: #f1f1f1 !important;
}

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

.upload-drop-zone p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: #484848 !important;
}

.upload-drop-zone span {
  display: block !important;
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color: #666 !important;
}

/* native file input ko poori tarah hide karo */
#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;
}

/* description label */
.desc-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #2e2e2e !important;
}

/* description textarea */
.desc-textarea,
.upload-left-section textarea.desc-textarea,
.upload-left-section textarea[name="description"] {
  display: block !important;
  width: 100% !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 16px 16px !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #4a4a4a !important;
  resize: none !important;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

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

.desc-textarea:focus {
  border-color: #cfcfcf !important;
  box-shadow: 0 0 0 3px rgba(233, 30, 140, 0.05) !important;
}

/* char count */
.char-count {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 18px 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-style: italic !important;
  color: #7a7a7a !important;
}

/* exact style button */
.send-req-btn.upload-submit-btn,
.upload-left-section .send-req-btn {
  display: block !important;
  width: 100% !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  background: #e61787 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  line-height: 58px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.send-req-btn.upload-submit-btn:hover,
.upload-left-section .send-req-btn:hover {
  background: #cf1377 !important;
}

/* mobile */
@media (max-width: 768px) {
  .upload-left-section {
    max-width: 100% !important;
  }

  .upload-drop-zone {
    min-height: 180px !important;
  }

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