:root { --blue: #1a6cf0; --blue-hover: #1558c9; --blue-soft: #e8f0fe; --dark-blue: #0b1f3a; --dark-blue-mid: #132a4a; --white: #ffffff; --gray-50: #f5f7fa; --gray-100: #eef1f6; --gray-200: #dde3ec; --gray-400: #8b97a8; --gray-600: #5a6577; --gray-800: #1f2937; --danger: #d64545; --danger-soft: #fdecec; --success: #1f9d6c; --success-soft: #e6f7f0; --sidebar-width: 240px; --radius: 6px; --font: "Plus Jakarta Sans", sans-serif; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body, #root { min-height: 100%; } body { font-family: var(--font); background: var(--gray-50); color: var(--gray-800); line-height: 1.5; -webkit-font-smoothing: antialiased; } button, input, select, textarea { font: inherit; } a { color: inherit; text-decoration: none; } button { cursor: pointer; border: none; background: none; } img { display: block; max-width: 100%; } table { border-collapse: collapse; width: 100%; } .field { display: flex; flex-direction: column; gap: 0.4rem; } .field__label { font-size: 0.8rem; font-weight: 600; color: var(--dark-blue); } .field__hint { font-size: 0.75rem; color: var(--gray-600); } .field-input, .field-textarea, .field-select { width: 100%; padding: 0.65rem 0.85rem; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); color: var(--gray-800); outline: none; } .field-input:focus, .field-textarea:focus, .field-select:focus { border-color: var(--blue); } .field-textarea { min-height: 110px; resize: vertical; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.55rem 1rem; border-radius: var(--radius); font-size: 0.875rem; font-weight: 600; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; white-space: nowrap; } .btn--primary { background: var(--blue); color: var(--white); } .btn--primary:hover { background: var(--blue-hover); } .btn--ghost { background: transparent; color: var(--gray-600); border: 1px solid var(--gray-200); } .btn--ghost:hover { background: var(--gray-100); color: var(--dark-blue); } .btn--danger { background: transparent; color: var(--danger); border: 1px solid transparent; } .btn--danger:hover { background: var(--danger-soft); } .btn--sm { padding: 0.35rem 0.65rem; font-size: 0.8rem; }