/* Main Styles */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f4f4;
    margin: 0;
}

/* Public landing page */
.landing-page {
    --landing-ink: #09233f;
    --landing-navy: #0b2d50;
    --landing-navy-deep: #061a30;
    --landing-muted: #607083;
    --landing-paper: #ffffff;
    --landing-soft: #f1f6fb;
    --landing-yellow: #d5a83c;
    --landing-coral: #d96c58;
    --landing-teal: #4a8e9a;
    background: var(--landing-navy-deep);
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
}

.landing-nav-wrap {
    position: relative;
    z-index: 5;
    padding: 22px 5vw 0;
    background: var(--landing-navy-deep);
}

.landing-nav {
    max-width: 1280px;
    margin: 0 auto;
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.landing-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none;
}

.landing-logo:hover,
.landing-login-link:hover,
.landing-nav-links a:hover { color: #b9d6f2; }

.landing-logo-mark {
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--landing-navy);
    border-radius: 50% 50% 45% 45%;
    transform: rotate(-9deg);
}

.landing-nav-links { display: flex; gap: 27px; margin-left: auto; }
.landing-nav-links a,
.landing-login-link {
    color: #c5d3e1;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    font-size: .88rem;
    text-decoration: none;
    transition: color .2s ease;
}

.landing-nav-actions { display: flex; align-items: center; gap: 18px; }
.landing-language-form { margin: 0; }
.landing-language-form select {
    border: 0;
    background: transparent;
    color: #c5d3e1;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
}

.landing-nav-cta,
.landing-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    background: #fff;
    color: var(--landing-navy);
    border-radius: 2px;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.landing-nav-cta:hover,
.landing-primary-btn:hover { color: #fff; background: #164b7c; transform: translateY(-2px); }

.landing-hero {
    max-width: 1280px;
    min-height: 620px;
    margin: 0 auto;
    padding: 78px 5vw 68px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
    align-items: center;
    gap: 42px;
    color: #fff;
}

.landing-hero-copy { position: relative; z-index: 2; }
.landing-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--landing-coral);
    font-family: 'Segoe UI', Tahoma, sans-serif;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.landing-eyebrow span { width: 27px; height: 2px; background: currentColor; display: inline-block; }
.landing-hero h1 { max-width: 700px; margin: 23px 0 22px; font-size: clamp(3.35rem, 6vw, 6.9rem); font-weight: 400; line-height: .94; letter-spacing: -.055em; }
.landing-hero-copy > p { max-width: 500px; margin: 0; color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: 1rem; line-height: 1.7; }
.landing-hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 34px; }
.landing-text-btn { display: inline-flex; align-items: center; gap: 9px; color: #fff; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .87rem; font-weight: 600; text-decoration: none; }
.landing-text-btn:hover { color: #b9d6f2; }
.landing-trust-note { display: flex; align-items: center; gap: 12px; margin-top: 54px; color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .76rem; }
.landing-avatar-stack { display: flex; }
.landing-avatar-stack i { width: 27px; height: 27px; display: inline-flex; align-items: center; justify-content: center; margin-right: -7px; border: 2px solid var(--landing-paper); border-radius: 50%; background: var(--landing-yellow); color: #fff; font-size: .7rem; }
.landing-avatar-stack i:nth-child(2) { background: var(--landing-coral); }
.landing-avatar-stack i:nth-child(3) { background: var(--landing-teal); }

.landing-hero-art { position: relative; min-height: 520px; display: flex; justify-content: center; align-items: center; }
.landing-sun { position: absolute; top: 18px; right: 15%; width: 145px; height: 145px; border-radius: 50%; background: #376994; opacity: .8; }
.landing-arch { position: relative; width: min(100%, 470px); height: 485px; padding: 14px; border: 2px solid #376994; border-bottom: 0; border-radius: 240px 240px 0 0; background: rgba(22,75,124,.42); }
.landing-arch-inner { position: relative; height: 100%; overflow: visible; border: 1px solid #c7d6e5; border-bottom: 0; border-radius: 220px 220px 0 0; background: linear-gradient(160deg, rgba(255,255,255,.96), rgba(220,234,249,.66)); }
.landing-dashboard-card { position: absolute; width: 83%; top: 114px; left: 8%; padding: 26px 25px; background: #fff; border: 1px solid #d9e4ef; box-shadow: 16px 18px 0 rgba(9,35,63,.12); transform: rotate(-3deg); }
.mini-card-topline { display: flex; justify-content: space-between; color: #a1978c; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .6rem; letter-spacing: .09em; font-weight: 700; }
.mini-event-title { margin-top: 28px; color: var(--landing-navy); font-size: 1.8rem; }
.mini-event-title span { color: var(--landing-coral); font-size: 1.2rem; }
.mini-event-date { margin-top: 8px; color: #8d8c86; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .65rem; }
.mini-progress-label { display: flex; justify-content: space-between; margin-top: 32px; color: #77736d; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .7rem; }
.mini-progress-label strong { color: var(--landing-coral); }
.mini-progress { height: 7px; margin-top: 8px; background: #dce7f2; }
.mini-progress span { display: block; width: 78%; height: 100%; background: var(--landing-coral); }
.mini-stats { display: flex; gap: 45px; margin-top: 27px; }
.mini-stats div { display: flex; flex-direction: column; gap: 4px; }
.mini-stats strong { color: var(--landing-navy); font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .84rem; }
.mini-stats small { color: #a1978c; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .65rem; }
.landing-floating-card { position: absolute; display: flex; align-items: center; gap: 11px; width: 205px; padding: 13px; background: #fff; border: 1px solid #d9e4ef; box-shadow: 7px 8px 0 rgba(9,35,63,.1); font-family: 'Segoe UI', Tahoma, sans-serif; }
.landing-floating-card i { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #e2f2ea; color: #4b9d77; }
.landing-floating-card span { display: flex; flex-direction: column; gap: 2px; }
.landing-floating-card strong { color: var(--landing-ink); font-size: .67rem; }
.landing-floating-card small { color: #9a968f; font-size: .62rem; }
.landing-floating-card-top { top: 82px; right: -46px; transform: rotate(4deg); }
.landing-floating-card-bottom { bottom: 52px; left: -42px; transform: rotate(-4deg); }
.landing-floating-card-bottom i { background: #fce6d8; color: var(--landing-coral); }
.landing-art-spark { position: absolute; color: var(--landing-coral); font-size: 2rem; }
.spark-one { top: 74px; left: 15px; }.spark-two { right: 11px; bottom: 72px; color: var(--landing-yellow); }

.landing-proof-strip { max-width: 1280px; margin: 0 auto; padding: 24px 5vw; border-top: 1px solid #376994; border-bottom: 1px solid #376994; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; background: var(--landing-navy); }
.landing-proof-strip > div { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; align-items: center; }
.proof-number { grid-row: span 2; color: var(--landing-coral); font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .66rem; font-weight: 700; }
.landing-proof-strip strong { font-size: 1rem; font-weight: 400; }.landing-proof-strip small { color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .7rem; }

.landing-story-section { max-width: 1280px; margin: 0 auto; padding: 115px 5vw; background: var(--landing-navy-deep); }
.landing-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }.landing-section-heading h2, .landing-team-copy h2 { max-width: 650px; margin: 15px 0 0; font-size: clamp(2.4rem, 4vw, 4.5rem); font-weight: 400; line-height: 1; letter-spacing: -.045em; }
.landing-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 64px; }.landing-feature-grid article { padding: 27px 0; border-top: 1px solid #376994; }.feature-icon { width: 47px; height: 47px; display: flex; align-items: center; justify-content: center; margin-bottom: 45px; border-radius: 50%; font-size: 1.2rem; }.feature-icon-gold { background: #234e77; color: #fff; }.feature-icon-coral { background: #234e77; color: #f2a18e; }.feature-icon-teal { background: #234e77; color: #9fd6d6; }.landing-feature-grid article > span { color: #9fb5ca; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .7rem; }.landing-feature-grid h3 { margin: 12px 0 11px; font-size: 1.45rem; font-weight: 400; }.landing-feature-grid p { max-width: 290px; margin: 0; color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .84rem; line-height: 1.65; }

.landing-team-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; background: var(--landing-navy); }.landing-team-copy { padding: 85px 9vw; }.landing-team-copy p { max-width: 430px; margin: 25px 0; color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; line-height: 1.7; }.landing-outline-btn { display: inline-flex; gap: 13px; align-items: center; color: #fff; border-bottom: 1px solid #fff; padding-bottom: 7px; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .84rem; text-decoration: none; }.landing-outline-btn:hover { color: #b9d6f2; border-color: #b9d6f2; }.landing-team-visual { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #164b7c; }.team-quote { position: relative; z-index: 2; max-width: 340px; color: #fff; font-size: 1.8rem; line-height: 1.2; text-align: center; }.team-quote small { display: block; margin-top: 18px; color: #c5d3e1; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .68rem; }.team-ring { position: absolute; width: 410px; height: 410px; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; }.ring-one { transform: translate(-110px, 110px); }.ring-two { transform: translate(170px, -95px) scale(.65); border-color: rgba(217,108,88,.38); }.team-flower { position: absolute; right: 15%; bottom: 13%; color: #f2a18e; font-size: 2.4rem; }
.landing-footer { display: flex; justify-content: space-between; max-width: 1280px; margin: 0 auto; padding: 25px 5vw; color: #a8bfd3; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .72rem; background: var(--landing-navy-deep); }

@media (max-width: 900px) {
    .landing-nav-links { display: none; }
    .landing-hero { grid-template-columns: 1fr; padding-top: 60px; }
    .landing-hero-art { min-height: 430px; }.landing-arch { height: 410px; max-width: 400px; }.landing-dashboard-card { top: 85px; }
    .landing-floating-card-top { right: -5px; }.landing-floating-card-bottom { left: 0; }
    .landing-proof-strip { grid-template-columns: repeat(2, 1fr); }.landing-story-section { padding-top: 80px; padding-bottom: 80px; }.landing-section-heading { display: block; }.landing-feature-grid { margin-top: 45px; }
}

@media (max-width: 600px) {
    .landing-nav-wrap { padding: 16px 5vw 0; }.landing-nav-actions { gap: 9px; }.landing-login-link { display: none; }.landing-nav-cta { padding: 11px 12px; font-size: .72rem; }
    .landing-hero { min-height: auto; padding: 56px 5vw 45px; }.landing-hero h1 { font-size: clamp(3rem, 15vw, 4.2rem); }.landing-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }.landing-trust-note { margin-top: 35px; }.landing-hero-art { min-height: 355px; margin-top: 25px; }.landing-arch { height: 340px; padding: 9px; }.landing-dashboard-card { top: 62px; padding: 18px 15px; }.mini-event-title { margin-top: 18px; font-size: 1.25rem; }.mini-progress-label { margin-top: 20px; }.mini-stats { gap: 18px; margin-top: 18px; }.landing-floating-card { width: 170px; padding: 9px; }.landing-floating-card-top { top: 45px; right: -12px; }.landing-floating-card-bottom { bottom: 20px; left: -12px; }.landing-sun { width: 100px; height: 100px; }
    .landing-proof-strip { padding-top: 19px; padding-bottom: 19px; }.landing-proof-strip strong { font-size: .84rem; }.landing-proof-strip small { font-size: .62rem; }.landing-story-section { padding-top: 65px; padding-bottom: 65px; }.landing-feature-grid { grid-template-columns: 1fr; gap: 8px; margin-top: 30px; }.landing-feature-grid article { padding: 22px 0; }.feature-icon { margin-bottom: 25px; }.landing-team-section { grid-template-columns: 1fr; }.landing-team-copy { padding: 65px 10vw; }.landing-team-visual { min-height: 310px; }.landing-footer { padding: 20px 5vw; }
}

html, body {
    height: 100%;
}

/* Owner dashboard layout inspired by the provided mockup */
.owner-dashboard-shell {
    display: flex;
    min-height: 100vh;
    background: #f0f0f0;
}

.owner-sidebar {
    width: 280px;
    background: #f7f7f7;
    border-right: 1px solid #d9d9d9;
    display: flex;
    flex-direction: column;
    padding: 18px 14px 12px;
}

.owner-brand-wrap {
    padding: 8px 10px 18px 10px;
}

.owner-brand {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: -0.08em;
    color: #2a2f36;
    display: flex;
    align-items: center;
    gap: 0;
}

.brand-x {
    color: #f59e0b;
}

.brand-kard {
    color: #2a2f36;
}

.owner-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.owner-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 12px;
    border-radius: 12px 0 0 12px;
    color: #4b5563;
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.2s ease;
}

.owner-nav-item:hover,
.owner-nav-item.active {
    background: #e9e9f7;
    color: #1f2937;
    box-shadow: inset 3px 0 0 #f59e0b;
    text-decoration: none;
}

.owner-sidebar-footer {
    margin-top: auto;
    padding-top: 18px;
}

.owner-misc-label {
    color: #9ca3af;
    font-size: 0.72rem;
    letter-spacing: 0.12rem;
    margin: 0 0 12px 12px;
    font-weight: 700;
}

.owner-nav-item.compact {
    margin-left: 0;
}

.owner-main-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #ececec;
}

.owner-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    background: rgba(255,255,255,0.6);
    padding: 0 22px 0 26px;
    border-bottom: 1px solid #d9d9d9;
}

.owner-page-title {
    font-size: 2rem;
    font-weight: 600;
    color: #2a2f36;
}

.owner-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.owner-icon-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #d0d0d0;
    background: #fff;
    border-radius: 10px;
    color: #4b5563;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.owner-lang-box {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    height: 40px;
    padding: 0 10px;
}

.owner-lang-select {
    border: none;
    background: transparent;
    box-shadow: none;
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
}

.language-form {
    margin: 0;
}

.language-select {
    min-width: 90px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 0.8rem;
    padding-right: 2rem;
}

.language-select option {
    color: #1f2937;
}

.owner-content-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 20px 40px;
}

.owner-content-inner {
    width: min(760px, 100%);
    background: rgba(255,255,255,0.6);
    border-radius: 18px;
    padding: 26px 28px 20px;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}

.owner-main-brand {
    font-size: clamp(2.2rem, 3vw, 4rem);
    font-weight: 700;
    letter-spacing: -0.08em;
    color: #2a2f36;
    margin: 0 0 18px;
}

.owner-event-name {
    margin: 0;
    font-size: clamp(1.7rem, 2vw, 2.8rem);
    color: #2a2f36;
    font-weight: 600;
}

.owner-event-subtitle {
    margin: 12px 0 28px;
    color: #5f6b7b;
    font-size: 1.05rem;
}

.owner-budget-select {
    background: #f5f5f5;
    border: 1px solid #d5d5d5;
    border-radius: 12px;
    padding: 18px 22px;
    margin: 0 auto 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.1rem;
    color: #2a2f36;
    cursor: pointer;
    max-width: 620px;
}

.owner-budget-select i {
    font-size: 1.3rem;
    color: #4b5563;
}

.owner-quick-links {
    display: grid;
    gap: 14px;
    max-width: 620px;
    margin: 0 auto;
}

.owner-action-btn {
    display: block;
    background: linear-gradient(180deg, #f89a2a, #ef7c1a);
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    padding: 18px 12px;
    font-size: 1.08rem;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(239,124,26,0.2);
}

.owner-action-btn:hover {
    color: #fff;
    text-decoration: none;
    filter: brightness(1.02);
}

.owner-exit-block {
    margin-top: 28px;
    display: flex;
    justify-content: center;
}

.owner-exit-btn {
    display: inline-block;
    width: min(620px, 100%);
    background: transparent;
    border: 2px solid #ef7c1a;
    color: #ef7c1a;
    text-decoration: none;
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 1.08rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.owner-exit-btn:hover {
    background: #fff;
    text-decoration: none;
    color: #ef7c1a;
}

/* Owner dashboard workspace */
.owner-workspace {
    min-height: calc(100vh - 56px);
    padding: 34px clamp(18px, 4vw, 60px) 56px;
    background: #f3f7fb;
    color: #09233f;
}

.owner-dashboard-hero {
    max-width: 1320px;
    margin: 0 auto 24px;
    padding: 34px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(120deg, #061a30, #0b2d50 68%, #164b7c);
    color: #fff;
    box-shadow: 0 15px 32px rgba(9, 35, 63, .16);
}

.owner-dashboard-hero::after {
    content: '';
    position: absolute;
    width: 260px;
    height: 260px;
    right: 12%;
    top: -170px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}

.owner-kicker,
.owner-panel-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #77b4e4;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.owner-kicker span { width: 24px; height: 2px; background: currentColor; }
.owner-dashboard-hero h1 { position: relative; z-index: 1; margin: 12px 0 4px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; letter-spacing: -.04em; }
.owner-dashboard-hero p { position: relative; z-index: 1; margin: 0; color: #c6d9e9; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .9rem; }
.owner-assigned-event { position: relative; z-index: 1; display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 12px; margin-top: 15px; font-family: 'Segoe UI', Tahoma, sans-serif; }
.owner-assigned-event span { width: 100%; color: #8fc2e8; font-size: .62rem; font-weight: 700; letter-spacing: .13em; }
.owner-assigned-event strong { color: #fff; font-size: 1.02rem; font-weight: 700; }
.owner-assigned-event small { padding: 4px 8px; border: 1px solid rgba(255,255,255,.25); color: #c6d9e9; font-size: .68rem; }
.owner-hero-action { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; padding: 13px 18px; background: #fff; color: #0b2d50; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .8rem; font-weight: 700; text-decoration: none; transition: all .2s ease; }
.owner-hero-action:hover { background: #cfe4f6; color: #09233f; transform: translateY(-2px); }

.owner-dashboard-alert { max-width: 1320px; margin: 0 auto 22px; }
.owner-summary-grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.owner-metric-card { min-height: 122px; padding: 22px; display: flex; align-items: flex-start; gap: 14px; background: #fff; border: 1px solid #dce6ef; box-shadow: 0 8px 20px rgba(9,35,63,.05); }
.owner-metric-icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 10px; background: #e6f0f8; color: #0b2d50; font-size: 1.1rem; }
.owner-metric-card small { display: block; margin-bottom: 9px; color: #748596; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .7rem; font-weight: 600; }
.owner-metric-card strong { display: block; color: #09233f; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: 1.08rem; }
.owner-metric-primary { border-top: 3px solid #0b2d50; }.owner-metric-alert { border-top: 3px solid #d96c58; }.owner-metric-alert .owner-metric-icon { background: #fce9e5; color: #c65a47; }

.owner-main-grid,
.owner-tables-grid { max-width: 1320px; margin: 16px auto 0; display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }
.owner-panel { padding: 25px; background: #fff; border: 1px solid #dce6ef; box-shadow: 0 8px 20px rgba(9,35,63,.05); }
.owner-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.owner-panel-label { color: #7890a5; letter-spacing: .1em; }.owner-panel-heading h2 { max-width: 310px; margin: 9px 0 0; color: #09233f; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 400; line-height: 1.15; }
.owner-progress-panel { background: #fff; }.owner-progress-panel .owner-panel-heading h2 { margin-top: 10px; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: 2.65rem; font-weight: 700; }
.owner-progress-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; background: #e7f3ee; color: #39856a; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .68rem; font-weight: 700; }
.owner-progress-track { height: 11px; margin-top: 27px; overflow: hidden; background: #e1ebf3; }.owner-progress-track span { display: block; height: 100%; background: linear-gradient(90deg, #0b2d50, #4a8e9a); }
.owner-progress-foot { display: flex; justify-content: space-between; gap: 15px; margin-top: 10px; color: #8192a4; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .7rem; }
.owner-mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 29px; padding-top: 20px; border-top: 1px solid #e2eaf1; }.owner-mini-stats div { display: flex; flex-direction: column; gap: 4px; }.owner-mini-stats strong { color: #09233f; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .95rem; }.owner-mini-stats span { color: #8493a2; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .66rem; }
.owner-event-panel { background: #0b2d50; color: #fff; }.owner-event-panel .owner-panel-label { color: #8fc2e8; }.owner-event-panel .owner-panel-heading h2 { color: #fff; }.owner-panel-symbol { color: #8fc2e8; font-size: 1.6rem; }.owner-event-detail { display: flex; align-items: center; gap: 10px; margin-top: 20px; color: #c4d8e9; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .78rem; }.owner-event-detail i { width: 20px; color: #8fc2e8; }.owner-event-detail i.bi-circle-fill { font-size: .45rem; color: #72c99d; }.owner-empty-copy { color: #7a8da0; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .8rem; line-height: 1.6; }.owner-event-panel .owner-empty-copy { color: #c4d8e9; }.owner-panel-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 27px; color: #0b2d50; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .75rem; font-weight: 700; text-decoration: none; }.owner-panel-link:hover { color: #4a8e9a; }.owner-event-panel .owner-panel-link { color: #fff; }.owner-event-panel .owner-panel-link:hover { color: #8fc2e8; }

.owner-action-strip { max-width: 1320px; margin: 16px auto 0; padding: 20px 25px; display: flex; align-items: center; justify-content: space-between; gap: 22px; background: #e4eef7; border: 1px solid #d1e0ed; }.owner-action-strip strong { display: block; margin-top: 7px; color: #09233f; font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; font-weight: 400; }.owner-action-links { display: flex; align-items: center; gap: 8px; }.owner-action-links a { display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: #0b2d50; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .72rem; font-weight: 700; text-decoration: none; }.owner-action-links a:hover { background: #fff; }.owner-action-links i { font-size: 1rem; }

.owner-table-panel { min-height: 270px; }.owner-table-panel .owner-panel-heading { padding-bottom: 17px; border-bottom: 1px solid #e2eaf1; }.owner-table-panel .owner-panel-link { margin-top: 0; white-space: nowrap; }.owner-activity-list { display: flex; flex-direction: column; }.owner-activity-row { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf2f6; }.owner-activity-row:last-child { border-bottom: 0; }.owner-activity-icon { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 50%; background: #e2f2ea; color: #39856a; font-size: .78rem; }.owner-activity-warning { background: #fff0dc; color: #bd7c12; }.owner-activity-row div { min-width: 0; flex: 1; }.owner-activity-row strong, .owner-activity-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.owner-activity-row strong { color: #1e3b56; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .78rem; }.owner-activity-row small { margin-top: 3px; color: #8b9aa8; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .66rem; }.owner-activity-row b { color: #0b2d50; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .72rem; white-space: nowrap; }.owner-outstanding-value { color: #c65a47 !important; }

@media (max-width: 900px) {
    .owner-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .owner-main-grid, .owner-tables-grid { grid-template-columns: 1fr; }
    .owner-action-strip { align-items: flex-start; flex-direction: column; }
    .owner-action-links { flex-wrap: wrap; }
}

@media (max-width: 600px) {
    .owner-workspace { padding: 20px 14px 35px; }
    .owner-dashboard-hero { align-items: flex-start; flex-direction: column; padding: 26px 22px; }
    .owner-dashboard-hero h1 { font-size: 2.3rem; }
    .owner-hero-action { width: 100%; justify-content: center; }
    .owner-summary-grid { grid-template-columns: 1fr; }
    .owner-panel { padding: 20px; }
    .owner-progress-foot { flex-direction: column; gap: 4px; }
    .owner-mini-stats { gap: 10px; }
    .owner-mini-stats strong { font-size: .78rem; }
    .owner-action-strip { padding: 18px; }
    .owner-action-links { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
    .owner-action-links a { padding: 11px 4px; flex-direction: column; text-align: center; }
}

/* Existing dashboard styles below */
.dashboard-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 30px;
}

.dashboard-header h1 {
    margin: 0;
    font-size: 28px;
}

.dashboard-header p {
    margin: 10px 0 0 0;
    opacity: 0.9;
}

/* Stat Cards */
.stat-card {
    border-left: 4px solid #0d6efd;
    padding: 20px;
    margin-bottom: 20px;
    background: white;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.stat-card:hover {
    transform: translateY(-5px);
}

.stat-card h3 {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    color: #0d6efd;
}

.stat-card p {
    margin: 5px 0 0 0;
    color: #6c757d;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.stat-card.success {
    border-left-color: #198754;
}

.stat-card.success h3 {
    color: #198754;
}

.stat-card.warning {
    border-left-color: #ffc107;
}

.stat-card.warning h3 {
    color: #ffc107;
}

.stat-card.danger {
    border-left-color: #dc3545;
}

.stat-card.danger h3 {
    color: #dc3545;
}

/* Card Styles */
.card {
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border: none;
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    font-weight: 600;
}

/* Table Styles */
.table {
    margin-bottom: 0;
}

.table th {
    background-color: #f8f9fa;
    font-weight: 600;
}

/* Form Styles */
.form-control:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Button Styles */
.btn-primary {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.btn-primary:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

/* Sidebar Styles (for admin dashboard) */
.sidebar {
    background-color: #343a40;
    min-height: 100vh;
    color: white;
}

.sidebar .nav-link {
    color: rgba(255,255,255,0.8);
    padding: 12px 20px;
}

.sidebar .nav-link:hover {
    color: white;
    background-color: rgba(255,255,255,0.1);
}

.sidebar .nav-link.active {
    color: white;
    background-color: #0d6efd;
}

/* Progress Bar */
.progress {
    height: 25px;
    background-color: #e9ecef;
    border-radius: 4px;
}

.progress-bar {
    background-color: #0d6efd;
    font-weight: 600;
}

/* Alert Styles */
.alert {
    margin-bottom: 20px;
}

/* Loading Spinner */
.spinner-border {
    margin: 20px auto;
    display: block;
}

/* Event Card */
.event-card {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    background: white;
    transition: box-shadow 0.2s;
}

.event-card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.event-card .event-type {
    text-transform: uppercase;
    font-size: 12px;
    color: #6c757d;
    font-weight: 600;
}

.event-card .event-name {
    font-size: 20px;
    font-weight: 700;
    margin: 10px 0;
}

.event-card .event-date {
    color: #6c757d;
    font-size: 14px;
}

.event-card .progress-section {
    margin-top: 15px;
}

/* Login Page */
.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 5vw;
    background: #061a30;
    color: #09233f;
}

.login-shell {
    width: min(1060px, 100%);
    min-height: 0;
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.login-welcome-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 450px;
    padding: 24px 42px;
    overflow: hidden;
    background: #0b2d50;
    color: #fff;
}

.login-welcome-panel::before,
.login-welcome-panel::after {
    content: '';
    position: absolute;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}

.login-welcome-panel::before { width: 430px; height: 430px; right: -220px; top: 125px; }
.login-welcome-panel::after { width: 280px; height: 280px; left: -155px; bottom: -120px; border-color: rgba(143,190,229,.28); }

.login-brand {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
}

.login-brand:hover { color: #d8eafa; }
.login-brand-mark { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: #0b2d50; transform: rotate(-9deg); }
.login-welcome-copy { position: relative; z-index: 1; max-width: 410px; margin-top: auto; padding: 25px 0 10px; }
.login-eyebrow { display: flex; align-items: center; gap: 8px; color: #9fc8eb; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .66rem; font-weight: 700; letter-spacing: .14em; }
.login-eyebrow span { width: 24px; height: 2px; display: inline-block; background: currentColor; }
.login-welcome-copy h1 { margin: 19px 0 18px; color: #fff; font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.login-welcome-copy p { max-width: 350px; margin: 0; color: #c5d8e9; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .92rem; line-height: 1.7; }
.login-welcome-art { position: relative; z-index: 1; height: 120px; color: #9fc8eb; }
.login-welcome-art span { position: absolute; width: 110px; height: 110px; left: 70px; top: 0; border: 1px solid rgba(159,200,235,.45); border-radius: 50%; }
.login-welcome-art i:first-child { position: absolute; left: 37px; top: 18px; font-size: 1.5rem; color: #fff; }
.login-welcome-art i:last-child { position: absolute; left: 135px; top: 55px; font-size: 2rem; color: #d96c58; }

.login-form-panel { display: flex; flex-direction: column; justify-content: center; padding: 28px clamp(30px, 6vw, 82px); background: #fff; }
.login-form-inner { width: min(390px, 100%); margin: 0 auto; }
.login-form-heading { display: flex; align-items: center; gap: 17px; }
.login-form-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 50%; background: #e5eff8; color: #0b2d50; font-size: 1.3rem; }
.login-form-heading h2 { margin: 8px 0 0; color: #09233f; font-family: Georgia, 'Times New Roman', serif; font-size: 2.6rem; font-weight: 400; }
.login-form-subtitle { margin: 13px 0 16px; color: #68798a; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .9rem; }
.login-language-label { display: block; margin-bottom: 7px; color: #607083; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .72rem; font-weight: 700; }
.login-language-select { margin-bottom: 13px; }
.login-form .form-label { color: #314a63; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .78rem; font-weight: 600; }
.login-form .form-control { min-height: 43px; border: 1px solid #cddae7; border-radius: 2px; color: #09233f; font-family: 'Segoe UI', Tahoma, sans-serif; }
.login-form .form-control:focus, .login-language-select:focus { border-color: #0b2d50; box-shadow: 0 0 0 3px rgba(11,45,80,.12); }
.login-form .form-check-label { color: #68798a; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .78rem; }
.login-form .form-check-input:checked { background-color: #0b2d50; border-color: #0b2d50; }
.login-submit { width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 5px; border: 0; border-radius: 2px; background: #0b2d50; color: #fff; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .88rem; font-weight: 700; transition: background .2s ease, transform .2s ease; }
.login-submit:hover { background: #164b7c; transform: translateY(-2px); }
.login-alert { border: 0; border-left: 3px solid #d96c58; border-radius: 0; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .78rem; }
.login-help { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .72rem; }
.login-help a { color: #0b2d50; font-weight: 700; text-decoration: none; }.login-help a:hover { color: #d96c58; }.login-help span { color: #8192a4; }.login-help i { color: #4a8e9a; }
.login-copyright { display: block; width: min(390px, 100%); margin: 18px auto 0; color: #8a9bab; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: .68rem; text-align: center;
}

/* Badge Styles */
.badge {
    font-weight: 500;
    padding: 0.5em 0.8em;
}

/* Responsive */
@media (max-width: 768px) {
    .login-container {
        padding: 18px;
        align-items: flex-start;
    }

    .login-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .login-welcome-panel {
        min-height: 330px;
        padding: 28px 28px 18px;
    }

    .login-welcome-copy {
        padding-top: 48px;
    }

    .login-welcome-copy h1 {
        font-size: 2.7rem;
    }

    .login-welcome-art {
        display: none;
    }

    .login-form-panel {
        padding: 42px 28px 30px;
    }

    .login-copyright {
        margin-top: 30px;
    }

    .dashboard-header {
        padding: 20px;
    }
    
    .dashboard-header h1 {
        font-size: 24px;
    }
    
    .stat-card {
        padding: 15px;
    }
    
    .stat-card h3 {
        font-size: 24px;
    }
}

/* Status Colors */
.status-active {
    color: #198754;
}

.status-suspended {
    color: #dc3545;
}

.status-draft {
    color: #6c757d;
}

.status-completed {
    color: #198754;
}

/* Navigation */
.navbar-brand {
    font-weight: 700;
    font-size: 18px;
}

/* Search Form */
.search-form {
    margin-bottom: 20px;
}

/* Modal */
.modal-header {
    background-color: #f8f9fa;
}

/* Pagination */
.pagination {
    margin-bottom: 0;
}

/* Contributor Card */
.contributor-card {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    background: white;
}

.contributor-card .contributor-name {
    font-weight: 600;
    font-size: 16px;
}

.contributor-card .contributor-details {
    color: #6c757d;
    font-size: 14px;
}

/* Payment Method Icons */
.payment-method-icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

/* Print Styles */
@media print {
    .navbar,
    .btn,
    .no-print {
        display: none !important;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #000;
    }
}
