:root { --bg: #0f172a; --sidebar: #1e293b; --card: #1e293b; --border: #334155; --text: #f1f5f9; --muted: #94a3b8; --primary: #3b82f6; --primary-hover: #2563eb; --danger: #ef4444; --success: #10b981; --radius: 12px; } body { background: var(--bg); color: var(--text); font-family: 'Inter', system-ui, sans-serif; margin: 0; line-height: 1.5; -webkit-font-smoothing: antialiased; } a { text-decoration: none; color: inherit; transition: 0.2s; } * { box-sizing: border-box; } /* Layout */ .app-layout { display: flex; min-height: 100vh; } .sidebar { width: 260px; background: var(--sidebar); border-right: 1px solid var(--border); padding: 24px; display: flex; flex-direction: column; position: fixed; height: 100vh; } .main-content { flex: 1; margin-left: 260px; padding: 40px; background: var(--bg); } .brand { font-size: 20px; font-weight: 800; margin-bottom: 40px; color: var(--text); letter-spacing: -0.5px; display: flex; align-items: center; gap: 10px; } .brand span { background: linear-gradient(135deg, var(--primary) 0%, var(--vergen) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Navigation */ .nav-link { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 8px; color: var(--muted); font-weight: 500; margin-bottom: 4px; } .nav-link:hover, .nav-link.active { background: rgba(59, 130, 246, 0.1); color: var(--primary); } .nav-section { font-size: 11px; text-transform: uppercase; color: var(--muted); font-weight: 700; margin: 24px 0 10px 12px; letter-spacing: 0.05em; } /* Cards */ .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; } .dashboard-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; transition: 0.2s; display: flex; align-items: center; gap: 16px; } .dashboard-card:hover { transform: translateY(-2px); border-color: var(--primary); } .card-icon { width: 48px; height: 48px; background: rgba(59, 130, 246, 0.1); color: var(--primary); border-radius: 12px; display: grid; place-items: center; font-size: 20px; } /* Forms & Tables */ .page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; } h1 { margin: 0; font-size: 24px; font-weight: 700; } .panel { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: var(--muted); } input, textarea, select { width: 100%; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 12px; color: var(--text); font-family: inherit; transition: 0.2s; } input:focus, textarea:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); } .btn { background: var(--primary); color: white; padding: 12px 24px; border-radius: 8px; border: none; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; } .btn:hover { background: var(--primary-hover); } .btn-outline { background: transparent; border: 1px solid var(--border); color: var(--muted); } .btn-outline:hover { border-color: var(--text); color: var(--text); } .btn-danger { color: var(--danger); background: rgba(239, 68, 68, 0.1); } .btn-danger:hover { background: rgba(239, 68, 68, 0.2); } /* List Items */ .list-item { display: flex; align-items: center; padding: 16px 24px; border-bottom: 1px solid var(--border); gap: 20px; } .list-item:last-child { border-bottom: none; } .item-image { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; background: var(--bg); } .item-content { flex: 1; } .item-title { font-weight: 600; margin-bottom: 4px; display: block; } .item-meta { font-size: 13px; color: var(--muted); } /* Login */ .login-page { display: grid; place-items: center; height: 100vh; background: var(--bg); } .login-card { background: var(--card); padding: 40px; border-radius: 24px; border: 1px solid var(--border); width: 100%; max-width: 400px; } /* Details/Summary Customization */ details > summary { list-style: none; } details > summary::-webkit-details-marker { display: none; }