.cham-shell { background: #faf8f3; color: var(--navy-950); }
.cham-nav { background: #fff; border-bottom: 1px solid var(--line); }
.cham-nav .container { display:flex; align-items:center; flex-wrap:wrap; gap:24px; padding-top:20px; padding-bottom:20px; }
.cham-nav a { color:var(--navy-950); text-decoration:none; }
.cham-nav a[aria-current] { text-decoration:underline; text-underline-offset:7px; }
.cham-brand { font:26px Georgia,serif; margin-right:20px; }
.cham-brand span { display:block; font:11px system-ui,sans-serif; margin-top:5px; letter-spacing:.04em; }
.cham-mode,.cham-login { margin-left:auto; font-size:12px; }
.cham-mode { color:#52664f; background:#eef3eb; border-radius:20px; padding:7px 12px; }
.cham-content { max-width:1060px; }
.cham-shell h1,.cham-shell h2,.cham-shell h3 { font-family:Georgia,serif; font-weight:500; overflow-wrap:anywhere; }
.cham-content h1 { font-size:clamp(30px,5vw,46px); }
.cham-content h2 { font-size:clamp(27px,4vw,36px); margin:8px 0 24px; }
.cham-content h3 { font-size:24px; margin:10px 0; }
.cham-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.cham-heading h2 { margin-bottom:0; }
.cham-count { color:var(--muted-text); font:16px system-ui,sans-serif; margin-left:12px; }
.cham-post,.cham-panel,.cham-resource { border:1px solid var(--line); background:#fff; border-radius:16px; padding:30px; margin-bottom:24px; }
.cham-post time { color:var(--muted-text); font-size:13px; }
.cham-post h2 { margin-top:15px; }
.cham-prose { white-space:pre-wrap; line-height:1.85; overflow-wrap:anywhere; }
.cham-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.cham-gallery img { width:100%; height:auto; max-height:480px; object-fit:contain; background:#f3efe7; border-radius:10px; display:block; }
.cham-gallery>a:only-child { grid-column:1 / -1; }
.cham-actions { display:flex; align-items:center; gap:20px; margin-top:24px; }
.cham-empty { padding:44px 25px; border:1px dashed #d0c8b9; border-radius:14px; text-align:center; background:#f5f1e9; }
.cham-empty p,.cham-muted,.cham-resource p { color:var(--muted-text); line-height:1.7; }
.cham-song-list { display:grid; gap:16px; }
.cham-song-row { background:#fff; border:1px solid var(--line); border-radius:14px; scroll-margin-top:20px; overflow:hidden; }
.cham-song-card { display:flex; gap:28px; align-items:center; padding:28px; color:var(--navy-950); text-decoration:none; transition:background .15s; }
.cham-song-card:hover { background:#f3efe7; }
.cham-number { font:25px Georgia,serif; color:#a68a52; }
.cham-song-card>span:nth-child(2) { min-width:0; flex:1; overflow-wrap:anywhere; }
.cham-song-card strong { display:block; font:clamp(25px,4vw,34px) Georgia,serif; margin-bottom:8px; }
.cham-film { display:block; margin-bottom:5px; }
.cham-song-card small { color:var(--muted-text); }
.cham-arrow { font-size:27px; }
.cham-row-tools { border-top:1px solid var(--line); padding:12px 28px; display:flex; flex-wrap:wrap; align-items:center; gap:16px; font-size:13px; }
.cham-row-tools button { min-width:40px; min-height:40px; background:#f3efe7; border:1px solid #d0c8b9; border-radius:6px; cursor:pointer; color:var(--navy-950); }
.cham-row-tools button:disabled { opacity:.35; cursor:default; }
.cham-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; margin-bottom:25px; }
.cham-instruments { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.cham-instrument { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:205px; gap:15px; padding:22px 15px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--navy-950); text-decoration:none; }
.cham-instrument:hover { background:#f3efe7; border-color:#a68a52; }
.cham-instrument-icon { display:block; width:80px; height:80px; object-fit:contain; }
.cham-instrument strong { font-size:16px; }
.cham-instrument>span { font-size:12px; color:var(--muted-text); }
.cham-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cham-resource { margin:0; min-width:0; }
.cham-resource audio { display:block; width:100%; margin:20px 0 15px; }
.cham-download { display:block; font-size:13px; margin-top:18px; }
.cham-pending { display:inline-block; padding:9px 12px; border-radius:7px; background:#f3efe7; color:#6c6252; font-size:13px; }
.cham-form label { display:block; font-size:14px; font-weight:600; margin-bottom:20px; }
.cham-form input:not([type=checkbox]),.cham-form textarea,.cham-upload input { display:block; box-sizing:border-box; width:100%; border:1px solid #cbd0d5; border-radius:7px; padding:11px; background:#fff; color:var(--navy-950); font:inherit; margin-top:8px; }
.cham-form textarea { resize:vertical; }
.cham-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cham-form fieldset { border:1px solid var(--line); border-radius:10px; padding:20px; margin:0 0 25px; min-width:0; }
.cham-form p,.cham-content>p { font-size:14px; line-height:1.7; color:var(--muted-text); }
.cham-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 16px; }
.cham-checks label { display:flex; align-items:center; gap:9px; min-height:40px; margin:0; cursor:pointer; font-weight:400; }
.cham-checks input { width:18px; height:18px; accent-color:var(--navy-950); flex-shrink:0; }
.cham-upload { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-bottom:14px; }
.cham-upload label { display:block; min-width:0; flex:1 1 200px; font-size:13px; }
.cham-upload-slot { min-width:0; }
.cham-upload-slot h4 { margin:16px 0; }
.cham-upload-slot p { overflow-wrap:anywhere; font-size:13px; }
.cham-upload-grid { display:grid; gap:24px; }
.cham-upload-grid .cham-upload-slot+.cham-upload-slot { border-top:1px solid var(--line); padding-top:12px; }
.cham-file-group summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; font-size:21px; font-family:Georgia,serif; }
.cham-file-group summary::before { content:'+'; }
.cham-file-group[open] summary::before { content:'−'; }
.cham-file-group summary span { font:12px system-ui,sans-serif; color:var(--muted-text); margin-left:auto; }
.cham-file-group { scroll-margin-top:20px; }
.cham-delete { border:0; background:transparent; color:#9b302b; text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:12px 0; font:inherit; font-size:13px; }
.cham-danger-zone { margin-top:40px; border-top:1px solid #ddc9c6; padding-top:20px; }
.cham-success { background:#edf6ed; border:1px solid #adcaaa; border-radius:8px; padding:14px; color:#285329 !important; }
.cham-shell :focus-visible { outline:3px solid #9a7b43; outline-offset:4px; }
.cham-shell .btn { white-space:normal; text-align:center; }
.cham-logo-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; }
.cham-logo-picker label { display:flex; flex-direction:column; align-items:center; gap:8px; position:relative; border:1px solid var(--line); border-radius:10px; padding:14px 8px; margin:0; cursor:pointer; text-align:center; font-size:12px; }
.cham-logo-picker label:has(input:checked) { border-color:var(--navy-950); background:#f3efe7; box-shadow:inset 0 0 0 1px var(--navy-950); }
.cham-logo-picker input[type=radio] { position:absolute; top:8px; left:8px; margin:0; padding:0; width:16px; height:16px; accent-color:var(--navy-950); }
.cham-logo-picker .cham-instrument-icon { width:54px; height:54px; }
.cham-catalog { border:1px solid var(--line); border-radius:12px; padding:0 16px; background:white; }
.cham-catalog>div { display:flex; align-items:center; gap:16px; padding:10px 0; }
.cham-catalog>div+div { border-top:1px solid var(--line); }
.cham-catalog .cham-instrument-icon { width:40px; height:40px; flex-shrink:0; }
.cham-catalog strong { flex:1; overflow-wrap:anywhere; min-width:0; }
.cham-catalog a { font-size:13px; }
.cham-drag-handle { flex-shrink:0; width:44px; height:44px; border:1px solid var(--line); border-radius:8px; background:#f5f3ee; color:var(--navy-950); font-size:24px; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.cham-drag-handle:active { cursor:grabbing; }
.cham-catalog .is-dragging { background:#eee7d8; box-shadow:0 3px 12px #0002; }
.cham-catalog[aria-busy=true] .cham-drag-handle { opacity:.5; cursor:wait; }
#instrument-order-status { min-height:24px; }
.cham-media-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 24px; }
.cham-media-tabs a { padding:10px 16px; border:1px solid var(--line); border-radius:8px; color:var(--navy-950); text-decoration:none; background:#fff; }
.cham-media-tabs a[aria-current] { background:var(--navy-950); color:#fff; }
.cham-pdf-list { border:1px solid var(--line); border-radius:12px; background:#fff; margin:20px 0; overflow:hidden; }
.cham-pdf-row { display:grid; grid-template-columns:180px minmax(0,1fr) 160px; gap:14px; align-items:center; padding:10px 16px; min-height:44px; scroll-margin-top:140px; }
.cham-pdf-row+.cham-pdf-row { border-top:1px solid var(--line); }
.cham-pdf-row label { font-size:14px; font-weight:600; }
.cham-pdf-row small { color:var(--muted-text); font-weight:400; }
.cham-pdf-row input { min-width:0; width:100%; font:13px system-ui,sans-serif; }
.cham-pdf-current { display:flex; align-items:center; gap:12px; font-size:12px; }
.cham-pdf-current span { color:var(--muted-text); }
.cham-pdf-current .cham-delete { font-size:12px; }
@media(max-width:760px) { .cham-pdf-row { grid-template-columns:140px minmax(0,1fr); gap:8px; } .cham-pdf-current { grid-column:2; } }
@media(max-width:460px) { .cham-pdf-row { grid-template-columns:minmax(0,1fr); padding:12px; } .cham-pdf-current { grid-column:1; } }
@media(max-width:760px) { .cham-instruments { grid-template-columns:repeat(2,minmax(0,1fr)); } .cham-fields { grid-template-columns:1fr; gap:0; } .cham-checks { grid-template-columns:repeat(2,minmax(0,1fr)); } .cham-resources { grid-template-columns:1fr; } .cham-post,.cham-panel,.cham-resource { padding:22px; } .cham-brand { margin-right:0; } .cham-nav .container { gap:18px; } }
@media(max-width:460px) { .cham-nav .cham-login,.cham-nav .cham-mode { margin-left:0; } .cham-gallery { grid-template-columns:1fr; } .cham-song-card { padding:22px 16px; gap:14px; } .cham-row-tools { padding:12px 16px; } .cham-checks { grid-template-columns:1fr; } .cham-file-group summary span { display:none; } .cham-instruments { gap:10px; } .cham-instrument { padding:18px 8px; } }
