:root {
    --cp-primary: #1b3a63;
    --cp-primary-light: #2c5a94;
    --cp-accent: #ff8a3d;
    --cp-bg: #f4f6f9;
}

body {
    background: var(--cp-bg);
    font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* Auth */
.auth-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--cp-primary) 0%, var(--cp-primary-light) 100%);
}

.auth-wrapper {
    width: 100%;
    max-width: 460px;
    padding: 20px;
}

.auth-card {
    background: #fff;
    border-radius: 14px;
    padding: 2.5rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.auth-logo {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--cp-primary);
}

/* App shell */
.app-shell {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: 250px;
    background: var(--cp-primary);
    color: #fff;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.sidebar-brand {
    padding: 1.25rem 1.25rem;
    font-size: 1.25rem;
    font-weight: 700;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.sidebar-nav {
    padding: .75rem;
    gap: .15rem;
}

.sidebar-nav .nav-link {
    color: rgba(255, 255, 255, .8);
    border-radius: 8px;
    padding: .55rem .75rem;
}

.sidebar-nav .nav-link i {
    width: 20px;
    display: inline-block;
}

.sidebar-nav .nav-link:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.sidebar-nav .nav-link.active {
    background: var(--cp-accent);
    color: #1b1b1b;
    font-weight: 600;
}

.sidebar-section {
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    font-size: .7rem;
    letter-spacing: .05em;
    padding: 1rem .75rem .25rem;
}

.main-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.topbar {
    background: #fff;
    padding: .75rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e5e9f0;
}

.content {
    padding: 1.5rem;
    flex: 1;
}

.stat-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
    border: 1px solid #e5e9f0;
}

.stat-card .stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--cp-primary);
}

.card {
    border: 1px solid #e5e9f0;
    border-radius: 12px;
}

/* Kanban */
.kanban-board {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 1rem;
}

.kanban-column {
    background: #fff;
    border: 1px solid #e5e9f0;
    border-radius: 10px;
    min-width: 240px;
    flex: 0 0 240px;
    display: flex;
    flex-direction: column;
}

.kanban-column-header {
    padding: .6rem .75rem;
    font-weight: 600;
    font-size: .85rem;
    border-bottom: 1px solid #e5e9f0;
    border-radius: 10px 10px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.kanban-column-body {
    padding: .5rem;
    min-height: 80px;
    flex: 1;
}

.kanban-column-body.drag-over {
    background: #f0f4fa;
}

.kanban-card {
    background: #fff;
    border: 1px solid #e5e9f0;
    border-radius: 8px;
    padding: .5rem .65rem;
    margin-bottom: .5rem;
    cursor: grab;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

.kanban-card.dragging {
    opacity: .4;
}

@media (max-width: 768px) {
    .app-shell {
        flex-direction: column;
    }
    .sidebar {
        width: 100%;
    }
}
