/* === Inter Variable Font (Normal) === */
/* === Helvetica Neue Web (full family) === */
/* NOTE: keep files in /public/assets/fonts/ and these urls as ../fonts/... */

/* UltraLight (100) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-UltraLight.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-UltraLightItalic.woff2') format('woff2');font-weight:100;font-style:italic;font-display:swap}

/* Thin (200) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Thin.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-ThinItalic.woff2') format('woff2');font-weight:200;font-style:italic;font-display:swap}

/* Light (300) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}

/* Regular/Roman (400) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Roman.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

/* Medium (500) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}

/* Bold (700) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}

/* Heavy (800) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Heavy.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-HeavyItalic.woff2') format('woff2');font-weight:800;font-style:italic;font-display:swap}

/* Black (900) */
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue Web';src:url('../fonts/HelveticaNeueCyr-BlackItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}

/* === Helvetica Neue Web Condensed (for headings, etc.) === */
@font-face{font-family:'Helvetica Neue Web Condensed';src:url('../fonts/HelveticaNeueBoldCondensed.woff2') format('woff2');font-weight:700;font-style:normal;font-stretch:condensed;font-display:swap}
@font-face{font-family:'Helvetica Neue Web Condensed';src:url('../fonts/HelveticaNeueBlackCondensed.woff2') format('woff2');font-weight:900;font-style:normal;font-stretch:condensed;font-display:swap}

:root{
    --bg:#0b0b0c; --card:#121214; --ink:#f5f5f7; --muted:#a1a1a6; --line:#1f1f21;
    --accent:#0071e3; --ok:#30d158; --warn:#ffd60a; --danger:#ff3b30;

    /* Prefer native SF on Apple, then our shipped Helvetica Neue Web, then system fallbacks */
    --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
    "Helvetica Neue Web", "Helvetica Neue", Arial, sans-serif;
}

html, body {
    font-family: var(--font);
    font-synthesis: none;               /* don’t fake bold/italic */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


*{box-sizing:border-box} html,body{height:100%} body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0 0 3px;font-weight:700;letter-spacing:-0.02em}
a{color:var(--ink);text-decoration:none} button{font:inherit}

.auth{display:grid;place-items:center;padding:32px;min-height:100vh}
.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);padding:32px;border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:slideIn .25s ease-out}
@keyframes slideIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.logo{letter-spacing:.2em;text-transform:uppercase;font-size:14px;color:var(--muted);margin-bottom:8px}
.muted{color:var(--muted);font-size:13px}

.auth-card h2{font-size:28px;margin:0 0 12px}
.auth-card label{display:block;margin:14px 0 6px;color:var(--muted)}
.auth-card input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0d0d0f;color:var(--ink);outline:none}
.keep-dark, .keep-dark:focus{background:#0d0d0f !important;color:var(--ink)}
input.keep-dark:-webkit-autofill,
input.keep-dark:-webkit-autofill:hover,
input.keep-dark:-webkit-autofill:focus{ -webkit-text-fill-color: var(--ink); transition: background-color 5000s ease-in-out 0s; box-shadow: inset 0 0 0px 1000px #0d0d0f; }
.login-form{display:flex;flex-direction:column;gap:2px}
.login-bottom{display:flex;flex-direction:column;align-items:center;margin-top:20px}
.under-btn{margin-top:10px; margin-bottom: 0;color:var(--muted)}
.apple-error{color:#f45b57}

.btn-primary,.btn-outline,.btn-text{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid transparent;padding:5px 15px;cursor:pointer; margin-top: 10px;}
.btn-primary{background:white; font-weight: 400; font-size: 13px; border-color: whitesmoke;color:black}.btn-primary:hover{filter:brightness(.92)}
.btn-outline{border-color:#2c2c2e;color:var(--ink);background:transparent}
.btn-outline.small{padding:6px 10px;font-size:13px}
.btn-outline:hover{background:#161618}
.btn-text{color:var(--muted);background:transparent}
.btn-text.gray{color:var(--muted)}

.topbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;height:54px;z-index:10}
.topbar-bg{position:absolute;inset:0;background:rgba(11,11,12,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);z-index:-1}
.brand{display:flex;align-items:center;gap:10px;padding:0 22px}.brand .mark{width:10px;height:10px;border-radius:2px;background:var(--ink)}
.actions{display:flex;align-items:center;gap:18px;padding:0 22px}.account-name{font-weight:500;color:#fff;font-size:14px; margin-top: 11px;}

.content{padding:48px 28px 36px;max-width:1200px;margin:0 auto}
.site-minheight{min-height:calc(100vh + 140px)} .site-offset{padding-top:30px}

.hero{margin:8px 0 50px}
.hero .sub.muted{color:var(--muted);font-weight:500;font-size:16px} /* slightly bigger subtitle as requested */

:root {
    --icon-warn-color: #D4A017; /* adjust here if needed */
}
.icon-warn {
    vertical-align: text-bottom;
    margin-right: 4px;
    color: var(--icon-warn-color);
}

.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding: 10px 24px 24px 24px;;margin-top:30px}
.card h2{font-size:22px;margin-bottom:6px}
.card-full{grid-column:1 / -1}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.row-actions{display:flex;gap:8px}

.banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0f0f12;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:60px 0}

.divider-line.full{height:1px;background:var(--line);margin-top:8px}
.dark-slab{background:#0e0e11;border:1px solid var(--line);border-radius:16px;margin-top:10px;padding:0}

.file-list{display:flex;flex-direction:column;gap:0;margin-top:0}
.footer{border-top:1px solid var(--line);margin-top:40px}
.footer-inner{max-width:1200px;margin:0 auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center}
.left,.right{font-size:12px}

.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease-out}
.modal.open{opacity:1;pointer-events:auto}
.sheet{width:100%;max-width:560px;background:rgba(22,22,24,.88);border:1px solid #2a2a2d;backdrop-filter: blur(22px) saturate(180%);-webkit-backdrop-filter: blur(22px) saturate(180%);border-radius:18px;transform:scale(.97);opacity:.98;transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.modal.open .sheet{transform:scale(1)}
.sheet-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;min-height:48px} /* vertical center title */
.sheet-body{padding:18px}
.sheet-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.input, textarea, select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0d0d0f;color:var(--ink);outline:none;font-family:var(--font);margin-bottom:10px} /* extra spacing after fields */
input::placeholder, textarea::placeholder{color:var(--muted)}
textarea{min-height:90px;resize:vertical}

.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%) translateY(20px);background:#0b2b16;border:1px solid #224a2a;color:#b4f1c2;padding:10px 14px;border-radius:12px;opacity:0;transition:transform .25s ease,opacity .25s ease}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}


/* Meetings-specific tuning */
.meetings .updates-carousel {
    /* make room so arrows don't overlap the cards */
    padding: 0 56px;
    position: relative;
}
.meetings .updates-carousel .viewport {
    position: relative;
    overflow: hidden;
}

/* Arrows: stay outside the track, never overlap cards */
.meetings .updates-carousel .nav {
    z-index: 3;            /* above gradient */
}
.meetings .updates-carousel .nav.prev { left: 8px; }
.meetings .updates-carousel .nav.next { right: 8px; }

/* Edge gradients: extend to container edges, sit behind arrows */
.meetings .updates-carousel .edge {
    width: 56px;           /* match the padding above */
    z-index: 2;            /* below arrows, above track */
    pointer-events: none;
}
.meetings .updates-carousel .edge.left {
    left: 0;
    background: linear-gradient(90deg, rgba(11,11,12,1) 0%, rgba(11,11,12,0) 100%);
}
.meetings .updates-carousel .edge.right {
    right: 0;
    background: linear-gradient(270deg, rgba(11,11,12,1) 0%, rgba(11,11,12,0) 100%);
}

/* Focus treatment: active card at 1.0, neighbors slightly smaller */
.meetings .update-card {
    transform: scale(.96);
    opacity: .75;
    transition: transform .25s ease, opacity .25s ease;
    will-change: transform, opacity;
}
.meetings .update-card.is-active {
    transform: scale(1);
    opacity: 1;
}

/* “Add to calendar” spacing + color */
.meetings .update-actions a {
    margin-top: 6px;
    color: var(--muted);
}

#calMeetings .cal-h1.admin .cal-add {
    font-weight: 400 !important;
    font-size: 13px !important;
}

@media (max-width: 850px) {
    .banner {
        margin: 30px 0;
    }

    .hero {
        margin: 8px 0 30px;
    }

    .btn-primary,.btn-outline,.btn-text{margin-top: 0px; font-size: 13px}

}


/* Force line breaks inside the event modal description, winning over globals */
#calEventModal pre#cemDesc {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    word-break: break-word;
    display: block !important;
}