/* SBAL · Tema Odoo (ver docs/design_system.md) */
:root {
    --odoo-primary: #875A7B;
    --odoo-primary-dark: #6d4862;
    --odoo-primary-light: #a17496;
    --odoo-bg: #f8f9fa;
    --odoo-card: #ffffff;
    --odoo-text: #212529;
    --odoo-muted: #6c757d;
    --odoo-border: #dee2e6;
    --odoo-breadcrumb-bg: #f1f3f5;
}

body { background: var(--odoo-bg); color: var(--odoo-text); font-size: 14px; }
a { color: var(--odoo-primary); text-decoration: none; }
a:hover { color: var(--odoo-primary-dark); }

/* Navbar */
.odoo-navbar { background: var(--odoo-primary); min-height: 46px; padding: 0 .5rem; }
.odoo-navbar .navbar-brand { font-size: 16px; }
.odoo-navbar .nav-link { color: rgba(255,255,255,.85); font-size: 14px; padding: .65rem .75rem; }
.odoo-navbar .nav-link:hover, .odoo-navbar .nav-link.active { color: #fff; background: rgba(0,0,0,.12); }
.odoo-apps-menu { min-width: 220px; }

/* Breadcrumb + page header */
.odoo-breadcrumb { background: var(--odoo-breadcrumb-bg); font-size: 13px; padding: .4rem 0; color: var(--odoo-muted); border-bottom: 1px solid var(--odoo-border); }
.odoo-page-header { background: #fff; border-bottom: 1px solid var(--odoo-border); padding: .6rem 0; }
.odoo-page-title { font-size: 20px; font-weight: 600; margin: 0; color: var(--odoo-text); }

/* Buttons */
.btn-odoo-primary { background: var(--odoo-primary); border-color: var(--odoo-primary); color: #fff; border-radius: 6px; }
.btn-odoo-primary:hover, .btn-odoo-primary:focus { background: var(--odoo-primary-dark); border-color: var(--odoo-primary-dark); color: #fff; }
.btn-odoo-secondary { background: #fff; border: 1px solid var(--odoo-border); color: #495057; border-radius: 6px; }
.btn-odoo-secondary:hover { background: #f1f3f5; color: #212529; }

/* Cards */
.odoo-card { background: var(--odoo-card); border: 1px solid var(--odoo-border); border-radius: 6px; padding: 1rem; display: block; }
.odoo-card-link { color: inherit; transition: box-shadow .15s, border-color .15s; }
.odoo-card-link:hover { color: inherit; border-color: var(--odoo-primary-light); box-shadow: 0 2px 8px rgba(135,90,123,.15); }
.odoo-stat { font-size: 28px; font-weight: 600; color: var(--odoo-primary); }

/* Forms */
.odoo-label { font-size: 13px; color: var(--odoo-muted); font-weight: 500; margin-bottom: .25rem; display: block; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--odoo-primary-light); box-shadow: 0 0 0 .2rem rgba(135,90,123,.2); }
.form-check-input:checked { background-color: var(--odoo-primary); border-color: var(--odoo-primary); }

/* Filter bar */
.odoo-filter-bar { display: flex; align-items: center; background: #fff; border: 1px solid var(--odoo-border); border-radius: 6px; padding: .15rem .25rem; }
.odoo-filter-bar input[type=search] { min-width: 180px; box-shadow: none; }
.odoo-filter-bar .form-select { width: auto; box-shadow: none; }

/* Tables */
.odoo-table { font-size: 14px; }
.odoo-table thead th { font-size: 13px; color: var(--odoo-muted); font-weight: 600; background: #fafbfc; border-bottom-width: 1px; white-space: nowrap; }
.odoo-table td, .odoo-table th { padding: .5rem .75rem; vertical-align: middle; }
.odoo-row-link { cursor: pointer; }

/* Avatars */
.odoo-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-weight: 600; flex-shrink: 0; border: 1px solid #fff; }
.odoo-avatar-xs { width: 24px; height: 24px; font-size: 9px; }
.odoo-avatar-sm { width: 32px; height: 32px; font-size: 12px; }
.odoo-avatar-lg { width: 56px; height: 56px; font-size: 20px; }
.avatars-container .odoo-avatar + .odoo-avatar { margin-left: -8px; }

/* Badges */
.odoo-badge-role { background: #f3ecf1; color: var(--odoo-primary-dark); font-weight: 500; }
.odoo-badge-login, .odoo-badge-logout { background: #e7f1ff; color: #0b5ed7; }
.odoo-badge-login_failed, .odoo-badge-delete { background: #fde8ea; color: #b02a37; }
.odoo-badge-create { background: #e6f4ea; color: #1e7e34; }
.odoo-badge-update, .odoo-badge-password { background: #fff4d6; color: #8a6200; }
.odoo-badge-other { background: #e9ecef; color: #495057; }

/* Definition list */
.odoo-dl { display: grid; grid-template-columns: 130px 1fr; gap: .35rem .75rem; margin: 0; }
.odoo-dl dt { color: var(--odoo-muted); font-weight: 500; font-size: 13px; }
.odoo-dl dd { margin: 0; }

/* Permission matrix */
.odoo-perm-app-title { font-weight: 600; color: var(--odoo-primary); border-bottom: 2px solid #f3ecf1; padding-bottom: .25rem; margin-bottom: .25rem; }
.odoo-perm-table th { font-size: 12px; color: var(--odoo-muted); font-weight: 600; }
.odoo-perm-table th:nth-child(n+2):nth-child(-n+5), .odoo-perm-table td:nth-child(n+2):nth-child(-n+5) { width: 70px; }

/* Home / app grid */
.odoo-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 1.5rem; max-width: 760px; margin: 0 auto; }
.odoo-app-tile { display: flex; flex-direction: column; align-items: center; color: var(--odoo-text); text-align: center; }
.odoo-app-tile:hover { color: var(--odoo-text); }
.odoo-app-icon { width: 72px; height: 72px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 32px; box-shadow: 0 2px 6px rgba(0,0,0,.15); transition: transform .15s, box-shadow .15s; }
.odoo-app-tile:hover .odoo-app-icon { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0,0,0,.18); }
.odoo-app-name { margin-top: .5rem; font-size: 14px; }

/* Auth pages */
.odoo-auth { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--odoo-primary) 0%, var(--odoo-primary-dark) 100%); padding: 16px; }
.odoo-auth-card { width: 100%; max-width: 380px; border: 0; border-radius: 10px; }
.odoo-auth-logo { width: 56px; height: 56px; margin: 0 auto; border-radius: 12px; background: var(--odoo-primary); color: #fff; font-size: 28px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

.odoo-messages .alert { font-size: 14px; }
