.ui-panel{
  width:min(100%, 720px);
  max-height:min(88vh, 88dvh);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  color:var(--ui-text);
  background:var(--ui-surface);
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-panel);
  box-shadow:var(--ui-shadow-panel);
}

.ui-panel__header{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:16px;
  padding:24px 24px 16px;
  border-bottom:1px solid var(--ui-border);
}

.ui-panel__heading{
  min-width:0;
}

.ui-panel__title{
  margin:0;
  color:var(--ui-text);
  font-family:'DM Serif Display','Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.75rem, 4vw, 2.25rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.01em;
}

.ui-panel__subtitle,
.ui-panel__meta{
  margin:8px 0 0;
  color:var(--ui-muted);
  font-family:'Inter','DM Sans',system-ui,sans-serif;
  font-size:0.875rem;
  line-height:1.45;
}

.ui-panel__meta{
  font-size:0.75rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.ui-panel__close{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:8px;
  color:var(--ui-muted);
  background:transparent;
  box-shadow:none;
  font:300 30px/1 'Inter','DM Sans',system-ui,sans-serif;
  cursor:pointer;
}

.ui-panel__close:hover{
  color:var(--ui-text);
  background:rgba(30, 28, 24, 0.05);
}

.ui-panel__body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:20px 24px 24px;
}

.ui-panel__footer{
  flex-shrink:0;
  padding:16px 24px 20px;
  border-top:1px solid var(--ui-border);
  background:var(--ui-surface-soft);
}

.ui-panel-section{
  padding:16px;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-card);
  background:var(--ui-surface);
}

.ui-panel-section + .ui-panel-section{
  margin-top:14px;
}

.ui-panel-section__header{
  margin-bottom:14px;
}

.ui-panel-section__title{
  margin:0;
  color:var(--ui-text);
  font-family:'Inter','DM Sans',system-ui,sans-serif;
  font-size:0.875rem;
  font-weight:700;
  line-height:1.25;
}

.ui-panel-section__description{
  margin:6px 0 0;
  color:var(--ui-muted);
  font-family:'Inter','DM Sans',system-ui,sans-serif;
  font-size:0.8125rem;
  line-height:1.45;
}

.ui-panel-section__body{
  display:grid;
  gap:12px;
}

@media (max-width:768px){
  .ui-panel{
    width:100%;
    max-width:none;
    max-height:100dvh;
    min-height:100dvh;
    border-radius:0;
    border-left:0;
    border-right:0;
  }

  .ui-panel__header{
    padding:20px 20px 14px;
  }

  .ui-panel__body{
    padding:18px 20px 22px;
  }

  .ui-panel__footer{
    padding:14px 20px max(18px, env(safe-area-inset-bottom, 0px));
  }
}
