@tailwind base; @tailwind components; @tailwind utilities; :root { color: #2E3B40; background: #F7F8F8; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: #F7F8F8; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } button, input, select, textarea { font: inherit; } button, a { transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease; } button { cursor: pointer; } button:hover:not(:disabled) { box-shadow: 0 12px 28px rgba(46, 59, 64, 0.12); transform: translateY(-1px); } button:hover:not(:disabled) svg, a:hover svg, label:hover svg { transform: scale(1.08); } button:active:not(:disabled), a:active { transform: scale(0.98); } button:disabled, [aria-disabled="true"] { cursor: not-allowed; opacity: 0.45; } a:hover { text-decoration: underline; text-underline-offset: 4px; } svg { transition: transform 180ms ease, color 180ms ease; } input, select, textarea { transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease; } input:focus, select:focus, textarea:focus { border-color: #6C8A96; box-shadow: 0 0 0 3px rgba(108, 138, 150, 0.18); outline: none; } tbody tr { transition: background-color 180ms ease; } tbody tr:hover { background: rgba(167, 199, 199, 0.14); } .btn { align-items: center; border: 1px solid #E6EAEA; border-radius: 8px; display: inline-flex; font-weight: 700; gap: 8px; justify-content: center; min-height: 44px; padding: 10px 16px; } .btn-secondary { background: #FFFFFF; color: #2E3B40; } .btn-secondary:hover:not(:disabled) { background: #F7F8F8; border-color: #A7C7C7; } .btn-secondary:active:not(:disabled) { background: #E6EAEA; } .btn-primary { background: #6C8A96; border-color: #6C8A96; color: #FFFFFF; } .btn-primary:hover:not(:disabled) { background: #4F6A74; } .btn-primary:active:not(:disabled) { background: #415B64; } .btn-danger { background: #FFFFFF; border-color: rgba(201, 92, 84, 0.35); color: #C95C54; } .btn-danger:hover:not(:disabled) { background: rgba(201, 92, 84, 0.08); border-color: #C95C54; } .btn-success { background: rgba(102, 162, 107, 0.12); border-color: rgba(102, 162, 107, 0.35); color: #427646; } .icon-btn { align-items: center; background: #FFFFFF; border: 1px solid #E6EAEA; border-radius: 8px; display: inline-flex; height: 38px; justify-content: center; width: 38px; } .icon-btn:hover:not(:disabled) { background: #F7F8F8; border-color: #A7C7C7; } .spinner { animation: spin 0.8s linear infinite; border: 2px solid currentColor; border-right-color: transparent; border-radius: 999px; height: 16px; width: 16px; } @keyframes spin { to { transform: rotate(360deg); } }