:root{--bg:#070a10;--line:rgba(255,255,255,.09);--muted:#9aa4b2;--text:#f6f7fb;--gold:#C79216;--gold2:#f2c96b;--green:#76e38d;--shadow:0 24px 80px rgba(0,0,0,.34)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 10%,rgba(199,146,22,.18),transparent 22%),linear-gradient(180deg,#050810,#0a0f18 55%,#060910);color:var(--text);font-family:Inter,Helvetica,Arial,sans-serif}button{border:1px solid var(--line);background:linear-gradient(180deg,#182130,#111722);color:var(--text);border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer;transition:.18s}button:hover{transform:translateY(-2px);border-color:rgba(242,201,107,.42);box-shadow:0 14px 40px rgba(0,0,0,.28)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;background:linear-gradient(180deg,#0b1019,#070a10);border-right:1px solid var(--line);padding:24px 22px;display:flex;flex-direction:column;justify-content:space-between;z-index:20}.logo{width:205px;margin:6px 0 40px}nav{display:grid;gap:8px}nav a{color:#c8ced8;text-decoration:none;border-radius:12px;padding:14px 16px;font-size:16px}nav a.active,nav a:hover{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#14100a;box-shadow:0 10px 36px rgba(199,146,22,.24)}.plan{border:1px solid rgba(242,201,107,.24);background:rgba(255,255,255,.045);border-radius:16px;padding:18px}.plan b{font-size:22px}.plan p{color:#c8ced8;line-height:1.75}.user{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);padding-top:18px}.user span{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold)}.user small{display:block;color:var(--muted)}.app{margin-left:286px}header{height:88px;display:flex;justify-content:space-between;align-items:center;padding:20px 30px;position:sticky;top:0;background:rgba(8,11,18,.75);backdrop-filter:blur(18px);z-index:9;border-bottom:1px solid rgba(255,255,255,.04)}.search{width:min(620px,48vw);height:48px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px;display:flex;align-items:center;gap:12px;padding:0 14px;color:var(--muted)}.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:15px}kbd{border:1px solid var(--line);border-radius:8px;padding:4px 7px}.top{display:flex;gap:13px}.gold,.generate{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17110a;border:0}main{padding:0 28px 42px}.hero{min-height:278px;border:1px solid var(--line);background:linear-gradient(110deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-radius:18px;padding:34px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;box-shadow:var(--shadow)}.hero h1{font-size:32px;margin:0 0 12px}.hero p{color:#c8ced8;font-size:17px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.metrics article{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:13px;padding:20px}.metrics i{color:var(--gold2);font-size:26px;font-style:normal}.metrics small{display:block;text-transform:uppercase;color:var(--muted);font-size:11px;margin-top:6px}.metrics b{display:block;font-size:30px}.metrics em{color:var(--green);font-style:normal;font-size:13px}.engine{border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 75% 45%,rgba(199,146,22,.28),transparent 34%),rgba(255,255,255,.025);overflow:hidden;padding:34px;position:relative}.engine h2{font-size:34px;text-transform:uppercase;line-height:1}.engine h2 span{color:var(--gold2)}.wave{position:absolute;right:28px;bottom:40px;color:var(--gold2);font-size:28px;letter-spacing:20px}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,.95fr);gap:24px;margin-top:24px}.left,.right{display:grid;gap:24px}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.032));border-radius:18px;padding:24px;box-shadow:0 12px 44px rgba(0,0,0,.22)}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:18px}.head h2{margin:0;font-size:20px;text-transform:uppercase}.head p{color:var(--muted)}#modeBadge,.preview h2 span,#knowledge h2 span{background:rgba(199,146,22,.18);color:var(--gold2);font-size:12px;border-radius:999px;padding:5px 10px}textarea{width:100%;height:116px;resize:vertical;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:16px;padding:16px;outline:none}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chips button{font-size:12px;padding:8px 12px;border-radius:9px}.generate{float:right;margin-top:-48px;min-width:168px}.muted{margin:30px 0 13px;color:#c8ced8;font-size:14px}.quick{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick button{min-height:78px;text-align:left;display:flex;flex-direction:column;gap:5px}.quick small{color:var(--muted)}.status{margin-top:16px;color:var(--gold2);font-weight:700}.ai-choice{display:grid;grid-template-columns:58px 1fr 76px;gap:14px;align-items:center;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:14px}.ai-choice img{width:58px;height:58px;border-radius:14px;background:rgba(199,146,22,.12);padding:10px;object-fit:contain}.ai-choice small{display:block;color:var(--muted)}.ai-choice em{color:var(--green);font-style:normal;font-size:22px;font-weight:900}.tools{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.tool{position:relative;min-height:166px;text-align:left;padding:15px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.ai-logo{width:58px;height:58px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:13px;background:rgba(199,146,22,.12)}.ai-logo img{width:36px;height:36px;object-fit:contain}.star{position:absolute;right:13px;top:11px;color:var(--gold2)}.tool b{display:block;font-size:16px}.tool small{display:block;color:#c8ced8;font-size:13px;margin-top:6px;line-height:1.35}.agent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.agent-grid article{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:12px;padding:16px}.agent-grid span{color:var(--gold2);font-weight:900}.agent-grid b{display:block;margin:18px 0 6px}.agent-grid small{color:var(--muted)}.preview{border-color:rgba(199,146,22,.55)}.previews{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.previews article{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;overflow:hidden}.thumb{height:104px}.t1{background:linear-gradient(135deg,#d7dedb,#82928d)}.t2{background:linear-gradient(135deg,#ced7e8,#49638e)}.t3{background:linear-gradient(135deg,#0b111b,#172e42)}.t4{background:linear-gradient(135deg,#eee3d6,#c69668)}.previews small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;padding:8px 10px 2px}.previews b{display:block;font-size:12px;padding:0 10px 10px}.full{width:100%;margin-top:14px;color:var(--gold2)}.kb{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kb article{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:12px;padding:18px}.kb p{color:var(--muted);font-size:13px}.kb input[type=file]{display:none}.kb label{display:inline-block;color:var(--gold2);font-weight:800;cursor:pointer;margin-bottom:10px}.kb div div{display:grid;grid-template-columns:1fr auto;gap:7px}.kb input{background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px;min-width:0}.projects{display:grid;gap:8px;margin-top:12px}.project{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0}.project-img{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#333)}.project small{display:block;color:var(--muted)}.tag{border-radius:7px;background:rgba(199,146,22,.18);color:var(--gold2);font-size:11px;font-weight:800;padding:7px 10px;text-transform:uppercase}.business{border-color:rgba(199,146,22,.35);margin-top:24px}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.business-card{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:18px;min-height:250px}.business-title{display:flex;gap:12px;margin-bottom:8px}.business-title span{color:var(--gold2);font-weight:900}.business-title h3{margin:0;font-size:19px}.business-card p{color:var(--muted);font-size:13px;line-height:1.4}.pipeline,.job-list{display:grid;gap:10px;margin-top:14px}.pipeline div,.job-list div{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:10px;padding:11px}.pipeline small,.job-list small{display:block;color:var(--muted);margin-top:4px}.quote-maker textarea{height:96px;min-height:96px;margin-top:8px}.quote-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:10px}.quote-controls input{background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px;min-width:0}.money-stats{display:grid;gap:10px;margin-top:16px}.money-stats div{background:rgba(199,146,22,.09);border:1px solid rgba(199,146,22,.22);border-radius:12px;padding:14px}.money-stats small{display:block;color:var(--muted);text-transform:uppercase;font-size:11px}.money-stats b{display:block;font-size:24px;margin-top:5px;color:var(--gold2)}.estimate-output{margin-top:16px;background:#05070b;border:1px solid var(--line);border-radius:14px;padding:20px}.estimate-output h3{margin:0 0 10px;color:var(--gold2)}.estimate-output pre{min-height:0;box-shadow:none;margin:0;background:transparent;border:0;padding:0;white-space:pre-wrap}.quote-actions{display:flex;gap:10px;margin-top:14px}.tabs{display:flex;gap:8px;margin-bottom:12px}.tabs button.active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17110a}pre{min-height:360px;background:#05070b;border:1px solid var(--line);border-radius:14px;color:#e8edf7;padding:22px;white-space:pre-wrap;line-height:1.55;overflow:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:18px}.stat-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;border-top:1px solid var(--line);padding:10px 0;color:#c8ced8}.stat-row em{color:var(--gold2);font-style:normal}.login{position:fixed;inset:0;background:radial-gradient(circle at 70% 12%,rgba(199,146,22,.24),transparent 34%),#070a10;z-index:99;display:flex;align-items:center;justify-content:center;padding:24px}.login.hidden{display:none}.login-card{width:100%;max-width:470px;background:rgba(17,23,34,.86);border:1px solid var(--line);border-radius:22px;padding:36px;text-align:center;box-shadow:var(--shadow)}.login-card img{width:190px;margin-bottom:20px}.login-card h1{font-size:38px}.login-card p{color:#c8ced8}.login-card input{width:100%;margin:8px 0;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:11px;color:var(--text);padding:14px}.login-card button{width:100%;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17100a;border:0}@media(max-width:1450px){.tools{grid-template-columns:repeat(4,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}.agent-grid{grid-template-columns:repeat(2,1fr)}.business-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1100px){.sidebar{display:none}.app{margin-left:0}.layout,.hero{grid-template-columns:1fr}}@media(max-width:700px){header{height:auto;display:block}.search{width:100%;margin-bottom:12px}main{padding:0 14px 30px}.metrics,.tools,.previews,.kb,.stats,.business-grid{grid-template-columns:1fr}.quick,.agent-grid,.quote-controls{grid-template-columns:1fr}.generate{float:none;margin-top:12px;width:100%}}
/* V8 improvements: editable libraries, deletable items, quote archive */
.kb-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:14px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}
.kb-item{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,.04);
}
.kb-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  background:rgba(199,146,22,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold2);
  font-weight:900;
}
.kb-item b{
  display:block;
  font-size:13px;
}
.kb-item p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
  word-break:break-word;
}
.kb-del{
  padding:8px 10px;
  color:#ffb4b4;
  border-color:rgba(255,120,120,.25);
}
.quote-upload{
  margin-top:12px;
  border-top:1px solid var(--line);
  padding-top:12px;
}
.quote-upload input{
  display:none;
}
.quote-upload label{
  display:inline-block;
  color:var(--gold2);
  font-weight:800;
  cursor:pointer;
  border:1px solid rgba(199,146,22,.28);
  border-radius:10px;
  padding:10px 12px;
  background:rgba(199,146,22,.08);
}
.quote-upload small{
  display:block;
  color:var(--muted);
  margin-top:8px;
}
.quote-archive{
  margin-top:14px;
  display:grid;
  gap:8px;
}
.quote-archive .kb-item{
  grid-template-columns:42px 1fr auto;
}

/* V8.1 mobile logo fix */
.mobile-brand{
  display:none;
}
@media(max-width:1100px){
  header{
    gap:14px;
  }
  .mobile-brand{
    display:flex;
    align-items:center;
    min-width:112px;
  }
  .mobile-brand img{
    width:104px;
    height:auto;
    display:block;
  }
}
@media(max-width:700px){
  header{
    display:grid !important;
    grid-template-columns:1fr;
    gap:12px;
  }
  .mobile-brand{
    display:flex;
    justify-content:center;
    width:100%;
  }
  .mobile-brand img{
    width:118px;
  }
}

/* V9 AI Launchpad */
.launchpad{
  border-color:rgba(242,201,107,.28);
}
.mode-switch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
.mode-switch button{
  padding:9px 12px;
  font-size:12px;
}
.recommended-stack{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.recommended-stack article{
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:start;
}
.recommended-stack span{
  width:48px;
  height:48px;
  border-radius:12px;
  background:rgba(199,146,22,.13);
  color:var(--gold2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:900;
}
.recommended-stack b{
  display:block;
  font-size:16px;
}
.recommended-stack small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.recommended-stack button{
  grid-column:1/-1;
  color:var(--gold2);
}
.ai-action-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 12px;
}
.ai-action-bar button:first-child{
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#17110a;
  border:0;
}
.launch-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  background:#101722;
  color:var(--text);
  border:1px solid rgba(242,201,107,.35);
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  max-width:330px;
}
.preview-wireframe{
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 24%,transparent 24% 28%,rgba(255,255,255,.08) 28% 100%),
    linear-gradient(135deg,#0b111b,#172e42)!important;
}
.preview-board{
  background:
    radial-gradient(circle at 18% 20%,rgba(242,201,107,.55),transparent 12%),
    linear-gradient(135deg,#0b111b,#3a3324)!important;
}
@media(max-width:900px){
  .recommended-stack{grid-template-columns:1fr}
  .ai-action-bar{display:grid}
}

.recommended-stack span img{
  width:30px;
  height:30px;
  object-fit:contain;
}

/* V10 refinements */
.hamburger{display:none;width:46px;height:46px;border-radius:12px;padding:0;margin-right:10px}
.mobile-scrim{display:none}
.self-test{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.self-test div{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:12px;padding:14px}
.self-test b{display:block}.self-test small{display:block;color:var(--muted);margin-top:5px}.self-test .ok{color:var(--green)}.self-test .warn{color:var(--gold2)}
.launch-actions{display:flex;gap:8px;margin-top:8px;grid-column:1/-1}.launch-actions button{flex:1;padding:9px 10px;font-size:11px}.launch-actions button:first-child{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17110a;border:0}
.ai-action-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}.ai-action-bar button:first-child{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#17110a;border:0}
.launch-toast{position:fixed;right:24px;bottom:24px;z-index:9999;background:#101722;color:var(--text);border:1px solid rgba(242,201,107,.35);border-radius:14px;padding:14px 16px;box-shadow:0 18px 50px rgba(0,0,0,.45);max-width:330px}
@media(max-width:1100px){.hamburger{display:inline-flex;align-items:center;justify-content:center}.sidebar{display:flex!important;transform:translateX(-105%);transition:transform .22s ease;z-index:1000}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .mobile-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999}.app{margin-left:0!important}}
@media(max-width:900px){.self-test{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.self-test{grid-template-columns:1fr}}

/* V11 Settings & backup */
.settings-panel{margin-top:24px;border-color:rgba(199,146,22,.28)}
.settings-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.settings-grid article{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:18px}
.settings-grid h3{margin:0 0 8px;color:var(--gold2)}
.settings-grid p{color:var(--muted);font-size:13px;line-height:1.4}
.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.danger{width:100%;margin-top:14px;border-color:rgba(255,100,100,.35);color:#ffb5b5}
#backupImport{display:none}
.import-label{display:inline-block;margin-top:14px;color:var(--gold2);font-weight:800;cursor:pointer;border:1px solid rgba(199,146,22,.28);border-radius:10px;padding:11px 13px;background:rgba(199,146,22,.08)}
@media(max-width:1100px){.settings-grid{grid-template-columns:1fr}.settings-actions{grid-template-columns:1fr}}

/* V12 dynamic dashboard KPI + hero/sidebar fixes */
.metrics b span{
  display:inline-block;
}
.metrics em.neutral{
  color:var(--muted);
}
.sidebar nav a{
  white-space:normal;
}
.engine{
  min-width:0;
}
.engine-title,
.engine h2{
  max-width:100%;
}
.engine-title b,
.engine-title strong,
.engine h2{
  word-break:normal;
  overflow-wrap:normal;
}
@media(max-width:1500px){
  .hero{
    grid-template-columns:1fr;
  }
  .engine{
    min-height:190px;
  }
}
@media(max-width:700px){
  .metrics article{
    min-width:0;
  }
}

/* V14 polish */
.settings-panel h2,.test-panel h2{color:#f2c96b}

/* V15 cleanup */
.neutral-kpi{
 color:#9ca3af!important;
}

.self-test div small{color:#cfcfcf}.router-result em{color:#cfcfcf!important}

/* V22 functional upgrade */
.client-kb{border-color:rgba(199,146,22,.28);margin-top:24px}
.client-folders{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.client-folder{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:16px;min-height:120px}
.client-folder b{display:block;color:var(--text);font-size:15px;margin-top:8px}
.client-folder small{display:block;color:var(--muted);margin-top:5px}
.client-folder .folder-icon{font-size:28px;color:var(--gold2)}
.client-folder button{margin-top:12px;width:100%;padding:8px 10px;font-size:12px}
.workflow-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:14px 0 18px}
.workflow-flow div{background:rgba(199,146,22,.08);border:1px solid rgba(199,146,22,.22);border-radius:12px;padding:12px;text-align:center}
.workflow-flow b{display:block;color:var(--gold2)}
.workflow-flow small{display:block;color:var(--muted);margin-top:4px}
.workflow-flow span{color:var(--gold2);font-size:22px;text-align:center}
@media(max-width:1200px){.client-folders{grid-template-columns:repeat(2,1fr)}.workflow-flow{grid-template-columns:1fr}.workflow-flow span{transform:rotate(90deg)}}
@media(max-width:700px){.client-folders{grid-template-columns:1fr}}

/* V27 Mockup upload, drag & drop, modal */
.mockup-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.mockup-modal.is-open{display:flex}
.mockup-modal-card{
  width:min(1180px,96vw);
  max-height:92vh;
  overflow:auto;
  background:linear-gradient(180deg,#111722,#080b12);
  border:1px solid rgba(242,201,107,.34);
  border-radius:22px;
  padding:24px;
  box-shadow:0 30px 120px rgba(0,0,0,.55);
}
.mockup-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.mockup-modal-head h2{
  margin:0;
  text-transform:uppercase;
  color:var(--gold2,#f2c96b);
}
.mockup-modal-head p{
  margin:6px 0 0;
  color:var(--muted,#9aa4b2);
}
.mockup-dropzone{
  border:1.5px dashed rgba(242,201,107,.45);
  border-radius:18px;
  min-height:180px;
  background:rgba(199,146,22,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  transition:.2s ease;
  margin-bottom:22px;
}
.mockup-dropzone.is-dragover{
  background:rgba(242,201,107,.18);
  border-color:rgba(242,201,107,.85);
  transform:scale(1.01);
}
.mockup-dropzone input{display:none}
.mockup-dropzone label{
  cursor:pointer;
  display:grid;
  gap:8px;
  padding:28px;
}
.mockup-dropzone b{
  font-size:20px;
  color:var(--text,#fff);
}
.mockup-dropzone span{
  color:var(--muted,#9aa4b2);
}
.mockup-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.mockup-card{
  background:rgba(255,255,255,.045);
  border:1px solid var(--line,rgba(255,255,255,.09));
  border-radius:15px;
  overflow:hidden;
}
.mockup-thumb{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  background:#05070b;
}
.mockup-meta{
  padding:12px;
}
.mockup-meta b{
  display:block;
  font-size:13px;
  word-break:break-word;
}
.mockup-meta small{
  display:block;
  color:var(--muted,#9aa4b2);
  margin-top:4px;
}
.mockup-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:0 12px 12px;
}
.mockup-actions button{
  padding:8px 10px;
  font-size:12px;
}
.mockup-actions .danger{
  color:#ffb4b4;
  border-color:rgba(255,120,120,.25);
}
.mockup-actions .approve{
  color:#76e38d;
  border-color:rgba(118,227,141,.25);
}
.mockup-lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.88);
  z-index:10000;
  padding:36px;
}
.mockup-lightbox.is-open{display:flex}
.mockup-lightbox img{
  max-width:96vw;
  max-height:88vh;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 30px 120px rgba(0,0,0,.65);
}
.mockup-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  z-index:10001;
}
.preview .full,
.full[onclick*="openMockupPanel"]{
  cursor:pointer;
}
@media(max-width:1100px){
  .mockup-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .mockup-gallery{grid-template-columns:1fr}
  .mockup-modal{padding:10px}
  .mockup-modal-card{padding:16px}
}

/* V28 mockup fix */
.mockup-empty{
  grid-column:1/-1;
  color:var(--muted,#9aa4b2);
  padding:18px;
  border:1px solid var(--line,rgba(255,255,255,.09));
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

/* V29 server mockups */
.mockup-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 14px;
}
.mockup-fields input{
  background:rgba(0,0,0,.24);
  border:1px solid var(--line,rgba(255,255,255,.09));
  color:var(--text,#fff);
  border-radius:11px;
  padding:12px 13px;
}
.mockup-server-badge{
  display:inline-block;
  margin-left:8px;
  color:var(--gold2,#f2c96b);
  font-size:12px;
}
.mockup-progress{
  margin:10px 0 16px;
  color:var(--gold2,#f2c96b);
  font-weight:700;
}
@media(max-width:700px){
  .mockup-fields{grid-template-columns:1fr}
}
