/* =========================================================================
   AMBAS.lt – dizaino sistema
   Bootstrap 5.3 + nuosavi tokenai. Šviesi ir tamsi tema (data-bs-theme).
   ========================================================================= */

/* ---------- Šriftai (Inter, variable; lietuviškos raidės – latin-ext) ---------- */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../lib/inter/inter-latin-ext-wght-normal-1Br77OV.woff2") format('woff2-variations');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("../lib/inter/inter-latin-wght-normal-Gz7AlRl.woff2") format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokenai ---------- */
:root,
[data-bs-theme="light"] {
    --amb-primary: #5b3df5;
    --amb-primary-rgb: 91, 61, 245;
    --amb-primary-hover: #4a2ee0;
    --amb-primary-soft: #efecff;
    --amb-accent: #ff6b4a;
    --amb-accent-soft: #fff0ec;

    --amb-bg: #f5f6fa;
    --amb-surface: #ffffff;
    --amb-surface-2: #f8f9fc;
    --amb-border: #e6e8f0;
    --amb-text: #111827;
    --amb-text-muted: #6b7280;
    --amb-sidebar-bg: #ffffff;
    --amb-hero-from: #5b3df5;
    --amb-hero-to: #9b5cff;

    --amb-radius-sm: 8px;
    --amb-radius: 14px;
    --amb-radius-lg: 20px;
    --amb-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
    --amb-shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 4px 12px rgba(16, 24, 40, .04);
    --amb-shadow-lg: 0 12px 32px rgba(16, 24, 40, .10);
    --amb-sidebar-w: 256px;
    --amb-topbar-h: 64px;

    --bs-body-bg: var(--amb-bg);
    --bs-body-color: var(--amb-text);
    --bs-secondary-color: var(--amb-text-muted);
    --bs-border-color: var(--amb-border);
    --bs-tertiary-bg: var(--amb-surface-2);
}

[data-bs-theme="dark"] {
    --amb-primary: #8b7bff;
    --amb-primary-rgb: 139, 123, 255;
    --amb-primary-hover: #a193ff;
    --amb-primary-soft: rgba(139, 123, 255, .15);
    --amb-accent: #ff8a70;
    --amb-accent-soft: rgba(255, 138, 112, .14);

    --amb-bg: #0d1017;
    --amb-surface: #151a23;
    --amb-surface-2: #1b212c;
    --amb-border: #262d3a;
    --amb-text: #e7e9ee;
    --amb-text-muted: #98a1b3;
    --amb-sidebar-bg: #11151d;
    --amb-hero-from: #3b25c9;
    --amb-hero-to: #7a3fe0;
    --amb-shadow: 0 1px 3px rgba(0, 0, 0, .4);
    --amb-shadow-lg: 0 12px 32px rgba(0, 0, 0, .45);

    --bs-body-bg: var(--amb-bg);
    --bs-body-color: var(--amb-text);
    --bs-secondary-color: var(--amb-text-muted);
    --bs-border-color: var(--amb-border);
    --bs-tertiary-bg: var(--amb-surface-2);
}

:root {
    --bs-primary: var(--amb-primary);
    --bs-primary-rgb: var(--amb-primary-rgb);
    --bs-link-color: var(--amb-primary);
    --bs-link-color-rgb: var(--amb-primary-rgb);
    --bs-link-hover-color: var(--amb-primary-hover);
    --bs-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --bs-body-font-size: .9375rem;
    --bs-border-radius: var(--amb-radius-sm);
    --bs-border-radius-lg: var(--amb-radius);
    --bs-focus-ring-color: rgba(var(--amb-primary-rgb), .25);
}

/* ---------- Bazė ---------- */
html { scroll-behavior: smooth; }
body {
    font-family: var(--bs-font-sans-serif);
    background: var(--amb-bg);
    color: var(--amb-text);
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'cv11', 'ss01';
    min-height: 100vh;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 700; letter-spacing: -.02em; color: var(--amb-text); }
a { text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
.text-muted, .form-text { color: var(--amb-text-muted) !important; }
.text-primary { color: var(--amb-primary) !important; }
.bg-primary { background-color: var(--amb-primary) !important; }
.fw-800 { font-weight: 800; }
.tabular { font-variant-numeric: tabular-nums; }
::selection { background: rgba(var(--amb-primary-rgb), .2); }
:focus-visible { outline: 2px solid var(--amb-primary); outline-offset: 2px; }

/* ---------- Mygtukai ---------- */
.btn { font-weight: 600; border-radius: 10px; padding: .5rem 1rem; transition: all .15s ease; }
.btn-sm { border-radius: 8px; padding: .35rem .75rem; font-size: .8125rem; }
.btn-lg { border-radius: 12px; padding: .75rem 1.4rem; font-size: 1rem; }
.btn-primary {
    --bs-btn-bg: var(--amb-primary); --bs-btn-border-color: var(--amb-primary);
    --bs-btn-hover-bg: var(--amb-primary-hover); --bs-btn-hover-border-color: var(--amb-primary-hover);
    --bs-btn-active-bg: var(--amb-primary-hover); --bs-btn-active-border-color: var(--amb-primary-hover);
    --bs-btn-disabled-bg: var(--amb-primary); --bs-btn-disabled-border-color: var(--amb-primary);
    box-shadow: 0 1px 2px rgba(var(--amb-primary-rgb), .3), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(var(--amb-primary-rgb), .3); }
.btn-outline-primary {
    --bs-btn-color: var(--amb-primary); --bs-btn-border-color: rgba(var(--amb-primary-rgb), .35);
    --bs-btn-hover-bg: var(--amb-primary-soft); --bs-btn-hover-color: var(--amb-primary); --bs-btn-hover-border-color: var(--amb-primary);
    --bs-btn-active-bg: var(--amb-primary-soft); --bs-btn-active-color: var(--amb-primary);
}
.btn-outline-secondary {
    --bs-btn-color: var(--amb-text); --bs-btn-border-color: var(--amb-border);
    --bs-btn-hover-bg: var(--amb-surface-2); --bs-btn-hover-color: var(--amb-text); --bs-btn-hover-border-color: var(--amb-border);
    background: var(--amb-surface);
}
.btn-soft { background: var(--amb-primary-soft); color: var(--amb-primary); border: 0; }
.btn-soft:hover { background: rgba(var(--amb-primary-rgb), .18); color: var(--amb-primary); }
.btn-icon { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; }
.btn .spinner-border { width: 1em; height: 1em; border-width: .15em; }
.btn-link { font-weight: 500; }

/* ---------- Kortelės ---------- */
.card {
    --bs-card-bg: var(--amb-surface);
    --bs-card-border-color: var(--amb-border);
    --bs-card-border-radius: var(--amb-radius);
    --bs-card-inner-border-radius: calc(var(--amb-radius) - 1px);
    --bs-card-cap-bg: transparent;
    box-shadow: var(--amb-shadow-sm);
}
.card-header { font-weight: 650; padding: 1rem 1.25rem; border-bottom-color: var(--amb-border); display: flex; align-items: center; gap: .5rem; }
.card-body { padding: 1.25rem; }
.card-title { font-weight: 700; }
.card-hover { transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.card-hover:hover { transform: translateY(-2px); box-shadow: var(--amb-shadow-lg); border-color: rgba(var(--amb-primary-rgb), .3); text-decoration: none; }

/* ---------- Formos ---------- */
.form-label { font-weight: 600; font-size: .875rem; margin-bottom: .35rem; }
.form-control, .form-select {
    border-radius: 10px; border-color: var(--amb-border); background-color: var(--amb-surface);
    padding: .6rem .85rem; font-size: .9375rem; transition: border-color .15s, box-shadow .15s;
}
.form-control:focus, .form-select:focus { border-color: var(--amb-primary); box-shadow: 0 0 0 4px rgba(var(--amb-primary-rgb), .15); }
.form-control-sm, .form-select-sm { padding: .35rem .6rem; font-size: .8125rem; border-radius: 8px; }
.form-check-input { width: 1.15em; height: 1.15em; border-color: #c4c8d4; }
.form-check-input:checked { background-color: var(--amb-primary); border-color: var(--amb-primary); }
.form-check-input:focus { box-shadow: 0 0 0 4px rgba(var(--amb-primary-rgb), .15); border-color: var(--amb-primary); }
.form-check-label { font-size: .9rem; }
.invalid-feedback { font-weight: 500; }
.input-group-text { background: var(--amb-surface-2); border-color: var(--amb-border); }

/* ---------- Lentelės ---------- */
.table { --bs-table-bg: transparent; --bs-table-hover-bg: var(--amb-surface-2); --bs-table-border-color: var(--amb-border); margin-bottom: 0; }
.table > thead th {
    font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
    color: var(--amb-text-muted); background: var(--amb-surface-2); border-bottom-width: 1px; white-space: nowrap;
    padding-top: .7rem; padding-bottom: .7rem;
}
.table > :not(caption) > * > * { padding: .8rem 1rem; vertical-align: middle; }
.table-sm > :not(caption) > * > * { padding: .5rem .75rem; }
.card > .table-responsive:first-child .table > thead th:first-child { border-top-left-radius: calc(var(--amb-radius) - 1px); }
.card > .table-responsive:first-child .table > thead th:last-child { border-top-right-radius: calc(var(--amb-radius) - 1px); }

/* ---------- Ženkliukai (soft) ---------- */
.badge { font-weight: 600; letter-spacing: .01em; border-radius: 999px; padding: .35em .7em; }
.badge-soft { display: inline-flex; align-items: center; gap: .35em; font-size: .75rem; font-weight: 600; padding: .3em .7em; border-radius: 999px; white-space: nowrap; }
.badge-soft::before { content: ''; width: .45em; height: .45em; border-radius: 50%; background: currentColor; }
.badge-soft-success { background: rgba(16, 185, 129, .12); color: #059669; }
.badge-soft-warning { background: rgba(245, 158, 11, .14); color: #b45309; }
.badge-soft-danger { background: rgba(239, 68, 68, .12); color: #dc2626; }
.badge-soft-info { background: rgba(14, 165, 233, .12); color: #0284c7; }
.badge-soft-primary { background: var(--amb-primary-soft); color: var(--amb-primary); }
.badge-soft-secondary { background: rgba(107, 114, 128, .12); color: #4b5563; }
.badge-soft-dark { background: rgba(17, 24, 39, .08); color: #374151; }
[data-bs-theme="dark"] .badge-soft-success { color: #34d399; }
[data-bs-theme="dark"] .badge-soft-warning { color: #fbbf24; }
[data-bs-theme="dark"] .badge-soft-danger { color: #f87171; }
[data-bs-theme="dark"] .badge-soft-info { color: #38bdf8; }
[data-bs-theme="dark"] .badge-soft-secondary, [data-bs-theme="dark"] .badge-soft-dark { color: #cbd5e1; background: rgba(203, 213, 225, .1); }
.chip { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 999px; background: var(--amb-surface-2); border: 1px solid var(--amb-border); font-size: .8125rem; font-weight: 500; color: var(--amb-text); }

/* ---------- Pranešimai (alerts) ---------- */
.alert {
    border-radius: 12px; border: 1px solid transparent; padding: .9rem 1rem; display: flex; gap: .75rem; align-items: flex-start;
    font-size: .9rem;
}
.alert > .alert-icon { font-size: 1.15rem; line-height: 1.2; flex-shrink: 0; }
.alert > .alert-content { flex: 1; min-width: 0; }
.alert-dismissible { padding-right: 3rem; }
.alert-success { background: rgba(16, 185, 129, .1); border-color: rgba(16, 185, 129, .25); color: #065f46; }
.alert-danger { background: rgba(239, 68, 68, .08); border-color: rgba(239, 68, 68, .25); color: #991b1b; }
.alert-warning { background: rgba(245, 158, 11, .1); border-color: rgba(245, 158, 11, .3); color: #92400e; }
.alert-info { background: rgba(14, 165, 233, .08); border-color: rgba(14, 165, 233, .25); color: #075985; }
[data-bs-theme="dark"] .alert-success { color: #6ee7b7; }
[data-bs-theme="dark"] .alert-danger { color: #fca5a5; }
[data-bs-theme="dark"] .alert-warning { color: #fcd34d; }
[data-bs-theme="dark"] .alert-info { color: #7dd3fc; }
.alert.is-hiding { opacity: 0; transform: translateY(-6px); transition: all .3s ease; }

/* ---------- Viešas išdėstymas ---------- */
.site-header {
    position: sticky; top: 0; z-index: 1030;
    background: color-mix(in srgb, var(--amb-surface) 82%, transparent);
    backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--amb-border);
}
.site-header .navbar { padding: .75rem 0; }
.site-header .nav-link { font-weight: 500; color: var(--amb-text); border-radius: 8px; padding: .45rem .8rem !important; }
.site-header .nav-link:hover, .site-header .nav-link.active { background: var(--amb-surface-2); text-decoration: none; }
.brand { font-weight: 800; letter-spacing: -.03em; font-size: 1.2rem; color: var(--amb-text); display: inline-flex; align-items: center; gap: .5rem; }
.brand:hover { color: var(--amb-text); text-decoration: none; }
.brand-mark { flex-shrink: 0; border-radius: 26%; box-shadow: 0 4px 12px rgba(var(--amb-primary-rgb), .35); }
.brand-name { letter-spacing: .02em; }
.brand span.tld { color: var(--amb-accent); letter-spacing: 0; }
.brand-on-dark .brand-mark { box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.site-footer { border-top: 1px solid var(--amb-border); background: var(--amb-surface); padding: 2.5rem 0; margin-top: 4rem; }
.site-footer a { color: var(--amb-text-muted); }
.site-footer a:hover { color: var(--amb-text); }

/* ---------- Aplikacijos apvalkalas (prisijungus) ---------- */
.app-shell { display: flex; min-height: 100vh; }
.app-sidebar {
    width: var(--amb-sidebar-w); flex-shrink: 0; background: var(--amb-sidebar-bg);
    border-right: 1px solid var(--amb-border);
}
@media (min-width: 992px) {
    .app-sidebar { position: sticky; top: 0; height: 100vh; }
}
.app-sidebar .offcanvas-body { display: flex; flex-direction: column; padding: 1rem .85rem; overflow-y: auto; height: 100%; }
.sidebar-brand { padding: .35rem .6rem 1.25rem; }
.sidebar-section { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--amb-text-muted); padding: 1rem .75rem .4rem; }
.sidebar-link {
    display: flex; align-items: center; gap: .75rem; padding: .55rem .75rem; border-radius: 10px;
    color: var(--amb-text); font-weight: 500; font-size: .9rem; position: relative;
}
.sidebar-link i { font-size: 1.1rem; color: var(--amb-text-muted); width: 1.25rem; text-align: center; }
.sidebar-link:hover { background: var(--amb-surface-2); text-decoration: none; color: var(--amb-text); }
.sidebar-link.active { background: var(--amb-primary-soft); color: var(--amb-primary); font-weight: 600; }
.sidebar-link.active i { color: var(--amb-primary); }
.sidebar-link .badge { margin-left: auto; }
.sidebar-cta { margin-top: 1rem; }
.sidebar-footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--amb-border); }
.sidebar-user { display: flex; align-items: center; gap: .65rem; padding: .5rem .5rem; border-radius: 10px; }
.sidebar-user .name { font-weight: 600; font-size: .875rem; line-height: 1.2; }
.sidebar-user .role { font-size: .75rem; color: var(--amb-text-muted); }

.app-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.app-topbar {
    position: sticky; top: 0; z-index: 1020; height: var(--amb-topbar-h);
    display: flex; align-items: center; gap: .75rem; padding: 0 1.5rem;
    background: color-mix(in srgb, var(--amb-bg) 85%, transparent);
    backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--amb-border);
}
.app-content { padding: 1.75rem 1.5rem 3rem; max-width: 1320px; width: 100%; margin: 0 auto; }
@media (max-width: 575.98px) {
    .app-topbar { padding: 0 1rem; }
    .app-content { padding: 1.25rem 1rem 3rem; }
}

/* ---------- Puslapio antraštė ---------- */
.page-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.page-header h1, .page-title { font-size: 1.6rem; margin: 0; }
.page-header .subtitle { color: var(--amb-text-muted); margin-top: .25rem; }
.page-header .actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.breadcrumb { font-size: .8125rem; margin-bottom: .4rem; --bs-breadcrumb-divider-color: var(--amb-text-muted); }
.breadcrumb a { color: var(--amb-text-muted); }

/* ---------- Statistikos plytelės ---------- */
.stat-card { position: relative; }
.stat-card .label { color: var(--amb-text-muted); font-size: .8125rem; font-weight: 500; }
.stat-card .value { font-size: 1.6rem; font-weight: 750; line-height: 1.15; letter-spacing: -.02em; margin-top: .25rem; font-variant-numeric: tabular-nums; }
.stat-card .meta { font-size: .8rem; color: var(--amb-text-muted); margin-top: .25rem; }
.stat-icon {
    width: 40px; height: 40px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.15rem; background: var(--amb-primary-soft); color: var(--amb-primary); flex-shrink: 0;
}
.stat-icon.success { background: rgba(16, 185, 129, .12); color: #059669; }
.stat-icon.warning { background: rgba(245, 158, 11, .14); color: #d97706; }
.stat-icon.info { background: rgba(14, 165, 233, .12); color: #0284c7; }
.stat-icon.accent { background: var(--amb-accent-soft); color: var(--amb-accent); }

/* ---------- Piniginės kortelė ---------- */
.wallet-hero {
    border-radius: var(--amb-radius-lg); padding: 1.5rem; color: #fff; position: relative; overflow: hidden;
    background: radial-gradient(120% 140% at 0% 0%, var(--amb-hero-from) 0%, var(--amb-hero-to) 70%, #d46bff 110%);
    box-shadow: 0 16px 40px rgba(var(--amb-primary-rgb), .25);
}
.wallet-hero::after {
    content: ''; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
.wallet-hero .label { color: rgba(255, 255, 255, .75); font-size: .8125rem; font-weight: 500; }
.wallet-hero .value { font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.wallet-hero .value-sm { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.wallet-hero .divider { border-left: 1px solid rgba(255, 255, 255, .2); }
.wallet-hero .btn-light { color: var(--amb-hero-from); }
.wallet-hero .btn-ghost { color: #fff; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); }
.wallet-hero .btn-ghost:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.wallet-bar { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .2); overflow: hidden; display: flex; }
.wallet-bar > span { background: rgba(255, 255, 255, .9); }

/* ---------- Kampanijos kortelė ---------- */
.campaign-card { height: 100%; display: flex; flex-direction: column; }
.campaign-card .card-body { display: flex; flex-direction: column; gap: .9rem; }
.brand-avatar {
    width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800; color: #fff; font-size: 1.05rem; flex-shrink: 0;
    background: linear-gradient(135deg, var(--amb-hero-from), var(--amb-accent));
}
.brand-avatar.sm { width: 36px; height: 36px; border-radius: 10px; font-size: .9rem; }
.campaign-card .reward { font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; color: var(--amb-text); }
.campaign-card .reward small { font-size: .75rem; font-weight: 500; color: var(--amb-text-muted); letter-spacing: 0; }
.campaign-meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.spots { font-size: .78rem; color: var(--amb-text-muted); }
.progress { --bs-progress-bg: var(--amb-surface-2); --bs-progress-bar-bg: var(--amb-primary); border-radius: 99px; height: 6px; }

/* ---------- Tuščia būsena ---------- */
.empty-state { text-align: center; padding: 2.5rem 1.25rem; }
.empty-state .icon {
    width: 64px; height: 64px; border-radius: 18px; margin: 0 auto 1rem; display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem; background: var(--amb-primary-soft); color: var(--amb-primary);
}
.empty-state h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.empty-state p { color: var(--amb-text-muted); max-width: 420px; margin: 0 auto 1rem; }

/* ---------- Kontrolinis sąrašas (onboarding) ---------- */
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { display: flex; align-items: center; gap: .75rem; padding: .65rem 0; border-bottom: 1px dashed var(--amb-border); }
.checklist li:last-child { border-bottom: 0; }
.checklist .tick {
    width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    border: 2px solid var(--amb-border); color: transparent; flex-shrink: 0; font-size: .8rem;
}
.checklist .done .tick { background: #10b981; border-color: #10b981; color: #fff; }
.checklist .done .text { color: var(--amb-text-muted); text-decoration: line-through; }
.checklist .text { flex: 1; font-weight: 500; }

/* ---------- Avatarai, score ---------- */
.avatar {
    width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .875rem; color: var(--amb-primary); background: var(--amb-primary-soft); flex-shrink: 0;
}
.avatar-sm { width: 32px; height: 32px; font-size: .75rem; }
.avatar-lg { width: 72px; height: 72px; font-size: 1.5rem; }
.score-ring {
    --size: 64px; width: var(--size); height: var(--size); border-radius: 50%; position: relative; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 800; color: var(--amb-primary);
    background: conic-gradient(var(--amb-primary) calc(var(--score) * 1%), var(--amb-primary-soft) 0);
}
.score-ring::before { content: ''; position: absolute; inset: 6px; background: var(--amb-surface); border-radius: 50%; }
.score-ring span { position: relative; font-size: 1.15rem; }

/* ---------- Navigacija (tabs / pills) ---------- */
.nav-segmented { display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .25rem; border-radius: 12px; background: var(--amb-surface); border: 1px solid var(--amb-border); }
.nav-segmented .nav-link { border-radius: 9px; padding: .45rem .85rem; font-weight: 500; font-size: .875rem; color: var(--amb-text-muted); }
.nav-segmented .nav-link:hover { color: var(--amb-text); background: var(--amb-surface-2); text-decoration: none; }
.nav-segmented .nav-link.active { background: var(--amb-primary); color: #fff; box-shadow: 0 2px 6px rgba(var(--amb-primary-rgb), .3); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--amb-primary); --bs-nav-pills-border-radius: 9px; gap: .25rem; }
.nav-pills .nav-link { color: var(--amb-text-muted); font-weight: 500; font-size: .875rem; }
.nav-pills .nav-link:hover { background: var(--amb-surface-2); color: var(--amb-text); text-decoration: none; }
.nav-tabs { --bs-nav-tabs-border-color: var(--amb-border); --bs-nav-tabs-link-active-bg: transparent; --bs-nav-tabs-link-active-border-color: transparent transparent var(--amb-primary); gap: .25rem; }
.nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; color: var(--amb-text-muted); font-weight: 500; padding: .6rem .9rem; }
.nav-tabs .nav-link.active { color: var(--amb-primary); border-bottom-color: var(--amb-primary); font-weight: 600; }
.nav-tabs .nav-link:hover { text-decoration: none; color: var(--amb-text); }

.pagination { --bs-pagination-border-radius: 9px; --bs-pagination-active-bg: var(--amb-primary); --bs-pagination-active-border-color: var(--amb-primary); --bs-pagination-color: var(--amb-text); --bs-pagination-bg: var(--amb-surface); --bs-pagination-border-color: var(--amb-border); gap: .25rem; }
.pagination .page-link { border-radius: 9px !important; }

.dropdown-menu { --bs-dropdown-border-color: var(--amb-border); --bs-dropdown-border-radius: 12px; --bs-dropdown-bg: var(--amb-surface); --bs-dropdown-link-active-bg: var(--amb-primary); box-shadow: var(--amb-shadow-lg); padding: .4rem; }
.dropdown-item { border-radius: 8px; padding: .5rem .75rem; font-size: .9rem; }
.modal-content { border-radius: var(--amb-radius-lg); border: 0; box-shadow: var(--amb-shadow-lg); background: var(--amb-surface); }
.modal-header, .modal-footer { border-color: var(--amb-border); }
.offcanvas { --bs-offcanvas-bg: var(--amb-sidebar-bg); }

/* ---------- Pranešimų sąrašas ---------- */
.notification-item { display: flex; gap: .75rem; padding: .75rem .9rem; border-radius: 10px; color: var(--amb-text); }
.notification-item:hover { background: var(--amb-surface-2); text-decoration: none; color: var(--amb-text); }
.notification-item.unread { background: var(--amb-primary-soft); box-shadow: inset 3px 0 0 var(--amb-primary); }
.notification-item .n-title { font-weight: 500; color: var(--amb-text-muted, #6b7280); }
.notification-item.unread .n-title { font-weight: 700; color: var(--amb-text); }
.notification-item:not(.unread) .n-icon { color: var(--amb-text-muted, #6b7280); }
.notification-item .n-icon { width: 34px; height: 34px; border-radius: 10px; background: var(--amb-surface-2); display: inline-flex; align-items: center; justify-content: center; color: var(--amb-primary); flex-shrink: 0; }
.notification-dot { position: absolute; top: 6px; right: 6px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--amb-accent); color: #fff; font-size: .65rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; border: 2px solid var(--amb-bg); }

/* ---------- Viešas puslapis (landing) ---------- */
.hero {
    position: relative; overflow: hidden; border-radius: 28px; color: #fff; padding: 4.5rem 2.5rem;
    background:
        radial-gradient(60% 80% at 100% 0%, rgba(255, 107, 74, .55) 0%, transparent 60%),
        radial-gradient(70% 90% at 0% 100%, rgba(155, 92, 255, .8) 0%, transparent 60%),
        linear-gradient(135deg, var(--amb-hero-from) 0%, var(--amb-hero-to) 100%);
}
.hero h1 { color: #fff; font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }
.hero .lead { color: rgba(255, 255, 255, .85); font-size: 1.15rem; max-width: 560px; }
.hero .eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .8rem; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: .8125rem; font-weight: 600; margin-bottom: 1.25rem; }
.hero .btn-light { color: var(--amb-hero-from); }
.hero .btn-outline-light { border-color: rgba(255, 255, 255, .45); }
.hero-visual { position: relative; }
.hero-float {
    background: rgba(255, 255, 255, .96); color: #111827; border-radius: 18px; padding: 1rem 1.1rem; box-shadow: 0 20px 50px rgba(17, 24, 39, .25);
}
.hero-float .muted { color: #6b7280; font-size: .78rem; }
.hero-float + .hero-float { margin-top: 1rem; margin-left: 2.5rem; }
.section { padding: 4.5rem 0 0; }
.section-eyebrow { color: var(--amb-primary); font-weight: 700; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.section-title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.03em; }
.feature-icon { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; background: var(--amb-primary-soft); color: var(--amb-primary); margin-bottom: 1rem; }
.step-num { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--amb-primary); color: #fff; font-weight: 700; font-size: .9rem; }
.cta-band { border-radius: 24px; padding: 2.5rem; background: var(--amb-surface); border: 1px solid var(--amb-border); box-shadow: var(--amb-shadow); }
.accordion { --bs-accordion-bg: var(--amb-surface); --bs-accordion-border-color: var(--amb-border); --bs-accordion-border-radius: var(--amb-radius); --bs-accordion-inner-border-radius: calc(var(--amb-radius) - 1px); --bs-accordion-active-bg: var(--amb-primary-soft); --bs-accordion-active-color: var(--amb-primary); --bs-accordion-btn-focus-box-shadow: 0 0 0 4px rgba(var(--amb-primary-rgb), .15); }
.accordion-button { font-weight: 600; }
.trust-bar { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; color: rgba(255, 255, 255, .85); font-size: .875rem; margin-top: 2rem; }
.trust-bar i { margin-right: .35rem; }

/* ---------- Autentifikacija ---------- */
.auth-wrap { min-height: calc(100vh - 140px); display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 992px) { .auth-wrap { grid-template-columns: 1fr 1fr; } }
.auth-panel {
    display: none; border-radius: 28px; padding: 3rem; color: #fff; flex-direction: column; justify-content: space-between;
    background: radial-gradient(80% 80% at 100% 0%, rgba(255, 107, 74, .5), transparent 60%), linear-gradient(135deg, var(--amb-hero-from), var(--amb-hero-to));
}
@media (min-width: 992px) { .auth-panel { display: flex; } }
.auth-panel h2 { color: #fff; font-size: 2rem; font-weight: 800; letter-spacing: -.03em; }
.auth-panel p, .auth-panel li { color: rgba(255, 255, 255, .85); }
.auth-form { display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.auth-form .inner { width: 100%; max-width: 420px; }
.auth-form h1 { font-size: 1.75rem; }
.role-card { border: 2px solid var(--amb-border); border-radius: var(--amb-radius-lg); padding: 1.5rem; height: 100%; color: var(--amb-text); background: var(--amb-surface); display: block; transition: all .15s ease; }
.role-card:hover { border-color: var(--amb-primary); box-shadow: 0 10px 30px rgba(var(--amb-primary-rgb), .12); transform: translateY(-2px); text-decoration: none; color: var(--amb-text); }
.role-card .feature-icon { width: 56px; height: 56px; font-size: 1.6rem; }

/* ---------- Formos žingsniai (kampanijos kūrimas) ---------- */
.form-steps { position: sticky; top: calc(var(--amb-topbar-h) + 1rem); }
.form-steps a { display: flex; align-items: center; gap: .6rem; padding: .5rem .6rem; border-radius: 9px; color: var(--amb-text-muted); font-weight: 500; font-size: .875rem; }
.form-steps a:hover { background: var(--amb-surface-2); color: var(--amb-text); text-decoration: none; }
.form-steps .n { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--amb-surface-2); border: 1px solid var(--amb-border); font-size: .75rem; font-weight: 700; }
.form-section { scroll-margin-top: calc(var(--amb-topbar-h) + 1rem); }
.form-section .section-head { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.form-section .section-head .n { width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--amb-primary-soft); color: var(--amb-primary); font-weight: 700; font-size: .8rem; }
.form-section .section-head h2 { font-size: 1.05rem; margin: 0; }
.summary-card { position: sticky; top: calc(var(--amb-topbar-h) + 1rem); }
.summary-row { display: flex; justify-content: space-between; align-items: baseline; padding: .45rem 0; font-size: .9rem; }
.summary-row + .summary-row { border-top: 1px dashed var(--amb-border); }
.summary-total { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }

/* ---------- Įvairūs ---------- */
.disclosure-box { border-radius: 12px; background: var(--amb-accent-soft); border: 1px solid rgba(255, 107, 74, .25); padding: .9rem 1rem; font-size: .875rem; display: flex; gap: .75rem; }
.disclosure-box i { color: var(--amb-accent); font-size: 1.15rem; }
.dl-grid { display: grid; grid-template-columns: minmax(140px, 40%) 1fr; gap: .55rem 1rem; font-size: .9rem; margin: 0; }
.dl-grid dt { color: var(--amb-text-muted); font-weight: 500; }
.dl-grid dd { margin: 0; font-weight: 500; }
.kv { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; font-size: .9rem; }
.kv + .kv { border-top: 1px dashed var(--amb-border); }
.kv .k { color: var(--amb-text-muted); }
.kv .v { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.kv.total .k { color: var(--amb-text); font-weight: 700; }
.kv.total .v { font-size: 1.05rem; font-weight: 800; }
.sticky-actions { position: sticky; bottom: 0; background: color-mix(in srgb, var(--amb-surface) 92%, transparent); backdrop-filter: blur(8px); border-top: 1px solid var(--amb-border); padding: .9rem 1.25rem; margin: 1.25rem -1.25rem -1.25rem; border-radius: 0 0 var(--amb-radius) var(--amb-radius); }
pre { background: var(--amb-surface-2); border: 1px solid var(--amb-border); border-radius: 10px; }
code { color: var(--amb-accent); }
hr { border-color: var(--amb-border); opacity: 1; }
.list-group { --bs-list-group-bg: transparent; --bs-list-group-border-color: var(--amb-border); --bs-list-group-action-hover-bg: var(--amb-surface-2); }
.list-group-item-action:hover { text-decoration: none; }
.theme-toggle .bi-sun { display: none; }
[data-bs-theme="dark"] .theme-toggle .bi-sun { display: inline; }
[data-bs-theme="dark"] .theme-toggle .bi-moon-stars { display: none; }
[data-bs-theme="dark"] .form-check-input { border-color: #4b5563; }
[data-bs-theme="dark"] .hero-float { background: rgba(21, 26, 35, .96); color: var(--amb-text); }
[data-bs-theme="dark"] .hero-float .muted { color: var(--amb-text-muted); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
.min-w-0 { min-width: 0; }
a.chip:hover { border-color: var(--amb-primary); color: var(--amb-primary); text-decoration: none; }

/* ---------- Reikalavimų sąrašas, citata ---------- */
.req-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.req-list li { display: flex; gap: .75rem; align-items: flex-start; }
.req-list li > i { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--amb-primary-soft); color: var(--amb-primary); flex-shrink: 0; }
.req-list li > div { padding-top: .3rem; }
.quote-box { background: var(--amb-surface-2); border-left: 3px solid var(--amb-primary); border-radius: .5rem; padding: 1rem 1.25rem; }

/* ---------- Tuščios lentelės ---------- */
.table-empty { text-align: center; color: var(--amb-text-muted); padding: 2.5rem 1rem !important; }
.table-empty > i { display: block; font-size: 1.75rem; margin-bottom: .35rem; opacity: .55; }
.list-group { --bs-list-group-action-color: var(--amb-text); --bs-list-group-action-hover-color: var(--amb-text); --bs-list-group-action-hover-bg: var(--amb-surface-2); }
.stat-card .value { white-space: nowrap; }
@media (max-width: 575.98px) { .stat-card .value { font-size: 1.3rem; } }

/* ---------- Socialinis prisijungimas ---------- */
.btn-social { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: .7rem 1rem; font-weight: 600; border: 1px solid var(--amb-border); background: var(--amb-surface); color: var(--amb-text); }
.btn-social:hover { background: var(--amb-surface-2); border-color: var(--amb-border); color: var(--amb-text); }
.btn-social .bi { font-size: 1.1rem; }
.btn-social-google .bi { color: #ea4335; }
.btn-social-facebook .bi { color: #1877f2; }
.divider-text { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 0; color: var(--amb-text-muted); font-size: .8125rem; }
.divider-text::before, .divider-text::after { content: ""; flex: 1; height: 1px; background: var(--amb-border); }
.resend-box { background: var(--amb-surface-2); border: 1px solid var(--amb-border); border-radius: .75rem; padding: .9rem 1rem; }
.identity-chip { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border: 1px solid var(--amb-border); border-radius: .75rem; background: var(--amb-surface); }
.identity-icon { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--amb-surface-2); font-size: 1.1rem; flex-shrink: 0; }
.identity-google { color: #ea4335; }
.identity-facebook { color: #1877f2; }

/* ---------- Spausdinimas (pajamų ataskaita) ---------- */
@media print {
    .app-sidebar, .app-topbar, .site-header, .site-footer, .d-print-none, .alert .btn-close { display: none !important; }
    .app-shell, .app-main, .app-content { display: block !important; margin: 0 !important; padding: 0 !important; }
    body { background: #fff !important; }
    .card { box-shadow: none !important; break-inside: avoid; }
}

/* Administratoriaus peržiūra vartotojo akimis */
.impersonation-bar { position: sticky; top: 0; z-index: 1080; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: .5rem 1rem; background: #b45309; color: #fff; font-size: .875rem; }

/* Kampanijos formos pasirinkimo kortelės (atranka ir tvirtinimas) */
.review-option { display: block; position: relative; padding: .85rem 1rem .85rem 2.4rem; border: 1px solid var(--bs-border-color); border-radius: .75rem; cursor: pointer; transition: border-color .15s, background .15s; }
.review-option .form-check-input { position: absolute; left: .9rem; top: 1rem; margin: 0; }
.review-option:hover { border-color: var(--bs-primary); }
.review-option:has(.form-check-input:checked) { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .06); }

/* Pranešimų sąrašas: neperskaityti – paryškinti, su tašku ir spalvota juosta; perskaityti – prislopinti */
.unread-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--amb-primary); margin-right: .45rem; vertical-align: middle; }
.notification-row { border-left: 3px solid transparent; }
.notification-row .n-icon { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.1rem; }
.notification-row.is-unread { background: var(--amb-primary-soft); border-left-color: var(--amb-primary); }
.notification-row.is-unread .n-title { font-weight: 700; }
.notification-row.is-unread .n-icon { background: var(--amb-primary); color: #fff; }
.notification-row.is-read .n-title { font-weight: 500; color: var(--amb-text-muted, #6b7280); }
.notification-row.is-read .n-body { color: var(--amb-text-muted, #6b7280); }
.notification-row.is-read .n-icon { background: var(--amb-surface-2); color: var(--amb-text-muted, #6b7280); }
