/* ===========================================================
   Lovins Work Portal CSS Master — Unified 2025
   Monochrome • High Contrast • Orbitron + Exo 2
   Responsive • Accessible • Symmetrical
   =========================================================== */

@import url("https://lovins.work/fonts/fonts.css");

:root{
  /* Palette */
  --primary-color:#000;
  --primary-color-hover:#222;
  --secondary-color:#666;

  --danger-color:#444;
  --success-color:#bbb;
  --info-color:#555;

  --neutral-dark:#111;
  --neutral:#2b2b2b;
  --neutral-mid:#3a3a3a;
  --neutral-light:#f2f2f2;

  --background-color:#fff;
  --card-bg:#222;
  --panel-bg:#1a1a1a;

  --text-on-dark:#fff;
  --text-on-light:#000;
  --text-color:#000;

  /* Nav */
  --nav-bg:#000;
  --nav-link-color:#fff;
  --nav-link-hover:#e0e0e0;
  --nav-dropdown-bg:#111;
  --nav-dropdown-hover:#333;

  /* Buttons */
  --button-radius:6px;
  --button-padding:10px 14px;
  --button-font-size:.95rem;

  /* Forms */
  --input-bg:#f5f5f5;
  --input-text:#000;
  --input-border:#777;
  --input-focus:#000;
  --input-radius:4px;

  /* Typography (local fonts) */
  --font-title:'Orbitron', sans-serif;
  --font-body:'Exo 2', sans-serif;
}

/* ===========================================================
   BASE
   =========================================================== */
*{box-sizing:border-box;}
html,body{
  margin:0;padding:0;
  background:var(--background-color);
  color:var(--text-color);
  font-family:var(--font-body);
  font-size:16px;line-height:1.5;
}
.container{max-width:1100px;margin:0 auto;padding:20px;}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-title);
  text-transform:uppercase;
  letter-spacing:1px;
  text-align:center;
  color:#ffffff;
  text-shadow:0 0 3px rgba(0,0,0,0.8);
  font-weight:800;
}

/* ===========================================================
   NAVIGATION + MENUS
   =========================================================== */
nav{
  background:var(--nav-bg);
  padding:10px 20px;
  display:flex;flex-wrap:wrap;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,0.5);
}
nav a{
  color:var(--nav-link-color);
  text-decoration:none;
  margin:4px 10px;
  font-family:var(--font-title);
  text-transform:uppercase;
  letter-spacing:.7px;
  font-weight:800;
  font-size:1rem;
  transition:color .2s ease,background .2s ease;
}
nav a:hover{
  color:var(--nav-link-hover);
}

/* Dropdown menus */
.dropdown-menu{
  background:#0b0b0b;
  border:1px solid #222;
  box-shadow:0 4px 10px rgba(0,0,0,0.8);
  border-radius:6px;
}
.dropdown-menu a{
  display:block;
  padding:10px 16px;
  color:#cfcfcf;              /* lighter gray for readability */
  font-family:var(--font-title);
  font-weight:800;
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.7px;
  text-shadow:0 0 2px rgba(255,255,255,0.15);
  transition:background .2s ease,color .2s ease;
}
.dropdown-menu a:hover{
  background:var(--nav-dropdown-hover);
  color:#ffffff;
  text-shadow:0 0 3px rgba(255,255,255,0.35);
}

/* ===========================================================
   SIDEBAR
   =========================================================== */
.sidebar{
  background:#1a1a1a;color:#fff;
  min-width:220px;padding:15px;
  box-shadow:inset -1px 0 0 #333;
}
.sidebar a{
  display:block;color:#61a8ff;
  padding:8px 12px;border-radius:4px;
  text-decoration:none;margin-bottom:4px;
  font-weight:600;
  letter-spacing:.4px;
}
.sidebar a:hover{background:#333;color:#fff;}

/* ===========================================================
   PANELS / CARDS
   =========================================================== */
.panel,.card{
  background:var(--card-bg);
  color:var(--text-on-dark);
  padding:20px;
  border-radius:8px;
  border:1px solid #666;
  box-shadow:0 0 10px rgba(0,0,0,0.4);
  margin-bottom:20px;
}
.card:hover{box-shadow:0 0 12px rgba(255,255,255,0.1);}
.panel h3,.card h3{
  font-family:var(--font-title);
  font-weight:700;
  letter-spacing:.5px;
  color:#fff;
  text-shadow:0 0 2px rgba(0,0,0,0.7);
}

/* ===========================================================
   BUTTONS
   =========================================================== */
button,.btn,a.btn,.action-btn{
  display:inline-flex;
  align-items:center;justify-content:center;
  border:none;border-radius:var(--button-radius);
  padding:var(--button-padding);
  font-size:var(--button-font-size);
  font-family:var(--font-title);
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
  background:var(--primary-color);
  color:#fff;text-decoration:none;
  cursor:pointer;
  margin:6px 5px;
  transition:background .2s,color .2s,transform .2s,box-shadow .2s;
  height:42px;min-width:120px;
}
button:hover,.btn:hover,a.btn:hover,.action-btn:hover{
  background:#333;color:#fff;
  transform:translateY(-1px);
  box-shadow:0 0 6px rgba(255,255,255,0.3);
}
.btn-secondary{background:#555;color:#fff;}

/* Editor action buttons (SAVE, RUN, DELETE) */
.editor-toolbar button,
.editor-toolbar .btn {
  min-width: 90px;
  height: 38px;
  margin: 4px;
  background: #000;
  border: 1px solid #555;
  color: #e6e6e6;
  font-family: var(--font-title);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .6px;
  border-radius: 6px;
  transition: background .2s, color .2s, transform .2s, box-shadow .2s;
}
.editor-toolbar button:hover,
.editor-toolbar .btn:hover {
  background: #222;
  color: #fff;
  box-shadow: 0 0 6px rgba(255,255,255,0.25);
  transform: translateY(-1px);
}
.editor-toolbar button.save { border-color: #0f0; color: #bfb; }
.editor-toolbar button.run { border-color: #0af; color: #adf; }
.editor-toolbar button.delete { border-color: #f33; color: #faa; }

/* ===========================================================
   FORMS
   =========================================================== */
form{
  background:#222;color:#ddd;
  padding:20px;border-radius:8px;border:1px solid #666;
  margin-bottom:20px;
}
.form-group{margin-bottom:12px;}
label{
  display:inline-flex;align-items:center;gap:6px;
  color:#ddd;font-weight:500;margin-bottom:6px;cursor:pointer;
}
input,select,textarea{
  width:100%;padding:10px;
  border:1px solid var(--input-border);
  border-radius:var(--input-radius);
  background:var(--input-bg);
  color:var(--input-text);
  font-size:1rem;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--input-focus);background:#fff;outline:none;
}
input[type="checkbox"]{
  width:18px;height:18px;margin-right:8px;
  accent-color:#cc0000;vertical-align:middle;
}
input[type="checkbox"]:checked{box-shadow:0 0 2px 1px #fff;}

/* ===========================================================
   TABLES
   =========================================================== */
table{
  width:100%;border-collapse:collapse;
  border-radius:6px;overflow:hidden;
  background:#1f1f1f;color:#fff;
}
th,td{padding:10px 12px;border-bottom:1px solid #555;}
th{
  background:#000;color:#fff;
  font-family:var(--font-title);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
}
tr:nth-child(even) td{background:#2a2a2a;}
tr:last-child td{border-bottom:none;}

/* ===========================================================
   ACCORDIONS / MODALS
   =========================================================== */
.accordion{
  background:#2b2b2b;color:#fff;
  padding:12px;border-radius:6px;
  border:1px solid #444;
  box-shadow:0 2px 6px rgba(0,0,0,.4);
  margin-bottom:20px;border-top:1px solid #555;
}
.accordion.open{background:#1a1a1a;}
.accordion-header{
  padding:12px 15px;font-weight:700;cursor:pointer;
  background:#3a3a3a;border-bottom:1px solid #444;
  border-radius:6px 6px 0 0;
  font-family:var(--font-title);
  text-transform:uppercase;letter-spacing:.4px;
  color:#ffffff;
}
.accordion-content{
  padding:15px;background:#1e1e1e;color:#ddd;border-radius:0 0 6px 6px;
}
.modal{
  background:#fff;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.25);padding:20px;
}

/* ===========================================================
   UTILITIES
   =========================================================== */
.center{text-align:center;}
.mt-3{margin-top:18px;}
.action-group{display:flex;align-items:center;gap:8px;}

/* ===========================================================
   MOBILE / RESPONSIVE
   =========================================================== */
@media (max-width:1100px){
  body{font-size:17px;}
  .container{padding:16px;}
  .panel,.card{padding:18px;}
}
@media (max-width:900px){
  body{font-size:16px;}
  nav{flex-direction:column;align-items:center;}
  nav a{margin:6px 0;}
  .sidebar{min-width:100%;padding:10px;}
  .panel,.card,form{width:96%;margin:10px auto;}
  button,.btn,a.btn{width:100%;min-width:auto;height:44px;font-size:1rem;}
  table,thead,tbody,th,td,tr{display:block;width:100%;}
  th{position:absolute;left:-9999px;}
  td{padding:10px;border:none;border-bottom:1px solid #444;}
}
@media (max-width:480px){
  html,body{font-size:15px;}
  .panel,.card,form{padding:15px;}
  input,select,textarea{font-size:.95rem;padding:9px;}
  button,.btn,a.btn{padding:0.8rem;font-size:.95rem;}
}

/* ===========================================================
   Lovins Work Portal — Text Legibility Refinement (2025.10)
   =========================================================== */

/* Dropdown Menu Contrast */
.dropdown-menu {
  background: #0d0d0d;
  border: 1px solid #222;
  box-shadow: 0 4px 10px rgba(0,0,0,0.8);
}
.dropdown-menu a {
  color: #e5e5e5;
  font-weight: 800;
  font-size: 0.95rem;
  text-shadow: 0 0 2px rgba(255,255,255,0.15);
}
.dropdown-menu a:hover {
  background: #1f1f1f;
  color: #ffffff;
  text-shadow: 0 0 3px rgba(255,255,255,0.35);
}

/* Page / Panel Titles */
h1, h2, h3 {
  color: #ffffff !important;
  text-shadow:
    0 0 4px rgba(0,0,0,0.9),
    0 0 8px rgba(0,0,0,0.6);
  font-weight: 900;
  letter-spacing: 1.2px;
}

/* Light-on-white headings (e.g., “WEB PAGE EDITOR”) */
.page-title, .panel-title, .section-title {
  color: #111111 !important;
  text-shadow: 0 0 3px rgba(0,0,0,0.25);
  font-weight: 900;
}

/* Optional – hover feedback for top-nav buttons */
nav a:hover,
nav .active > a {
  color: #ffffff !important;
  background: #111111;
  text-shadow: 0 0 3px rgba(255,255,255,0.4);
}


/* --- BackwoodGenius theme overrides (appended) --- */
:root{  --font-title: "Playfair Display", Georgia, serif;  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;  --primary-color:#2E7D44; --primary-color-hover:#245f34; --secondary-color:#6B4E2E;  --success-color:#2e7d32; --danger-color:#b23b3b; --info-color:#2b6cb0;  --neutral-dark:#1E1F1C; --neutral:#2B2D28; --neutral-mid:#5E625B; --neutral-light:#F2EFE6;  --background-color:#0F120F; --card-bg:#161C16; --panel-bg:#141914;  --text-on-dark:#FFFFFF; --text-on-light:#0F110E; --text-color:#E9EEE6;  --accent-gold:#C7A419;  --nav-bg:#0F3A22; --nav-link-color:#ECE9DA; --nav-link-hover:#FFE7A1;  --nav-dropdown-bg:#103924; --nav-dropdown-link-color:#ECE6D5; --nav-dropdown-link-hover:#FFF3C1;  --table-header-bg:#162818; --table-header-color:#F5F1DF; --table-row-bg:#11170F; --table-row-alt:#131B12;  --input-bg:#1B201B; --input-border:#304030; --input-text:#E8EFE6; --focus-ring:#C7A419;  --button-radius:8px; --card-radius:10px; --panel-radius:12px;}