:root {
    --db-orange: #ff8a3d;
    --db-orange-soft: #ffb37a;
    --db-orange-hover: #f07a2d;
    --db-orange-tint: #fff7f0;
    --db-border: #ececec;
    --db-gray-soft: #f7f7f8;
    --db-gray: #9ca3af;
    --db-text: #3a3a3a;
    --db-text-soft: #6b7280;
    --db-white: #ffffff;
}

html { font-size: 14px; position: relative; min-height: 100%; }
@media (min-width: 768px) { html { font-size: 15px; } }

body {
    margin-bottom: 60px;
    background-color: var(--db-gray-soft);
    color: var(--db-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Navbar — clara e limpa */
.navbar.bg-dark, .navbar-dark {
    background-color: var(--db-white) !important;
    border-bottom: 1px solid var(--db-border);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.navbar-brand {
    color: var(--db-orange) !important;
    font-weight: 600;
    letter-spacing: 0.2px;
}
.navbar-dark .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link { color: var(--db-text-soft); font-weight: 500; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:hover { color: var(--db-orange); }
.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar .btn-link.nav-link { color: var(--db-text-soft) !important; }
.navbar .navbar-user {
    color: var(--db-text) !important;
    font-weight: 500;
    background: var(--db-gray-soft);
    border-radius: 20px;
    padding: 4px 12px !important;
    font-size: 0.85rem;
}

/* Buttons */
.btn-primary {
    background-color: var(--db-orange);
    border-color: var(--db-orange);
    color: var(--db-white);
    font-weight: 500;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--db-orange-hover) !important;
    border-color: var(--db-orange-hover) !important;
    color: var(--db-white) !important;
}
.btn-outline-primary {
    color: var(--db-orange);
    border-color: var(--db-orange-soft);
}
.btn-outline-primary:hover {
    background-color: var(--db-orange);
    border-color: var(--db-orange);
    color: var(--db-white);
}
.btn-outline-secondary {
    color: var(--db-text-soft);
    border-color: var(--db-border);
}
.btn-outline-secondary:hover {
    background-color: var(--db-gray-soft);
    color: var(--db-text);
    border-color: var(--db-border);
}
.btn-link { color: var(--db-text-soft); }
.btn-link:hover { color: var(--db-orange); }

/* Links */
a { color: var(--db-orange); text-decoration: none; }
a:hover { color: var(--db-orange-hover); text-decoration: underline; }

/* Cards & boxes */
.card {
    border: 1px solid var(--db-border);
    border-radius: 8px;
    box-shadow: none;
    background: var(--db-white);
}
.card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.04); }

/* Tables */
.table {
    background: var(--db-white);
    border-radius: 8px;
    overflow: hidden;
}
.table thead th {
    background-color: var(--db-gray-soft);
    color: var(--db-text-soft);
    border-bottom: 1px solid var(--db-border);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.table tbody tr { border-color: var(--db-border); }
.table-hover tbody tr:hover { background-color: var(--db-orange-tint); }

/* Forms */
.form-control, .form-select {
    border-color: var(--db-border);
    border-radius: 6px;
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: var(--db-orange-soft);
    box-shadow: 0 0 0 0.2rem rgba(255, 138, 61, 0.12);
}
.form-check-input:checked {
    background-color: var(--db-orange);
    border-color: var(--db-orange);
}
.form-label { color: var(--db-text-soft); font-weight: 500; font-size: 0.9rem; }

/* Headings */
h1, h2, h3 { color: var(--db-text); font-weight: 600; letter-spacing: -0.2px; }
h2 { font-size: 1.5rem; }

/* Kanban */
.kanban-board { background: transparent; }
.kanban-col {
    background-color: var(--db-white) !important;
    border: 1px solid var(--db-border);
    border-radius: 8px;
    border-top: 2px solid var(--db-border);
}
.kanban-col:nth-child(1) { border-top-color: #d1d5db; }
.kanban-col:nth-child(2) { border-top-color: #9ca3af; }
.kanban-col:nth-child(3) { border-top-color: var(--db-orange-soft); }
.kanban-col:nth-child(4) { border-top-color: #fcd34d; }
.kanban-col:nth-child(5) { border-top-color: #86efac; }
.kanban-col strong { color: var(--db-text-soft); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }
.kanban-card {
    border: 1px solid var(--db-border);
    border-left: 6px solid var(--db-orange-soft);
    border-radius: 6px;
    cursor: grab;
    transition: box-shadow 0.15s;
}
.kanban-card:hover { box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
.kanban-card:active { cursor: grabbing; }

/* Badges */
.badge.bg-secondary { background-color: var(--db-text-soft) !important; font-weight: 500; }
.badge { font-weight: 500; }

/* Auth card */
.auth-card {
    max-width: 400px;
    margin: 5rem auto;
    background: var(--db-white);
    border: 1px solid var(--db-border);
    border-radius: 10px;
    padding: 2.25rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.auth-card h2 { margin-bottom: 1.5rem; text-align: center; font-size: 1.25rem; }
.auth-brand {
    color: var(--db-orange);
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.25rem;
    font-size: 1.4rem;
    letter-spacing: -0.3px;
}
