/* =============================== ROOT DESIGN SYSTEM =============================== */ :root { --bg: #f4f6f9; --sidebar: #1e293b; --sidebar-hover: #334155; --text: #1e293b; --muted: #64748b; --white: #ffffff; --primary: #2563eb; --primary-dark: #1d4ed8; --success: #16a34a; --border: #e5e7eb; --shadow: 0 10px 25px rgba(0,0,0,0.05); } /* =============================== GLOBAL =============================== */ * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", Tahoma, sans-serif; background: linear-gradient(135deg, #f4f6f9, #eef2f7); color: var(--text); } /* =============================== SIDEBAR =============================== */ .sidebar { width: 240px; height: 100vh; background: var(--sidebar); color: #fff; position: fixed; top: 0; left: 0; padding: 20px; } .sidebar h2 { margin-bottom: 30px; font-size: 20px; font-weight: 600; } .sidebar a { display: block; color: #cbd5f5; padding: 12px; margin-bottom: 6px; text-decoration: none; border-radius: 8px; transition: 0.2s ease; } .sidebar a:hover { background: var(--sidebar-hover); transform: translateX(3px); } /* =============================== MAIN CONTENT =============================== */ .main { margin-left: 240px; padding: 30px; } /* =============================== HEADER =============================== */ .header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; } .header h2 { margin: 0; font-size: 24px; } /* =============================== BADGE =============================== */ .badge { background: var(--success); color: white; padding: 6px 12px; border-radius: 20px; font-size: 12px; } /* =============================== CARD =============================== */ .card { background: var(--white); padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: var(--shadow); border: 1px solid var(--border); } .card h3 { margin-top: 0; margin-bottom: 15px; } /* =============================== FORM ELEMENTS =============================== */ input, select { width: 100%; padding: 10px; margin-top: 6px; margin-bottom: 12px; border-radius: 8px; border: 1px solid var(--border); outline: none; transition: 0.2s; } input:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1); } /* =============================== BUTTONS =============================== */ button { width: 100%; padding: 12px; background: var(--primary); color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: 500; transition: 0.2s ease; } button:hover { background: var(--primary-dark); transform: translateY(-1px); } /* =============================== ALERTS =============================== */ .card.success { background: #ecfdf5; color: #065f46; } .card.error { background: #fef2f2; color: #991b1b; } /* =============================== RESPONSIVE =============================== */ @media (max-width: 768px) { .sidebar { position: relative; width: 100%; height: auto; } .main { margin-left: 0; padding: 15px; } }