:root{
  /* Light theme — RA Production */
  --blue:#1592c4; --gold:#d99e0b; --dark:#f4f7fb; --panel:#ffffff;
  --panel2:#f1f5f9; --line:#e2e8f0;
  --text:#1e293b; --muted:#64748b; --faint:#94a3b8;
}
*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
::-webkit-scrollbar-track{background:transparent}
body{-webkit-tap-highlight-color:transparent;color:var(--text);}

.gradient-brand{background:linear-gradient(135deg,var(--blue),var(--gold));}
.text-gradient{background:linear-gradient(135deg,#1592c4,#d99e0b);-webkit-background-clip:text;background-clip:text;color:transparent;}
.card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);}
.card-2{background:var(--panel2);border:1px solid var(--line);border-radius:.9rem;}
.glow-blue{box-shadow:0 0 0 1px rgba(21,146,196,.18),0 12px 40px -12px rgba(21,146,196,.35)}
.btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;font-weight:600;border-radius:.7rem;padding:.6rem 1rem;transition:.15s;cursor:pointer;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),#0f7fae);color:#fff}
.btn-primary:hover{filter:brightness(1.06)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#b8860b);color:#fff}
.btn-ghost{background:#fff;color:#475569;border:1px solid var(--line)}
.btn-ghost:hover{background:#f1f5f9}
.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.btn-danger:hover{background:#fee2e2}
.input{width:100%;background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:.6rem .8rem;color:var(--text);outline:none;transition:.15s}
.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,146,196,.15)}
.input::placeholder{color:#94a3b8}
.label{font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:.3rem;display:block;text-transform:uppercase;letter-spacing:.04em}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}
.badge-pending{background:#fef3c7;color:#b45309}
.badge-progress{background:#e0f2fe;color:#0369a1}
.badge-completed{background:#dcfce7;color:#15803d}
.badge-on_hold{background:#fee2e2;color:#dc2626}
.stage-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}
.progress-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:999px;transition:width .4s}
.nav-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:.7rem;color:#475569;font-weight:600;cursor:pointer;transition:.15s}
.nav-item:hover{background:var(--panel2);color:#0f172a}
.nav-item.active{background:linear-gradient(135deg,rgba(21,146,196,.14),rgba(217,158,11,.12));color:#0f172a;box-shadow:inset 0 0 0 1px rgba(21,146,196,.28)}
.nav-item.active i{color:var(--blue)}
.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:.6rem;padding:.8rem 1rem;box-shadow:0 10px 40px -10px rgba(15,23,42,.25);animation:slideIn .3s ease;max-width:340px}
.toast.error{border-left-color:#ef4444}
.toast.success{border-left-color:#22c55e}
@keyframes slideIn{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(4px);z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border:1px solid var(--line);border-radius:1.1rem;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;animation:pop .2s;box-shadow:0 25px 60px -15px rgba(15,23,42,.3)}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.stat-card{position:relative;overflow:hidden}
.stat-card::after{content:'';position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;opacity:.08}
.skeleton{background:linear-gradient(90deg,#eef2f7,#e2e8f0,#eef2f7);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.fade-in{animation:fadeUp .3s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
a{color:inherit}
textarea.input{resize:vertical;min-height:90px;font-family:inherit}
.kanban-col{min-width:270px}
@media (max-width:768px){ .hide-mobile{display:none!important} }
