/* Approved LAYLAB copper palette, shared by the portal and backoffice. */
:root{--theme-bg:#191614;--theme-surface:#29231f;--theme-surface-bottom:#211d1a;--theme-text:#f4ece4;--theme-muted:#b9ada2;--theme-dim:#9b8d81;--theme-border:#4d4037;--theme-strong-border:#78604e;--theme-accent:#eea267;--theme-ink:#21170f;--theme-contact:#eee1d4;--theme-contact-ink:#30261f;--theme-contact-muted:#716054;--theme-contact-border:#b09b89}
body{background:var(--theme-bg);color:var(--theme-text)}
body ::selection{background:var(--theme-accent);color:var(--theme-ink)}
body :focus-visible{outline-color:var(--theme-accent)}
.header,.section-line,.about,.values{border-color:var(--theme-border)}
.spark,.asterisk,.logo-mark{color:var(--theme-accent)}
.header nav a:hover{color:var(--theme-accent)}
.muted,.edition,.nav-count,.section-note,.section-line h2 span,.tiny,.dock-gesture,.dock-caption-meta,.detail-note,footer>div{color:var(--theme-muted)}
.hero-bottom p,.about-copy p,.dock-caption p,.detail-subtitle p,.detail-body p,footer>span{color:var(--theme-muted)}
.mini-manifesto span,.dock-footer{color:var(--theme-dim)}
.nav-contact,.round-link,.circle{border-color:var(--theme-strong-border)}
.round-link:hover,.button,.circle.light,.filter.active,.skip{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-ink)}
.button:hover{filter:brightness(1.06)}
.filter{color:var(--theme-muted);border-color:var(--theme-border)}
.filter:hover:not(.active){border-color:var(--theme-accent);color:var(--theme-text)}
.filter.active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-ink)}
.dock-shell::before{background:linear-gradient(165deg,var(--theme-surface),var(--theme-surface-bottom));border-color:var(--theme-border)}
.dock-item{color:var(--theme-text)}
.dock-item::after{background:var(--theme-accent)}
.dock-monogram{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
#dock-state{border-color:var(--theme-border)}
.dock-footer{border-color:var(--theme-border)}
.contact{background:var(--theme-contact);color:var(--theme-contact-ink)}
.contact p,.contact .form-footer>span{color:var(--theme-contact-muted)}
.contact input:not([type=checkbox]),.contact textarea{color:var(--theme-contact-ink);border-color:var(--theme-contact-border)}
.contact input::placeholder,.contact textarea::placeholder{color:var(--theme-contact-muted)}
.consent input{accent-color:var(--theme-contact-ink)}
.contact .button{background:var(--theme-contact-ink);border-color:var(--theme-contact-ink);color:var(--theme-contact)}
.contact :focus-visible{outline-color:var(--theme-contact-ink)}
dialog{background:var(--theme-surface-bottom);color:var(--theme-text);border-color:var(--theme-strong-border)}
.dialog-close{background:var(--theme-bg)}
.detail-head .eyebrow{color:var(--theme-accent)}
#empty{color:var(--theme-muted)}

/* Editing controls use the same warm neutrals and copper accents. */
.admin-body{background:var(--theme-bg);color:var(--theme-text)}
.admin-header-meta span,.admin-intro p,.panel-header p,.row-number,.row-info p,.admin-body small,.editor-header .eyebrow,fieldset p,.message time,.empty-state,.confirm-content p,.row-title-edit span{color:var(--theme-muted)}
.secondary{background:transparent;border-color:var(--theme-strong-border);color:var(--theme-text)}
.admin-tabs,.admin-row,.message,.empty-state{border-color:var(--theme-border)}
.admin-tabs button{color:var(--theme-muted)}
.admin-tabs button.active{color:var(--theme-accent);border-color:var(--theme-accent)}
.row-actions button,.shot button{color:var(--theme-text);border-color:var(--theme-border)}
.row-actions button:hover{border-color:var(--theme-accent)}
.row-title-edit:hover,.settings-form h3,.message a{color:var(--theme-accent)}
.row-cover{color:var(--theme-ink)}
.status-chip{border-color:var(--theme-strong-border)}
.admin-body input:not([type=color]),.admin-body textarea,.admin-body select{background:var(--theme-bg);border-color:var(--theme-strong-border);color:var(--theme-text)}
.admin-body input::placeholder,.admin-body textarea::placeholder{color:var(--theme-dim)}
input[type=color],fieldset{border-color:var(--theme-strong-border)}
.upload-label,.row-actions button[data-action="edit"]{background:var(--theme-surface);border-color:var(--theme-strong-border)}
.upload-label input[type=file]{background:transparent}
.editor-header,.editor-actions{background:var(--theme-surface-bottom);border-color:var(--theme-border)}
.toast{background:var(--theme-accent);color:var(--theme-ink)}
.danger{background:#ffb79c;border-color:#ffb79c;color:#291b14}
.row-actions .delete{color:#ffb79c}
