:root {
    --sap-primary: #0a6ed1; /* Fiori Blue */
    --sap-primary-dark: #0854a0;
    --sap-shell-bg: #354a5f;
    --sap-bg: #edf2f7; /* Quartz Light-ish */
    --sap-text: #32363a;
    --sap-text-light: #6a6d70;
    --sap-border: #d9d9d9;
    --sap-card-bg: #ffffff;
    --sap-card-shadow: 0 0 2px 0 rgba(0,0,0,0.1), 0 2px 5px 0 rgba(0,0,0,0.05); /* Fiori card shadow */
    --sap-font: "72", "72full", Arial, Helvetica, sans-serif;
}

body {
    font-family: var(--sap-font) !important;
    background-color: var(--sap-bg) !important;
    color: var(--sap-text) !important;
}

/* Shell Bar */
.sap-shellbar {
    background-color: var(--sap-shell-bg) !important;
    color: #ffffff !important;
    height: 48px;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    box-shadow: 0 4px 5px -5px rgba(0,0,0,0.6);
}

.sap-shellbar .logo {
    font-weight: bold;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
}

.sap-shellbar nav a {
    color: rgba(255,255,255,0.8);
    font-size: 0.875rem;
    padding: 0 0.75rem;
    text-decoration: none;
    height: 48px;
    display: flex;
    align-items: center;
    transition: color 0.1s;
}

.sap-shellbar nav a:hover, .sap-shellbar nav a.active {
    color: #ffffff;
    border-bottom: 3px solid #fff;
}

/* Cards */
.sap-card {
    background-color: var(--sap-card-bg);
    border-radius: 0.5rem; /* modern fiori */
    box-shadow: var(--sap-card-shadow);
    border: 1px solid rgba(0,0,0,0.05);
    overflow: hidden;
}

.sap-card-header {
    padding: 1rem 1rem 0.5rem 1rem;
    border-bottom: 1px solid transparent;
}

.sap-card-title {
    font-size: 1rem;
    font-weight: bold;
    color: var(--sap-text);
}

.sap-card-content {
    padding: 1rem;
}

/* Tables */
.sap-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
}

.sap-table thead th {
    background-color: #f7f7f7;
    color: var(--sap-text-light);
    font-weight: normal;
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--sap-border);
    font-size: 0.875rem;
}

.sap-table tbody td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #eeeeee;
    font-size: 0.875rem;
    color: var(--sap-text);
}

.sap-table tbody tr:hover {
    background-color: #f5faff; /* Fiori hover */
}

/* Buttons */
.sap-btn {
    font-family: var(--sap-font);
    font-size: 0.875rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.1s;
}

.sap-btn-emphasized {
    background-color: var(--sap-primary);
    color: #fff;
    border-color: var(--sap-primary);
}

.sap-btn-emphasized:hover {
    background-color: var(--sap-primary-dark);
}

.sap-btn-transparent {
    background-color: transparent;
    color: var(--sap-primary);
}

.sap-btn-transparent:hover {
    background-color: rgba(10, 110, 209, 0.05);
}

/* Inputs */
.sap-input {
    height: 36px;
    border: 1px solid var(--sap-border);
    border-radius: 0.25rem;
    padding: 0 0.5rem;
    font-family: var(--sap-font);
    font-size: 0.875rem;
    color: var(--sap-text);
    background-color: #fff;
    width: 100%;
}

.sap-input-lg {
    height: 44px;
    font-size: 1rem;
    padding: 0 0.75rem;
}

.sap-input:focus {
    border-color: var(--sap-primary);
    outline: 1px solid var(--sap-primary);
}

/* Utility */
.sap-page-header {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sap-page-title {
    font-size: 1.25rem;
    color: var(--sap-text);
    font-weight: normal;
}

.sap-btn-lg {
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
}
