/* ============================================
   MyLynk Base Styles
   Company-specific overrides: /company/{id}/brand.css
   ============================================ */

:root {
    --brand-color: #0078d4;
    --bg-color: #f5f5f5;
    --text-color: #1a1a1a;
    --text-muted: #6b7280;
    --topbar-bg: #000;
    --topbar-text: #fff;
    --footer-bg: #000;
    --footer-text: #fff;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background: var(--bg-color);
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.topbar {
    background: var(--topbar-bg);
    color: var(--topbar-text);
    padding: 12px 24px;
    position: sticky;
    top: 0;
    /* Raised from 100 (2026-07-20): .topbar creates its own stacking
       context (position:sticky + z-index), so everything nested inside it
       — including the waffle menu dropdown — was being compared against
       this value, not its own higher z-index. Any in-page sticky element
       with a higher z-index (e.g. Dashboard's .sticky-zone at 150) was
       winning the stacking fight and painting over the top portion of the
       dropdown. Set high enough to beat in-page sticky bars, but still
       below modal-overlay (500) so modals correctly cover the topbar too. */
    z-index: 300;
    /* Fixed height (rather than padding-driven auto height) so child pages
       can reference --topbar-height below and know the exact pixel value
       instead of guessing it. 1.1rem company-name text + 12px top/bottom
       padding ≈ this value; adjust here if the topbar's visual size changes,
       and every page using --topbar-height will follow automatically. */
    height: var(--topbar-height);
}

:root {
    --topbar-height: 61px;
}

.topbar-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 1200px;
    margin: 0 auto;
}

.company-logo { height: 36px; width: auto; }
.company-name { font-size: 1.1rem; font-weight: 600; }

.main-content {
    flex: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 24px;
    width: 100%;
}

.footer-bar {
    background: var(--footer-bg);
    color: var(--footer-text);
    text-align: center;
    padding: 12px 24px;
    font-size: 0.85rem;
    position: sticky;
    bottom: 0;
    z-index: 100;
}

.card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    padding: 24px;
    margin-bottom: 20px;
}

.card h2 { margin-bottom: 16px; color: var(--brand-color); }

.btn {
    display: inline-block;
    padding: 10px 24px;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: none;
}

.btn-primary { background: var(--brand-color); color: #fff; }
.btn-primary:hover { opacity: 0.9; }
