/* =========================================================
   LSP-2026 — ORANGE THEME (GLOBAL)
   - Drop-in stylesheet for all pages/forms
   - Safe defaults; works without changing markup
   ========================================================= */

:root{
  --ink:#0b0f19;
  --muted:#6b7280;

  --o1:#c2410c;     /* dark orange */
  --o2:#ff7a18;     /* vivid orange */
  --o3:#ffb347;     /* soft orange */

  --ring:rgba(255,122,24,.22);
  --cardBorder:rgba(11,15,25,.10);
  --line:rgba(11,15,25,.10);

  --bgTop:#ffffff;
  --bgMid:#fff7ed;
  --bgBot:#ffffff;

  --shadow: 0 18px 45px rgba(0,0,0,.10);
  --shadow2: 0 10px 26px rgba(0,0,0,.10);
  --radius: 18px;
}

/* Base */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(255,122,24,.18), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(0,0,0,.10), transparent 55%),
    linear-gradient(180deg, var(--bgTop), var(--bgMid) 55%, var(--bgBot));
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Links */
a{ color: var(--o1); text-decoration: none; }
a:hover{ color: var(--o2); text-decoration: underline; }

/* Cards / boxes */
.card, .cardbox, .box, .panel, .content-box, .wrap, .container, .glass, .glass-card{
  background: rgba(255,255,255,.82);
  border: 1px solid var(--cardBorder);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

hr, .line, .divider{
  border:0;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(11,15,25,.14), transparent);
}

/* Tables */
table{
  width:100%;
  border-collapse: collapse;
  background: rgba((255,255,255,.80));
  border: 1px solid var(--cardBorder);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow2);
}
th,td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(11,15,25,.08);
  vertical-align: top;
}
th{
  text-align:left;
  font-weight: 800;
  color: var(--ink);
  background: linear-gradient(180deg, rgba(255,122,24,.15), rgba(255,255,255,.85));
}
tr:hover td{
  background: rgba(255,122,24,.06);
}

/* Inputs */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="date"], input[type="time"], input[type="file"],
select, textarea{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11,15,25,.12);
  background: rgba(255,255,255,.92);
  outline: none;
  transition: box-shadow .2s ease, border-color .2s ease, transform .15s ease;
}
textarea{ min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus{
  border-color: rgba(255,122,24,.65);
  box-shadow: 0 0 0 6px var(--ring);
}
input:hover, select:hover, textarea:hover{
  border-color: rgba(255,122,24,.35);
}

/* Labels */
label{ font-weight: 700; color: rgba(11,15,25,.88); }
small, .muted, .hint{ color: var(--muted); }

/* Buttons — auto-style native buttons and common classes */
button, .btn, .button, .btn-primary, .btn-orange, .btn-submit, input[type="submit"]{
  --btn-grad: linear-gradient(135deg, var(--o1), var(--o2) 56%, var(--o3));
  display: inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  user-select:none;

  padding: 12px 14px;
  border: 0;
  border-radius: 14px;
  font-weight: 900;
  letter-spacing: .2px;
  color: #fff;
  background: var(--btn-grad);
  box-shadow:
    0 14px 28px rgba(255,122,24,.22),
    0 8px 18px rgba(0,0,0,.12);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  position: relative;
  overflow: hidden;
  text-decoration:none;
}
button:hover, .btn:hover, .button:hover, .btn-primary:hover, .btn-orange:hover, .btn-submit:hover, input[type="submit"]:hover{
  transform: translateY(-2px);
  filter: saturate(1.04);
  box-shadow:
    0 18px 38px rgba(255,122,24,.26),
    0 12px 22px rgba(0,0,0,.16);
  text-decoration:none;
}
button:active, .btn:active, .button:active, .btn-primary:active, .btn-orange:active, .btn-submit:active, input[type="submit"]:active{
  transform: translateY(0);
  box-shadow:
    0 12px 24px rgba(255,122,24,.20),
    0 7px 16px rgba(0,0,0,.14);
}
button:focus, .btn:focus, .button:focus, .btn-primary:focus, .btn-orange:focus, .btn-submit:focus, input[type="submit"]:focus{
  outline: none;
  box-shadow:
    0 0 0 6px var(--ring),
    0 16px 36px rgba(255,122,24,.26),
    0 10px 22px rgba(0,0,0,.14);
}

/* Shine animation */
button::before, .btn::before, .button::before, .btn-primary::before, .btn-orange::before, .btn-submit::before, input[type="submit"]::before{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transform: rotate(18deg) translateX(-120%);
  transition: transform .6s ease;
}
button:hover::before, .btn:hover::before, .button:hover::before, .btn-primary:hover::before, .btn-orange:hover::before, .btn-submit:hover::before, input[type="submit"]:hover::before{
  transform: rotate(18deg) translateX(120%);
}

/* Secondary buttons */
.btn-secondary, .btn-outline, .btn-ghost{
  background: rgba(255,255,255,.85) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(11,15,25,.14) !important;
  box-shadow: var(--shadow2) !important;
}
.btn-secondary:hover, .btn-outline:hover, .btn-ghost:hover{
  border-color: rgba(255,122,24,.35) !important;
  background: rgba(255,247,237,.92) !important;
}

/* Badges / alerts */
.badge, .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 800;
  border: 1px solid rgba(255,122,24,.25);
  background: rgba(255,122,24,.10);
  color: rgba(11,15,25,.90);
}
.alert, .notice, .flash, .msg{
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(11,15,25,.10);
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow2);
}
.alert-danger, .error{
  border-color: rgba(220,38,38,.28);
  background: rgba(220,38,38,.08);
}
.alert-success, .success, .ok{
  border-color: rgba(22,163,74,.28);
  background: rgba(22,163,74,.08);
}

/* Sidebar / nav (best-effort) */
.sidebar, .side, nav, .nav, .navbar{
  border: 1px solid rgba(11,15,25,.10);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
}
.sidebar a, .nav a, nav a, .navbar a{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 800;
}
.sidebar a:hover, .nav a:hover, nav a:hover, .navbar a:hover{
  background: rgba(255,122,24,.10);
  text-decoration:none;
}

/* Print safety */
@media print{
  body{ background:#fff !important; }
  .wm-layer{ display:none !important; }
  button, .btn, .button, input[type="submit"]{ display:none !important; }
  .card, .cardbox, .box, .panel{ box-shadow:none !important; }
}
