/* Marketplace Studio — Adaptive UI v0.3.1 */
:root{
  --content-max:2400px;
  --sidebar-fluid:clamp(252px,12.2vw,304px);
  --space-page:clamp(18px,1.35vw,36px);
  --space-panel:clamp(16px,1vw,24px);
  --gap-ui:clamp(12px,.75vw,18px);
}
html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-size:clamp(15px,calc(13px + .12vw),17px);line-height:1.5}
button,input,textarea,select{font-size:inherit}
.eyebrow{font-size:clamp(11px,calc(9.5px + .08vw),13px)}
.field-hint{font-size:clamp(12px,calc(10.5px + .08vw),14px)}
label{font-size:clamp(13px,calc(11.5px + .08vw),15px)}
input,textarea,select{padding:clamp(11px,.65vw,14px) clamp(12px,.75vw,16px);border-radius:11px}
.primary-btn,.secondary-btn{padding:clamp(11px,.65vw,14px) clamp(15px,.9vw,20px);font-size:clamp(13px,calc(11.5px + .08vw),15px)}
.login-view{padding:clamp(18px,2vw,44px)}
.login-shell{width:min(1320px,96vw);min-height:clamp(650px,72vh,820px)}.login-story{padding:clamp(40px,3vw,64px)}
.login-brandline strong{font-size:clamp(18px,1vw,22px)}
.login-brandline small{font-size:clamp(12px,.7vw,14px)}
.login-copy{max-width:620px}
.login-copy h1{font-size:clamp(42px,2.6vw,62px);line-height:1.04}
.login-copy p{font-size:clamp(16px,1vw,20px);max-width:580px}
.login-points span{font-size:clamp(12px,.72vw,14px);padding:10px 14px}
.login-foot,.login-security{font-size:clamp(11px,.68vw,13px)}
.login-card{padding:clamp(44px,3vw,72px)}
.login-card-head h2{font-size:clamp(30px,1.8vw,40px)}
.login-card-head p,.error-text{font-size:clamp(13px,.8vw,15px)}

/* Desktop shell */
.app-shell{grid-template-columns:var(--sidebar-fluid) minmax(0,1fr)}
.sidebar{padding:clamp(18px,1vw,24px) clamp(13px,.75vw,18px) 20px}
.brand{gap:12px;padding-bottom:20px}
.brandmark{width:clamp(40px,2.2vw,48px);height:clamp(40px,2.2vw,48px)}
.brand-copy strong{font-size:clamp(16px,.95vw,20px)}
.brand-copy small{font-size:clamp(11px,.66vw,13px)}
.nav-group-label{font-size:clamp(10px,.58vw,12px);margin:18px 10px 7px}
.nav-link{min-height:clamp(42px,2.4vw,50px);padding:9px 11px;font-size:clamp(13px,.78vw,15.5px);gap:11px}
.nav-icon{width:21px;font-size:clamp(16px,.95vw,20px)}
.nav-link em{font-size:clamp(10px,.58vw,11.5px);padding:3px 6px}
.side-footer{font-size:clamp(11px,.65vw,13px);padding-top:18px}.topbar{height:clamp(68px,4vw,82px);gap:clamp(12px,.8vw,20px);padding:9px var(--space-page)}
.icon-btn{width:40px;height:40px}
.search-box{max-width:clamp(680px,42vw,920px)}
.search-box input{font-size:clamp(13px,.8vw,16px);padding:11px 50px 11px 42px}
.search-box kbd{font-size:clamp(10px,.58vw,12px)}
.top-chip{height:clamp(46px,2.8vw,54px);padding:6px 12px}
.top-chip b{font-size:clamp(11px,.66vw,13px)}
.top-chip small{font-size:clamp(10px,.6vw,12px)}
.top-icon{width:clamp(40px,2.4vw,46px);height:clamp(40px,2.4vw,46px)}
.avatar{width:clamp(36px,2.2vw,42px);height:clamp(36px,2.2vw,42px);font-size:clamp(11px,.7vw,14px)}
.account-copy strong{font-size:clamp(12px,.72vw,14px);max-width:190px}
.account-copy small{font-size:clamp(10px,.62vw,12px);max-width:220px}
.logout-link{font-size:clamp(11px,.65vw,13px)}

/* Content uses the available monitor width */
.page{width:100%;max-width:var(--content-max);padding:var(--space-page);margin:0 auto}
.page-intro{gap:24px;margin-bottom:clamp(18px,1.2vw,28px)}
.page-intro h1{font-size:clamp(30px,1.8vw,40px);margin:7px 0 6px}
.page-intro p{font-size:clamp(14px,.85vw,17px)}
.intro-actions{gap:10px}
.date-pill{font-size:clamp(12px,.72vw,14px);padding:11px 14px}
.kpi-grid{gap:var(--gap-ui);margin-bottom:var(--gap-ui)}
.kpi-card{padding:clamp(16px,1vw,22px);min-height:clamp(142px,8.5vw,172px)}
.kpi-top{font-size:clamp(11px,.7vw,14px);gap:10px}
.metric-icon{width:clamp(31px,1.9vw,38px);height:clamp(31px,1.9vw,38px);font-size:clamp(12px,.75vw,15px)}
.kpi-card>strong{font-size:clamp(28px,1.8vw,38px);margin:16px 0 12px}
.kpi-card>strong small{font-size:clamp(13px,.78vw,16px)}
.kpi-foot{font-size:clamp(10.5px,.65vw,13px);gap:6px}.dashboard-grid{gap:var(--gap-ui)}
.primary-grid,.lower-grid{margin-bottom:var(--gap-ui);margin-top:var(--gap-ui)}
.panel{padding:var(--space-panel);border-radius:clamp(16px,1vw,20px)}
.panel-head{gap:14px;margin-bottom:clamp(13px,.8vw,18px)}
.panel-head h2{font-size:clamp(15px,.95vw,19px)}
.panel-kicker{font-size:clamp(10px,.58vw,12px)}
.panel-link,.text-btn{font-size:clamp(11px,.68vw,13px)}
.soft-label,.health-score{font-size:clamp(10px,.62vw,12px);padding:6px 9px}
.counter-badge{font-size:clamp(11px,.65vw,13px);min-width:28px;height:26px}
.activity-panel,.health-panel,.recent-panel{min-height:clamp(300px,18vw,370px)}
.activity-chart{height:clamp(220px,13vw,280px);gap:clamp(8px,.65vw,14px);padding-top:16px}
.bar-set{height:clamp(170px,10vw,220px);gap:4px}
.bar{width:clamp(8px,.55vw,12px)}
.legend{font-size:clamp(10px,.62vw,12px);gap:14px}
.day-label,.no-activity{font-size:clamp(10px,.62vw,13px)}
.health-row{padding:clamp(9px,.6vw,13px) 0;font-size:clamp(11px,.7vw,14px)}
.state{font-size:clamp(10px,.62vw,12px);padding:4px 8px}
.timeline-row{grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:clamp(9px,.6vw,13px) 0}
.timeline-icon{width:30px;height:30px;font-size:clamp(10px,.62vw,12px)}
.timeline-copy b{font-size:clamp(11px,.7vw,14px)}
.timeline-copy small{font-size:clamp(10px,.62vw,12px);max-width:clamp(190px,12vw,280px)}
.timeline-time{font-size:clamp(10px,.6vw,12px)}
.quick-actions-panel{padding:var(--space-panel)}
.quick-actions{gap:clamp(9px,.7vw,14px)}
.quick-btn{min-height:clamp(82px,5.4vw,108px);padding:clamp(11px,.75vw,16px);grid-template-columns:clamp(30px,2vw,38px) 1fr;column-gap:10px}
.quick-btn>span{width:clamp(30px,2vw,38px);height:clamp(30px,2vw,38px);font-size:clamp(15px,.9vw,19px)}
.quick-btn b{font-size:clamp(11px,.7vw,14px)}
.quick-btn small{font-size:clamp(10px,.62vw,12px)}.data-table th,.data-table td{padding:clamp(10px,.7vw,14px) clamp(8px,.55vw,12px);font-size:clamp(11px,.68vw,13.5px)}
.product-cell{gap:10px;max-width:380px}
.product-thumb{width:clamp(36px,2.3vw,44px);height:clamp(36px,2.3vw,44px);font-size:clamp(11px,.7vw,14px)}
.status-chip,.score-pill{font-size:clamp(10px,.62vw,12px);padding:4px 8px}
.empty-state{padding:clamp(24px,1.5vw,34px) 14px;font-size:clamp(11px,.7vw,14px)}
.stack-column{gap:var(--gap-ui)}
.audit-row{grid-template-columns:24px 1fr auto;gap:9px;padding:clamp(9px,.6vw,13px) 0;font-size:clamp(11px,.68vw,13px)}
.audit-icon{width:24px;height:24px}
.connection-card{grid-template-columns:42px 1fr auto;gap:11px;padding:clamp(11px,.75vw,15px)}
.ml-logo,.ai-logo{width:42px;height:42px;font-size:clamp(11px,.68vw,13px)}
.connection-card b{font-size:clamp(11px,.7vw,14px)}
.connection-card small{font-size:clamp(10px,.62vw,12px)}
.connection-state{font-size:clamp(10px,.62vw,12px);padding:5px 8px}
.assistant-chat{padding:12px;gap:10px}
.chat-row{grid-template-columns:30px 1fr;gap:9px}
.chat-avatar{width:30px;height:30px;font-size:clamp(10px,.62vw,12px)}
.chat-row p{padding:9px 11px;font-size:clamp(10.5px,.66vw,13px);line-height:1.5}
.chat-input{padding:11px 12px;font-size:clamp(10.5px,.66vw,13px)}
.logs{font-size:clamp(10px,.62vw,12px);line-height:1.6;padding:10px;max-height:210px}
.log{grid-template-columns:105px 58px 1fr;gap:9px;padding:4px 0}
.app-footer{font-size:clamp(10.5px,.65vw,12.5px);padding-top:26px}
.modal-card{padding:clamp(20px,1.4vw,30px)}
.modal-wide{width:min(1100px,96vw)}
.modal-head h2{font-size:clamp(22px,1.4vw,30px)}
.modal-head p{font-size:clamp(12px,.75vw,15px)}
.section-mini-title,.form-result{font-size:clamp(11px,.68vw,13px)}
.invite-result,.toast{font-size:clamp(11px,.68vw,13px)}/* Large desktop: 27-inch QHD/4K monitors */
@media(min-width:1800px){
  :root{--content-max:2800px;--sidebar-fluid:clamp(288px,12vw,320px);--space-page:clamp(28px,1.45vw,42px);--space-panel:clamp(20px,1.05vw,28px)}
  .primary-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr) minmax(360px,.82fr)}
  .lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.68fr) minmax(370px,.8fr)}
  .kpi-card{min-height:160px}
  .activity-chart{min-height:250px}
  .product-cell{max-width:480px}
}
@media(min-width:2400px){
  :root{--content-max:3200px;--sidebar-fluid:324px;--space-page:44px;--space-panel:30px}
  .topbar{height:86px}
  .kpi-card{min-height:176px}
  .panel{border-radius:21px}
  .activity-panel,.health-panel,.recent-panel{min-height:390px}
}

/* Notebook / compact desktop */
@media(max-width:1350px){
  :root{--space-page:20px;--space-panel:17px}
  .page{max-width:none}
  .kpi-card{min-height:138px}
}
@media(max-width:1080px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{width:min(286px,88vw);padding:18px 14px}
  .page{padding:18px;max-width:none}
  .topbar{height:66px;padding:8px 14px}
  .search-box input{font-size:14px}
  .primary-grid{gap:13px}
  .panel{padding:17px}
}/* Tablet / mobile */
@media(max-width:760px){
  body{font-size:15px}
  .page{padding:14px}
  .topbar{height:60px}
  .page-intro h1{font-size:26px}
  .page-intro p{font-size:13.5px;line-height:1.45}
  .kpi-grid{gap:9px}
  .kpi-card{min-height:126px;padding:13px}
  .kpi-top{font-size:11.5px}
  .kpi-card>strong{font-size:25px;margin:13px 0 10px}
  .kpi-foot{font-size:10.5px}
  .panel{padding:14px}
  .panel-head h2{font-size:16px}
  .quick-btn{min-height:78px}
  .data-table th,.data-table td{font-size:11.5px;padding:10px 8px}
  .timeline-copy small{max-width:210px}
  .modal-card{padding:18px}
}
@media(max-width:450px){
  .page{padding:11px}
  .kpi-grid{gap:7px}
  .kpi-card{min-height:122px;padding:12px}
  .kpi-top{font-size:11px;gap:7px}
  .metric-icon{width:28px;height:28px;font-size:11px}
  .kpi-card>strong{font-size:23px}
  .kpi-foot{font-size:10px}
  .panel{padding:12px}
  .page-intro h1{font-size:24px}
  .primary-btn,.secondary-btn{font-size:13px;padding:10px 13px}
  .quick-btn b{font-size:11.5px}
  .quick-btn small{font-size:10.5px}
}
/* Integration Center v0.4.0 */
.integration-modal{width:min(1320px,96vw);max-height:94vh}
.integration-security{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:-2px 0 18px;border:1px solid #d7e8fb;border-radius:14px;background:#f5faff;color:#2d557c}
.integration-security>span{font-size:22px}.integration-security b{display:block;font-size:13px}.integration-security small{display:block;margin-top:3px;color:#72879b;font-size:11px}
.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.integration-provider{border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;box-shadow:0 8px 24px rgba(26,51,81,.05)}
.integration-provider-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.provider-identity{display:flex;align-items:center;gap:12px}.provider-identity h3{margin:2px 0 0;font-size:20px}
.integration-copy{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}
.integration-form{display:flex;flex-direction:column;gap:13px}.integration-fields{display:grid;gap:12px}.integration-fields.two{grid-template-columns:1fr 1fr}
.switch-label{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 12px;border:1px solid var(--line-strong);border-radius:11px;margin-top:6px}
.switch-label>span:first-child{font-weight:800;color:#52677f}.switch-copy{font-size:11px;color:var(--muted);grid-column:1}.switch-label input{grid-column:2;grid-row:1/3;width:20px;height:20px;margin:0}
.callback-box{display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e5ebf2;border-radius:11px;background:#f8fafc;padding:10px 11px}
.callback-box>span{font-size:11px;font-weight:800;color:#667a90}.callback-box code{font-size:10px;color:#3c5874;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.readonly-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:11px;background:#eef8f3;color:#42735a;font-size:11px}.readonly-strip b{color:#0a7448}
.integration-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px}.integration-actions.split{justify-content:space-between;border-top:1px solid #edf2f6;padding-top:12px}
.danger-link{border:0;background:transparent;color:#c63c4c;font-weight:750;font-size:11px;padding:7px}.danger-link:hover{background:var(--red-bg);border-radius:8px}.danger-link:disabled{opacity:.4;cursor:not-allowed}
.integration-result{min-height:18px;margin:0;color:#537087;font-size:11px}.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid #e8eef4;border-radius:12px;background:#fafcfe}
.capability-list span{font-size:11px;color:#536a81}.capability-list em{display:block;margin-left:16px;color:#8a99a9;font-size:10px;font-style:normal}
@media(min-width:1800px){.integration-modal{width:min(1560px,94vw)}.integration-provider{padding:26px}.provider-identity h3{font-size:24px}.integration-copy{font-size:14px}.callback-box code{font-size:11px}}
@media(max-width:980px){.integration-grid{grid-template-columns:1fr}.integration-modal{width:min(760px,96vw)}.integration-fields.two{grid-template-columns:1fr}.callback-box{grid-template-columns:105px minmax(0,1fr) auto}.capability-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.integration-security{align-items:flex-start}.integration-provider{padding:14px}.integration-provider-head{align-items:flex-start}.provider-identity h3{font-size:18px}.callback-box{grid-template-columns:1fr auto}.callback-box>span{grid-column:1/-1}.callback-box code{font-size:9.5px}.readonly-strip{align-items:flex-start;flex-direction:column}.integration-actions{align-items:stretch;flex-direction:column}.integration-actions.split{align-items:stretch}.capability-list{grid-template-columns:1fr}.integration-actions .primary-btn,.integration-actions .secondary-btn{width:100%}}
.account-status-box{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px}.account-status-box>div{padding:10px 11px;border:1px solid #e7edf3;border-radius:11px;background:#fbfcfe}.account-status-box span{display:block;color:#8392a2;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.account-status-box b{display:block;margin-top:4px;color:#36526d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:620px){.account-status-box{grid-template-columns:1fr}.account-status-box b{white-space:normal}}

@media(max-width:1180px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-shell{grid-template-columns:minmax(0,1.3fr) minmax(330px,.8fr)}}
@media(max-width:820px){.catalog-modal{width:98vw;height:96vh}.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-search{grid-column:1/-1}.catalog-shell{grid-template-columns:1fr;overflow:auto}.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.publication-detail{min-height:440px}.detail-actions{position:static}}
@media(max-width:520px){.catalog-toolbar{grid-template-columns:1fr}.catalog-search{grid-column:auto}.publication-grid{grid-template-columns:1fr}.detail-facts{grid-template-columns:1fr}.detail-gallery{grid-template-columns:repeat(3,1fr)}}
