body { background: var(--warm-paper); }
.site-header { background: #fff; }
main { width: min(1150px, calc(100% - 44px)); max-width: none; margin: auto; padding: 58px 0 90px; }
.artist-intro { display: flex; align-items: end; justify-content: space-between; gap: 45px; text-align: left; border-bottom: 1px solid #222; padding-bottom: 27px; margin-bottom: 38px; }
.artist-intro h1 { font: 700 32px 'Noto Serif KR', serif; letter-spacing: -1.5px; margin: 7px 0 8px; }
.artist-intro > div > p:last-child { margin: 0; color: #666; font-size: 13px; }
.artist-intro ul { flex: 0 0 auto; display: block; margin: 0; padding: 13px 17px; list-style: none; background: #f0eee7; font-size: 11px; line-height: 1.9; }
.artist-intro li::before { content: '—'; margin-right: 7px; color: #58751d; }
.artist-intro a { color: #58751d; text-decoration: underline; text-underline-offset: 3px; }
.artist-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 30px; }
.artist-card { width: 100%; min-width: 0; border: 0; border-top: 1px solid #c9c7bf; background: none; text-align: left; cursor: pointer; padding: 13px 0 0; color: inherit; }
.cover-stage { height: 280px; padding: 27px; background: #efede7; }
.cover-stage::after { top: 9px; right: 10px; font-size: 8px; color: #aaa; }
.cover-stage img { max-width: 58%; box-shadow: 4px 8px 16px #00000017; transition-duration: .25s; }
.cover-stage img + img { margin-left: -25px; transform: rotate(2deg); }
.artist-card:hover .cover-stage img:first-child { transform: translateY(-6px); }
.artist-card:hover .cover-stage img + img { transform: translateY(-6px) rotate(3deg); }
.artist-card h2 { display: flex; justify-content: space-between; align-items: center; min-height: 26px; margin: 13px 0 0; font: 600 16px 'Noto Serif KR', serif; }
.artist-card h2::after { content: '→'; color: #58751d; font-family: sans-serif; }
.artist-card p { margin: 0; font-size: 11px; color: #888; }
dialog { background: #fff; box-shadow: 0 20px 55px #0003; }
.metric-grid .accent { background: #58751d; }
.auth-help { margin: 16px 0 24px; color: #555; font-size: 16px; line-height: 1.7; text-align: center; }
#artist-login .login-message:not(:empty) {
  min-height: 0;
  margin: 18px 0 0;
  padding: 17px 18px;
  border: 1px solid #d9c8a8;
  background: #fff8e9;
  color: #8d3a28;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  text-align: left;
  white-space: pre-line;
}
#artist-login .admin-direct-login { border: 1px solid #222; background: #fff; color: #222; }
.dashboard-actions { display: flex; gap: 10px; }
.dashboard-actions button:first-child { background: #58751d; border-color: #58751d; color: #fff; }
#inline-edit { background: #222; border-color: #222; color: #fff; }
#admin-dashboard-logout { background: #fff; border-color: #b8b8b0; color: #666; }
#admin-dashboard-logout:not([hidden]) { display: inline-flex; align-items: center; }
#sales-report-content { padding: 28px 0 70px; }
.report-notes { margin: 0 0 30px; padding: 18px 22px; list-style: none; background: #fff; font-size: 13px; line-height: 1.9; }
.report-notes li::before { content: '*'; margin-right: 8px; }
.report-table { margin-top: 28px; }
.report-table h3 { margin: 0 0 9px; font-size: 16px; }
.report-table > div { overflow-x: auto; }
.report-table table { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
.report-table th, .report-table td { min-width: 110px; padding: 12px 14px; border: 1px solid #ddd; text-align: center; white-space: nowrap; }
.report-table th { background: #d1d1d1; font-weight: 500; }
.report-table tbody td:first-child { background: #ddd; font-weight: 500; }
.report-table:last-child td:last-child { text-align: left; }
#sales-inline-editor { padding: 28px 0 70px; }
.inline-editor-actions { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 20px; }
.inline-editor-actions button, .inline-table-tools button { border: 1px solid #bbb; background: #fff; padding: 9px 14px; cursor: pointer; }
.inline-editor-actions .save { border-color: #58751d; background: #58751d; color: #fff; }
.inline-editor-fields { display: grid; gap: 15px; margin-bottom: 32px; }
.inline-editor-fields label { font-weight: 600; }
.inline-editor-fields input, .inline-editor-fields textarea { display: block; width: 100%; margin-top: 6px; padding: 12px; border: 1px solid #ccc; font: inherit; }
.inline-edit-table { margin-top: 30px; }
.inline-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.inline-table-heading h3 { margin: 0; }
.inline-table-tools { display: flex; gap: 6px; }
.inline-edit-table > div:last-child { overflow-x: auto; }
.inline-edit-table table { width: 100%; border-collapse: collapse; background: #fff; }
.inline-edit-table th, .inline-edit-table td { min-width: 120px; padding: 12px; border: 1px solid #ddd; }
.inline-edit-table th { background: #eee; }
.inline-edit-table [contenteditable=true]:focus { outline: 2px solid #a7dd39; outline-offset: -2px; background: #fbfff4; }
.inline-edit-table .row-action { width: 44px; min-width: 44px; text-align: center; }
.inline-edit-table .row-action button { border: 0; background: none; color: #a33; font-size: 19px; cursor: pointer; }
.inline-editor-message { min-height: 22px; color: #58751d; text-align: right; }
.dashboard { top: 194px; z-index: 15; }
@media (max-width: 780px) {
  main { width: calc(100% - 36px); padding: 40px 0 70px; }
  .artist-intro { display: block; margin-bottom: 28px; }
  .artist-intro ul { margin-top: 20px; }
  .artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 14px; }
  .cover-stage { height: 235px; padding: 20px; }
  .dashboard-actions { align-items: stretch; flex-direction: column; }
  .dashboard { top: 78px; }
}
@media (max-width: 480px) {
  .artist-grid { grid-template-columns: 1fr; }
  .cover-stage { height: 315px; }
}
