.editor-header { display:flex; align-items:center; gap:var(--space-5); padding:var(--space-4) max(var(--space-5),4vw); border-bottom:1px solid var(--color-border); }
.editor-header > span { font-size:var(--text-xs); letter-spacing:.18em; }
.editor-header nav { margin-left:auto; display:flex; align-items:center; gap:var(--space-5); font-size:var(--text-sm); }
.editor-body button:not(.theme-toggle),.editor-body input { font:inherit; font-size:var(--text-sm); border:1px solid var(--color-border); color:var(--color-text); background:var(--color-bg); padding:var(--space-3) var(--space-4); min-height:44px; border-radius:0; }
.editor-body button { cursor:pointer; }
.editor-body button:disabled { opacity:.5; cursor:not-allowed; }
.editor-body .ed-primary { background:var(--color-text)!important; color:var(--color-bg)!important; border-color:var(--color-text)!important; }
.editor-body input:focus { outline:2px solid var(--color-text); outline-offset:2px; }
.editor-body label { display:block; font-size:var(--text-sm); }
.editor-body label input { display:block; width:100%; margin-top:var(--space-2); }
.editor-body h1,.editor-body h2 { font-size:var(--text-xl); font-family:var(--font-display); font-weight:400; line-height:1.2; }
.editor-body h1 { margin:var(--space-3) 0; }
.editor-body h3 { font-size:var(--text-base); font-family:var(--font-body); font-weight:500; }
.editor-body p { line-height:1.55; }
.editor-main { max-width:1160px; margin:0 auto; padding:var(--space-8) var(--space-6) var(--space-16); }
.ed-small { font-size:var(--text-xs); color:var(--color-text-muted); line-height:1.6; }
.login-panel { max-width:460px; margin:var(--space-12) auto; }
.login-panel h1 { margin-block:var(--space-5); }
.login-panel form { display:grid; gap:var(--space-3); margin:var(--space-8) 0 var(--space-5); }
.login-panel .ed-primary { margin-top:var(--space-3); }
#notice { background:var(--color-surface); border:1px solid var(--color-border); padding:var(--space-4); margin-bottom:var(--space-5); font-size:var(--text-sm); overflow-wrap:anywhere; }
#notice.error { border-color:#a66655; }
.ed-heading { display:flex; justify-content:space-between; align-items:center; gap:var(--space-6); margin-bottom:var(--space-8); }
.ed-heading p { font-size:var(--text-sm); color:var(--color-text-muted); }
.channel-bar { border-block:1px solid var(--color-border); display:grid; grid-template-columns:1fr 1fr; padding:var(--space-4) 0; gap:var(--space-5); margin-bottom:var(--space-6); }
.channel-bar div { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:baseline; font-size:var(--text-sm); }
.channel-bar strong { font-weight:500; }.channel-bar span { color:var(--color-text-muted); font-size:var(--text-xs); }
.editor-modes { display:flex; gap:var(--space-6); border-bottom:1px solid var(--color-border); margin-bottom:var(--space-6); }
.editor-modes button { border:0!important; border-bottom:2px solid transparent!important; padding-inline:0!important; }
.editor-modes button[aria-pressed="true"] { border-bottom-color:var(--color-text)!important; }
.daily-intro { display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-5); margin-bottom:var(--space-6); }
.daily-intro p { max-width:65ch; font-size:var(--text-sm); }
.daily-product { display:grid; grid-template-columns:220px minmax(0,1fr); gap:var(--space-8); padding:var(--space-6) 0; border-top:1px solid var(--color-border); }
.daily-product h2 { font-size:clamp(1.5rem,2vw,1.75rem); margin-bottom:var(--space-2); }
.daily-product .product-summary { margin-top:var(--space-3); }
.daily-colour { display:flex; align-items:center; gap:var(--space-4); border-bottom:1px solid var(--color-border); padding:var(--space-3) 0; }
.daily-colour:last-child { border-bottom:0; }
.daily-product > .daily-colour { justify-content:space-between; max-width:360px; width:100%; margin-left:auto; }
.daily-colour img { width:58px; height:64px; object-fit:cover; }
.daily-colour .no-photo { width:58px; height:64px; background:var(--color-surface); border:1px dashed var(--color-border); display:grid; place-items:center; font-size:var(--text-xs); color:var(--color-text-muted); }
.colour-title { flex:1; min-width:0; }
.colour-title strong { display:block; font-size:var(--text-sm); font-weight:500; overflow-wrap:anywhere; }
.colour-title span { display:block; font-size:var(--text-xs); color:var(--color-text-muted); }
.editor-body .availability-switch { border:0!important; padding:var(--space-2) 0 var(--space-2) var(--space-2)!important; display:flex; align-items:center; gap:var(--space-3); min-width:152px; justify-content:flex-end; }
.availability-switch .track { position:relative; width:42px; height:24px; border:1px solid var(--color-text-muted); background:var(--color-surface); border-radius:30px; flex-shrink:0; transition:background .15s; }
.availability-switch .track::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:var(--color-text-muted); transition:transform .15s; }
.availability-switch[aria-checked="true"] .track { background:var(--color-text); border-color:var(--color-text); }
.availability-switch[aria-checked="true"] .track::after { transform:translateX(18px); background:var(--color-bg); }
.setup-prompt { padding:var(--space-4) 0; }
.setup-prompt p { font-size:var(--text-sm); color:var(--color-text-muted); margin-bottom:var(--space-3); }
.library-intro { margin-bottom:var(--space-6); }
.library-intro p { margin-top:var(--space-2); font-size:var(--text-sm); max-width:70ch; }
#product-tabs { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-bottom:var(--space-8); }
#product-tabs button[aria-current="true"] { border-color:var(--color-text); background:var(--color-surface); }
.library-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-5); }
.library-row { display:grid; grid-template-columns:120px minmax(0,1fr) auto; align-items:center; gap:var(--space-6); padding:var(--space-5) 0; border-top:1px solid var(--color-border); }
.library-photo img { width:120px; height:140px; object-fit:cover; }
.photo-empty { height:140px; display:grid; place-items:center; text-align:center; border:1px dashed var(--color-border); padding:var(--space-3); font-size:var(--text-xs); color:var(--color-text-muted); }
.upload-label { position:relative; overflow:hidden; border:1px solid var(--color-border); padding:var(--space-3)!important; margin-top:var(--space-2); cursor:pointer; text-align:center; font-size:var(--text-xs)!important; }
.upload-label:focus-within { outline:2px solid var(--color-text); }
.upload-label input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; padding:0; cursor:pointer; }
.library-fields { max-width:420px; }
.library-fields p { margin-top:var(--space-3); }
.library-actions { display:grid; gap:var(--space-2); }
.empty-library { padding:var(--space-8); border:1px dashed var(--color-border); text-align:center; }
.empty-library span { display:block; font-size:var(--text-sm); color:var(--color-text-muted); max-width:50ch; margin:var(--space-2) auto 0; }
.save-bar { position:sticky; bottom:0; padding:var(--space-5) 0; background:var(--color-bg); border-top:1px solid var(--color-border); margin-top:var(--space-6); display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); z-index:5; }
.save-bar strong { display:block; font-size:var(--text-sm); font-weight:500; }.save-bar .ed-small { display:block; }
.save-actions { display:flex; gap:var(--space-2); flex-wrap:wrap; }
.editor-body dialog { background:var(--color-bg); color:var(--color-text); border:1px solid var(--color-border); padding:var(--space-8); width:min(640px,calc(100% - 32px)); max-height:85vh; margin:auto; overflow:auto; }
.editor-body dialog::backdrop { background:#0008; }
.dialog-head { display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); margin-bottom:var(--space-4); }
.editor-body dialog p { margin-block:var(--space-4); font-size:var(--text-sm); }
#tools-dialog h3 { margin-block:var(--space-6) var(--space-3); }
#password-form { display:grid; gap:var(--space-3); }
#history-list { padding-left:var(--space-5); font-size:var(--text-sm); }
[data-theme="dark"] .editor-header img { filter:invert(1); }
@media(max-width:720px) {
  .daily-product { grid-template-columns:1fr; gap:var(--space-3); }
  .daily-intro { flex-direction:column; gap:var(--space-2); }
  .channel-bar { grid-template-columns:1fr; gap:var(--space-3); }
  .save-bar { flex-wrap:wrap; }.save-actions { width:100%; }.save-actions button { flex:1; }
}
@media(max-width:520px) {
  .editor-header { padding:var(--space-3) var(--space-4); gap:var(--space-3); }
  .editor-header > span { display:none; }.editor-header nav { gap:var(--space-3); }
  .editor-main { padding:var(--space-6) var(--space-4); }
  .ed-heading { align-items:flex-start; flex-direction:column; gap:var(--space-4); }
  .daily-colour { gap:var(--space-3); }
  .daily-colour img,.daily-colour .no-photo { width:48px; height:56px; }
  .editor-body .availability-switch { min-width:132px; gap:var(--space-2); font-size:var(--text-xs)!important; }
  .library-row { grid-template-columns:88px minmax(0,1fr); gap:var(--space-4); }
  .library-photo img,.photo-empty { width:88px; height:112px; }
  .library-fields input { min-width:0; }.library-actions { grid-column:1/-1; display:flex; }
  #product-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .editor-body dialog { padding:var(--space-5); }
  .save-bar .ed-small { display:none; }
  .save-actions button { padding-inline:var(--space-2)!important; }
}
@media(prefers-reduced-motion:reduce) { .availability-switch .track,.availability-switch .track::after { transition:none; } }
