/* Brand Colors and Fonts */
:root {
    /* Brand Colors */
    --color-brand: #fdb813;
    --color-brand-yellow: #fdb813;
    --color-brand-green: #00463d;
    --color-brand-red: #941f22;
    --color-brand-orange: #d0591c;

    /* DaisyUI Theme Colors */
    --color-primary: #fdb813;
    --color-secondary: #00463d;
    --color-accent: #d0591c;
    --color-error: #941f22;
    --color-warning: #fdb813;
    --color-success: #00463d;

    /* Fonts */
    --font-sans: BlauerNeu, sans-serif;
    --font-sharp: Sharp, sans-serif;

    /* Dark theme */
    color-scheme: dark;
}

/* Font Face Definitions */
@font-face {
    font-family: 'BlauerNeu';
    src: url('/fonts/BlauerNeu/BlauerNue-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BlauerNeu';
    src: url('/fonts/BlauerNeu/BlauerNue-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BlauerNeu';
    src: url('/fonts/BlauerNeu/BlauerNue-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'BlauerNeu';
    src: url('/fonts/BlauerNeu/BlauerNue-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sharp';
    src: url('/fonts/Sharp/SHARP-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Base Dark Theme Styles */
body {
    margin: 0;
    min-height: 100vh;
    background-color: #000000;
    color: #ffffff;
    font-family: var(--font-sans);
}

/* Adjust padding based on context (iframe vs standalone) */
body.standalone {
    padding: 1rem;
}

body.embedded {
    padding: 0.5rem;
}

/* Override DaisyUI Components with Brand Colors */
.card {
    background-color: #1a1a1a;
    border: 1px solid #333;
}

.card-body {
    color: #ffffff;
}

.card-title {
    font-family: var(--font-sharp);
}

.input, .select, .textarea {
    background-color: #2a2a2a;
    border-color: #444;
    color: #ffffff;
    font-family: var(--font-sans);
}

.input:focus, .select:focus, .textarea:focus {
    border-color: var(--color-brand-yellow);
    outline: none;
}

.btn {
    font-family: var(--font-sharp);
    font-weight: 700;
}

.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #000000;
}

.btn-primary:hover {
    background-color: #e5a711;
    border-color: #e5a711;
}

.btn-secondary {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: #ffffff;
}

.btn-secondary:hover {
    background-color: #003933;
}

.btn-success {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.btn-success:hover {
    background-color: #003933;
}

.btn-error {
    background-color: var(--color-error);
    border-color: var(--color-error);
    color: #ffffff;
}

.btn-error:hover {
    background-color: #7a1a1d;
}

.btn-outline {
    border-color: #444;
    color: #ffffff;
}

.btn-outline:hover {
    background-color: #2a2a2a;
    border-color: var(--color-brand-yellow);
}

.btn-ghost:hover {
    background-color: #2a2a2a;
}

/* Alert Components */
.alert {
    background-color: #2a2a2a;
    border: 1px solid #444;
}

.alert-info {
    background-color: #1e3a5f;
    border-color: #2563eb;
}

.alert-warning {
    background-color: #4d3800;
    border-color: var(--color-warning);
}

.alert-error {
    background-color: #4d1a1a;
    border-color: var(--color-error);
}

.alert-success {
    background-color: #002b27;
    border-color: var(--color-success);
}

/* Badge Components */
.badge-success {
    background-color: var(--color-success);
    color: #ffffff;
}

.badge-info {
    background-color: #3b82f6;
    color: #000000;
}

.badge-error {
    background-color: var(--color-error);
    color: #ffffff;
}

.badge-warning {
    background-color: var(--color-warning);
    color: #000000;
}

.badge-outline {
    border-color: #666;
    color: #ffffff;
}

.badge-primary {
    background-color: var(--color-primary);
    color: #000000;
}

/* Background Colors */
.bg-base-200 {
    background-color: #0a0a0a !important;
}

.bg-base-300 {
    background-color: #2a2a2a !important;
}

.bg-success {
    background-color: var(--color-success);
}

.bg-primary {
    background-color: var(--color-primary);
}

/* Text Colors */
.text-primary {
    color: var(--color-primary);
}

.text-secondary {
    color: var(--color-secondary);
}

.text-success {
    color: var(--color-success);
}

.text-error {
    color: var(--color-error);
}

.text-warning {
    color: var(--color-warning);
}

.text-accent {
    color: var(--color-accent);
}

/* Divider */
.divider {
    color: #666;
}

/* Table */
.table {
    color: #ffffff;
}

.table-zebra tbody tr:nth-child(even) {
    background-color: #1a1a1a;
}

/* Checkbox */
.checkbox {
    border-color: #666;
}

.checkbox:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Label */
.label-text {
    color: #cccccc;
}

/* Modal */
.modal-box {
    background-color: #1a1a1a;
    border: 1px solid #333;
}

/* Loading Spinner */
.loading {
    color: var(--color-primary);
}
