/* Shared NOVODLE administration palette. Client display themes use --k-* and stay independent. */
:root {
  --novodle-ink:#07120f;
  --novodle-forest:#123d34;
  --novodle-mint:#68f7d2;
  --novodle-mint-hover:#4de3bd;
  --novodle-focus:#087c6b;
  --novodle-paper:#f5f7f6;
  --novodle-surface:#fff;
  --novodle-soft:#eaf8f3;
  --novodle-border:#dce5e1;
  --novodle-muted:#586b65;
  --novodle-on-dark:#c3d9d1;
  --ink:var(--novodle-ink);
  --green:var(--novodle-forest);
  --mint:var(--novodle-mint);
  --paper:var(--novodle-paper);
  --white:var(--novodle-surface);
  --muted:var(--novodle-muted);
  --line:var(--novodle-border);
}
.novodle-admin,.novodle-account {color-scheme:light;background:var(--novodle-paper);color:var(--novodle-ink)}
.novodle-admin #sidebar {background:var(--novodle-forest);color:var(--novodle-on-dark)}
.novodle-admin #sidebar .brand span,.novodle-admin .center-label,.novodle-admin #sidebar nav button,.novodle-admin .sidebar-bottom small,.novodle-admin .return,.novodle-admin .account-buttons .mini-button {color:var(--novodle-on-dark)}
.novodle-admin #center,.novodle-admin .avatar {background:#234f45;border-color:#48766a;color:white}
.novodle-admin #sidebar nav button:hover {background:#234f45;color:white}
.novodle-admin #sidebar nav button.active {background:var(--novodle-mint);color:var(--novodle-ink)}
.novodle-admin .account-buttons .mini-button,.novodle-admin .sidebar-close {border-color:#48766a}
.novodle-admin .account-buttons .mini-button:hover {background:#234f45;color:white}
.novodle-admin .btn.primary,.novodle-admin .tabs button.active,.novodle-admin .setup-steps button[aria-current],.novodle-admin .help-hero .btn,.novodle-account .primary {background:var(--novodle-mint);color:var(--novodle-ink);border-color:var(--novodle-mint)}
.novodle-admin .btn.primary:hover,.novodle-admin .tabs button.active:hover,.novodle-admin .help-hero .btn:hover,.novodle-account .primary:hover {background:var(--novodle-mint-hover);color:var(--novodle-ink);border-color:var(--novodle-mint-hover)}
.novodle-admin .btn:not(.primary):not(.danger):hover,.novodle-admin .mini-button:hover {background:var(--novodle-soft)}
.novodle-admin .text-btn,.novodle-admin .detail-back,.novodle-admin .stat .icon,.novodle-admin footer button,.novodle-account a:not(.primary),.novodle-account .secondary-link {color:var(--novodle-focus)}
.novodle-admin .eyebrow,.novodle-admin .stat-top,.novodle-admin .shot-count,.novodle-admin footer,.novodle-admin .playlist-heading p,.novodle-admin .playlist-monitor>small,.novodle-admin .playlist-card-top small,.novodle-admin .kiosk-logo-row small,.novodle-admin .kiosk-logo-preview span {color:var(--novodle-muted)}
.novodle-admin .demo:not(.save-error),.novodle-admin .notice,.novodle-admin .impact,.novodle-admin .software-start,.novodle-admin .software-context,.novodle-admin .agent-update-help,.novodle-admin .broadcast-editor,.novodle-admin .playlist-upload,.novodle-admin .image-dimensions,.novodle-admin .kiosk-logo-guidance {background:var(--novodle-soft);color:var(--novodle-forest);border-color:var(--novodle-border)}
.novodle-admin .demo-detail {color:var(--novodle-muted)}
.novodle-admin .dot {background:var(--novodle-focus)}
.novodle-admin .account-scope,.novodle-admin .issuer-strip,.novodle-admin .client-finance-values span,.novodle-admin .payment-balance,.novodle-admin .license-detail,.novodle-admin .license-prices span,.novodle-admin .score-control>div,.novodle-admin .playlist-studio,.novodle-admin .button-content-fields,.novodle-admin .delivery-options details,.novodle-admin .screen-controls,.novodle-admin .kiosk-card-custom {background:var(--novodle-paper);color:var(--novodle-ink)}
.novodle-admin .admin-note {color:var(--novodle-muted)}
.novodle-admin .finance-activity:hover,.novodle-admin .module-icon,.novodle-admin .step-number,.novodle-admin .broadcast-tile span {background:var(--novodle-soft);color:var(--novodle-forest)}
.novodle-admin th {background:var(--novodle-paper);color:var(--novodle-muted)}
.novodle-admin .tabs button {color:var(--novodle-forest)}
.novodle-admin .callout,.novodle-admin .help-hero,.novodle-admin .clock-control,.novodle-admin .score-control.advanced .clock-control,.novodle-admin #toast {background:var(--novodle-forest);color:white}
.novodle-admin .callout h2 {color:white}
.novodle-admin .callout p,.novodle-admin .help-hero p {color:var(--novodle-on-dark)}
.novodle-admin .callout .eyebrow,.novodle-admin .help-hero .eyebrow,.novodle-admin .clock-control {color:var(--novodle-mint)}
.novodle-admin .playlist-upload p,.novodle-admin .playlist-upload small {color:var(--novodle-forest)}
.novodle-admin .playlist-card.selected {border-color:var(--novodle-focus);box-shadow:0 0 0 2px #087c6b1a}
.novodle-admin .playlist-card,.novodle-admin .playlist-studio,.novodle-admin .kiosk-logo-row,.novodle-admin .button-content-fields,.novodle-admin .help-providers article,.novodle-admin .delivery-options {border-color:var(--novodle-border)}
.novodle-admin .document-sheet {color:var(--novodle-ink)}
.novodle-admin .document-brand {border-color:var(--novodle-forest)}
.novodle-admin input[type=checkbox],.novodle-admin input[type=radio],.novodle-admin input[type=range],.novodle-account input {accent-color:var(--novodle-focus)}
.novodle-admin :is(button,a,input,select,textarea):focus-visible,.novodle-account :is(button,a,input,select,textarea):focus-visible {outline:3px solid var(--novodle-focus);outline-offset:3px}
/* Login and account security use the same brand, including the exact DLE accent. */
.novodle-account .login-brand {color:var(--novodle-forest);width:max-content;max-width:100%;margin-inline:auto;background:var(--novodle-forest);padding:10px 18px;border-radius:6px}
.novodle-account .login-brand span {color:white}
.novodle-account .login-brand b {color:var(--novodle-mint)}
.novodle-account .login-card,.novodle-account input,.novodle-account .secondary {border-color:var(--novodle-border);background:white;color:var(--novodle-ink)}
.novodle-account p,.novodle-account .eyebrow,.novodle-account .divider,.novodle-account .key-list small {color:var(--novodle-muted)}
.novodle-account .notice,.novodle-account .codes,.novodle-account .password-field button {background:var(--novodle-soft);color:var(--novodle-forest)}
.novodle-account #error {color:#a23535}
.novodle-account #message {color:#1d7046}
/* Remote support keeps a dark workspace while using the NOVODLE palette. */
.novodle-support {min-height:100vh;color-scheme:dark;background:var(--novodle-ink);color:#f5f7f6}
.novodle-support .small,.novodle-support #freshness {color:var(--novodle-on-dark)}
.novodle-support .eyebrow {color:var(--novodle-on-dark)}
.novodle-support a,.novodle-support .brand b {color:var(--novodle-mint)}
.novodle-support button:not(.danger),.novodle-support .button {background:var(--novodle-mint);color:var(--novodle-ink)}
.novodle-support input,.novodle-support select {background:var(--novodle-forest);border-color:#48766a;color:white}
.novodle-support :is(button,a,input,select):focus-visible {outline:3px solid var(--novodle-mint);outline-offset:3px}
/* Finance documents share the site's forest and mint palette. */
.novodle-admin .document-sheet{background:white;color:#07120f;border:1px solid #dce5e1;border-radius:18px;overflow:hidden;padding:0 30px 30px}
.novodle-admin .document-brand{background:#123d34;color:white;border:0;border-top:8px solid #68f7d2;margin:0 -30px 30px;padding:32px 30px}
.novodle-admin .document-brand span{color:#c3d9d1;font-size:12px;line-height:1.8}
.novodle-admin .document-brand strong{color:white;font-size:23px}
.novodle-admin .document-brand>div:last-child strong{color:#68f7d2}
.novodle-admin .document-parties{padding-bottom:24px;border-bottom:1px solid #dce5e1;margin-bottom:28px}
.novodle-admin .document-lines th{background:#eaf8f3;color:#123d34;font-size:11px;letter-spacing:.05em}
.novodle-admin .document-lines td{padding-top:18px;padding-bottom:18px}
.novodle-admin .document-totals>strong{background:#68f7d2;color:#07120f;padding:18px;border-radius:8px;font-size:22px}
.novodle-admin .document-notes{background:#f5f7f6;border-left:4px solid #68f7d2;padding:20px;white-space:pre-wrap}
.novodle-admin .finance-item{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1.5fr) 80px 110px auto;gap:12px;align-items:end}
@media(max-width:800px){.novodle-admin .finance-item{grid-template-columns:1fr 1fr}.novodle-admin .item-description-field{grid-column:1/-1}.novodle-admin .document-brand{flex-direction:column;gap:24px}.novodle-admin .document-brand>div:last-child{align-items:flex-start;text-align:left}}
@media print{.novodle-admin .document-sheet{border:0}.document-brand,.document-totals>strong{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
