:root {
    --reechilibru-primary: #075ba6;
    --reechilibru-primary-deep: #092f57;
    --reechilibru-primary-bright: #0877d1;
    --reechilibru-primary-soft: #eaf6fe;
    --reechilibru-secondary: #78bee9;
    --reechilibru-accent: #ffd54f;
    --reechilibru-accent-soft: #fff7d8;
    --reechilibru-success: #11784e;
    --reechilibru-success-soft: #e8f7ef;
    --reechilibru-warning: #945006;
    --reechilibru-warning-soft: #fff1df;
    --reechilibru-danger: #ba3a3a;
    --reechilibru-danger-soft: #fceaea;
    --reechilibru-bg: #f1f7fb;
    --reechilibru-surface: #ffffff;
    --reechilibru-text: #163b61;
    --reechilibru-muted: #526579;
    --reechilibru-border: #d5e5f0;
    --reechilibru-radius-sm: 13px;
    --reechilibru-radius: 19px;
    --reechilibru-radius-lg: 25px;
    --reechilibru-shadow-sm: 0 8px 24px rgba(9,47,87,.055);
    --reechilibru-shadow: 0 18px 48px rgba(9,47,87,.095);
}

body.reechilibru-standalone {
    margin: 0;
    min-width: 320px;
    background: var(--reechilibru-bg);
    color: var(--reechilibru-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.reechilibru-standalone *,
.reechilibru-standalone *::before,
.reechilibru-standalone *::after { box-sizing: border-box; }

.reechilibru-standalone a { color: var(--reechilibru-primary); text-underline-offset: 3px; }
.reechilibru-standalone a:hover { color: var(--reechilibru-primary-deep); }
.reechilibru-skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; border-radius:10px; background:var(--reechilibru-primary-deep); color:#fff !important; transform:translateY(-160%); }
.reechilibru-skip-link:focus { transform:translateY(0); }
.reechilibru-standalone a:focus-visible,
.reechilibru-standalone button:focus-visible,
.reechilibru-standalone input:focus-visible,
.reechilibru-standalone select:focus-visible,
.reechilibru-standalone textarea:focus-visible {
    outline: 3px solid rgba(255, 212, 71, .85);
    outline-offset: 2px;
}

/* Authentication */
.reechilibru-auth-root {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    place-items: center;
    padding: 32px 20px;
    background:
        radial-gradient(circle at 12% 15%, rgba(255, 212, 71, .22), transparent 25%),
        radial-gradient(circle at 88% 85%, rgba(124, 188, 229, .26), transparent 30%),
        linear-gradient(145deg, #f8fbfd 0%, #eef7fc 100%);
}

.reechilibru-auth-panel { width: 100%; max-width: 470px; min-width: 0; }
.reechilibru-auth-brand { text-align: center; margin-bottom: 18px; }
.reechilibru-auth-logo { width: 190px; height: auto; max-width: 70%; max-height:220px; object-fit:contain; }
.reechilibru-auth-card {
    padding: 34px;
    border: 1px solid var(--reechilibru-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, .98);
    box-shadow: var(--reechilibru-shadow);
}
.reechilibru-auth-card h1 {
    margin: 0 0 8px;
    color: var(--reechilibru-primary-deep);
    font-size: clamp(1.7rem, 5vw, 2.2rem);
    line-height: 1.15;
    text-align: center;
}
.reechilibru-auth-subtitle {
    margin: 0 auto 24px;
    max-width: 360px;
    color: var(--reechilibru-muted);
    text-align: center;
}
.reechilibru-auth-foot {
    margin: 18px 0 0;
    color: var(--reechilibru-muted);
    font-size: .78rem;
    text-align: center;
}
.reechilibru-form { display: grid; gap: 18px; }
.reechilibru-form-field { display: grid; gap: 7px; }
.reechilibru-form-field label {
    color: var(--reechilibru-primary-deep);
    font-size: .9rem;
    font-weight: 700;
}
.reechilibru-form-field input {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #c7d9e6;
    border-radius: 12px;
    background: #fff;
    color: var(--reechilibru-text);
    font: inherit;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.reechilibru-form-field input:hover { border-color: #9fbdd2; }
.reechilibru-form-field input:focus {
    border-color: var(--reechilibru-primary);
    box-shadow: 0 0 0 3px rgba(13, 79, 137, .10);
}
.reechilibru-form-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: .88rem;
}
.reechilibru-checkbox { display: inline-flex; align-items: center; gap: 7px; color: var(--reechilibru-muted); }
.reechilibru-checkbox input { width: 18px; height: 18px; accent-color: var(--reechilibru-primary); }
.reechilibru-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 18px;
    border: 1px solid var(--reechilibru-primary);
    border-radius: 12px;
    background: var(--reechilibru-primary);
    color: #fff !important;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.reechilibru-button:hover { background: var(--reechilibru-primary-deep); box-shadow: 0 8px 20px rgba(13, 79, 137, .16); }
.reechilibru-button:active { transform: translateY(1px); }
.reechilibru-button:disabled { cursor: wait; opacity: .78; }
.reechilibru-button--full { width: 100%; }
.reechilibru-button--secondary { background: #fff; color: var(--reechilibru-primary) !important; }
.reechilibru-button--secondary:hover { background: var(--reechilibru-primary-soft); }
.reechilibru-spinner {
    display: none;
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255,255,255,.5);
    border-top-color: #fff;
    border-radius: 50%;
    animation: reechilibru-spin .7s linear infinite;
}
.reechilibru-button.is-loading .reechilibru-spinner { display: inline-block; }
@keyframes reechilibru-spin { to { transform: rotate(360deg); } }
.reechilibru-form-status { min-height: 1px; margin: -10px 0 0; color: var(--reechilibru-muted); font-size: .85rem; text-align: center; }
.reechilibru-alert-stack { display: grid; gap: 9px; margin: 0 0 20px; }
.reechilibru-alert { padding: 11px 13px; border-radius: 10px; font-size: .9rem; }
.reechilibru-alert--error { background: var(--reechilibru-danger-soft); color: #8e2c2c; }
.reechilibru-alert--success { background: var(--reechilibru-success-soft); color: #166d49; }
.reechilibru-alert--info { background: var(--reechilibru-primary-soft); color: var(--reechilibru-primary-deep); }
.reechilibru-auth-secondary { margin: 20px 0 0; text-align: center; }

/* Participant application shell */
.reechilibru-app-root { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0, 1fr); }
.reechilibru-app-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 26px 20px;
    border-right: 1px solid var(--reechilibru-border);
    background: linear-gradient(180deg,#fff 0%,#fbfdff 78%,#f8fbfd 100%);
}
.reechilibru-app-brand { display: block; padding: 0 8px 28px; text-align:center; }
.reechilibru-app-brand img { width: 184px; max-width: 100%; max-height:190px; height: auto; object-fit:contain; }
.reechilibru-app-nav { display: grid; gap: 7px; }
.reechilibru-app-nav-item {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    border-radius: 13px;
    color: var(--reechilibru-text) !important;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    transition:background .16s ease,color .16s ease,transform .16s ease;
}
.reechilibru-app-nav-item:hover { background: var(--reechilibru-primary-soft); transform:translateX(2px); }
.reechilibru-app-nav-item.is-active { background: var(--reechilibru-accent); color: var(--reechilibru-primary-deep) !important; box-shadow:inset 0 0 0 1px rgba(190,130,0,.08); }
.reechilibru-nav-icon {
    width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(13,79,137,.08);
    color: var(--reechilibru-primary);
}
.reechilibru-nav-icon svg,.reechilibru-info-icon svg,.reechilibru-next-icon svg,.reechilibru-context-icon svg,.reechilibru-task-icon svg,.reechilibru-progress-metric-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.reechilibru-app-nav-item.is-active .reechilibru-nav-icon { background: rgba(255,255,255,.6); }
.reechilibru-app-sidebar-note {
    margin-top: auto;
    padding: 18px 14px;
    border:1px solid #e1edf5;
    border-radius: 17px;
    background: linear-gradient(145deg, var(--reechilibru-primary-soft), #fff9df);
    color: var(--reechilibru-muted);
    font-size: .82rem;
    font-weight: 700;
    text-align: center;
}
.reechilibru-app-main { min-width: 0; }
.reechilibru-app-header {
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px clamp(24px, 4vw, 56px);
    border-bottom: 1px solid var(--reechilibru-border);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(12px);
}
.reechilibru-app-overline,
.reechilibru-eyebrow { margin: 0 0 4px; color: var(--reechilibru-primary); font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.reechilibru-app-header h1 { margin: 0; color: var(--reechilibru-primary-deep); font-size: clamp(1.65rem, 2.8vw, 2.25rem); font-weight:800; letter-spacing:-.025em; line-height: 1.12; }
.reechilibru-user-menu { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.reechilibru-avatar {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--reechilibru-primary);
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
}
.reechilibru-user-greeting { color: var(--reechilibru-text); font-size: .9rem; font-weight: 700; }
.reechilibru-text-link { font-size: .86rem; font-weight: 750; }
.reechilibru-app-content { width: min(100%, 1260px); margin: 0 auto; padding: 38px clamp(24px, 4vw, 56px) 58px; }
.reechilibru-welcome-card,
.reechilibru-empty-card,
.reechilibru-profile-card,
.reechilibru-info-card {
    border: 1px solid var(--reechilibru-border);
    background: #fff;
    box-shadow: var(--reechilibru-shadow-sm);
}
.reechilibru-welcome-card {
    position: relative;
    overflow: hidden;
    min-height:184px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding: clamp(28px, 4vw, 44px);
    border-radius: var(--reechilibru-radius-lg);
    background: linear-gradient(118deg, #eaf6fe 0%, #f8fcff 62%, #fff6cb 100%);
}
.reechilibru-welcome-card::after {
    content: "";
    position: absolute;
    right: -38px;
    bottom: -58px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(255,213,79,.32);
}
.reechilibru-welcome-card::before { content:""; position:absolute; right:54px; bottom:62px; width:92px; height:12px; border-radius:999px; background:var(--reechilibru-primary); box-shadow:22px 18px 0 -2px var(--reechilibru-primary),-9px 36px 0 -3px var(--reechilibru-primary); transform:rotate(-8deg); opacity:.94; }
.reechilibru-welcome-card h2,
.reechilibru-empty-card h2,
.reechilibru-profile-card h2 { margin: 0 0 10px; color: var(--reechilibru-primary-deep); font-size: clamp(1.5rem, 3vw, 2.1rem); }
.reechilibru-welcome-card > p:last-child,
.reechilibru-empty-card > p:last-child,
.reechilibru-section-intro > p:last-child { max-width: 680px; margin: 0; color: var(--reechilibru-muted); }
.reechilibru-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.reechilibru-info-card { position: relative; overflow: hidden; min-height: 190px; padding: 24px; border-radius: 19px; transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease; }
.reechilibru-info-card:hover { transform:translateY(-2px); border-color:#c1dbea; box-shadow:0 14px 32px rgba(9,47,87,.09); }
.reechilibru-info-card--tasks { background:linear-gradient(145deg,#fff,#fff9e7); }
.reechilibru-info-card--progress { background:linear-gradient(145deg,#fff,#fff1df); }
.reechilibru-info-card--completed { background:linear-gradient(145deg,#fff,#ebf9f2); }
.reechilibru-info-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.reechilibru-info-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:15px; background:#edf7fe; color:var(--reechilibru-primary); }
.reechilibru-info-card--tasks .reechilibru-info-icon { background:#fff0ba; color:#9b6500; }
.reechilibru-info-card--progress .reechilibru-info-icon { background:#ffead4; color:var(--reechilibru-warning); }
.reechilibru-info-card--completed .reechilibru-info-icon { background:#daf4e7; color:var(--reechilibru-success); }
.reechilibru-card-accent { width: 46px; height: 6px; margin-bottom: 22px; border-radius: 999px; background: var(--reechilibru-primary); }
.reechilibru-info-card--tasks .reechilibru-card-accent { background: var(--reechilibru-accent); }
.reechilibru-info-card--progress .reechilibru-card-accent { background: var(--reechilibru-success); }
.reechilibru-info-card h3 { margin: 0 0 9px; color: var(--reechilibru-primary-deep); font-size: 1.08rem; }
.reechilibru-info-card p { margin: 0 0 14px; color: var(--reechilibru-muted); font-size: .93rem; }
.reechilibru-info-card > a:not(.reechilibru-button) { display:inline-flex; margin-top:auto; font-weight:750; text-decoration:none; }
.reechilibru-info-card--next { grid-column:span 2; min-height:190px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; background:linear-gradient(120deg,var(--reechilibru-primary-deep),var(--reechilibru-primary)); color:#fff; border-color:transparent; }
.reechilibru-info-card--next h3,.reechilibru-info-card--next .reechilibru-eyebrow { color:#fff; }
.reechilibru-info-card--next p { color:rgba(255,255,255,.78); }
.reechilibru-info-card--next .reechilibru-button { background:#fff; border-color:#fff; color:var(--reechilibru-primary-deep) !important; box-shadow:none; }
.reechilibru-info-card--next .reechilibru-button:hover { background:var(--reechilibru-accent); border-color:var(--reechilibru-accent); color:var(--reechilibru-primary-deep) !important; }
.reechilibru-next-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:17px; background:rgba(255,255,255,.12); color:#fff; }
.reechilibru-empty-card { max-width: 760px; margin: 28px auto; padding: clamp(30px, 6vw, 58px); border-radius: 22px; text-align: center; }
.reechilibru-empty-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 20px; background: var(--reechilibru-primary-soft); color: var(--reechilibru-primary); font-size: 1.65rem; font-weight: 800; }
.reechilibru-empty-card .reechilibru-eyebrow { text-align: center; }
.reechilibru-profile-card { max-width: 920px; margin: 0 auto; padding: clamp(24px, 4vw, 38px); border-radius: 23px; }
.reechilibru-profile-hero { display:flex; align-items:center; gap:18px; padding-bottom:22px; border-bottom:1px solid var(--reechilibru-border); }
.reechilibru-profile-avatar { display:grid; place-items:center; flex:0 0 68px; width:68px; height:68px; border-radius:20px; background:linear-gradient(145deg,#dff1ff,#fff2bd); color:var(--reechilibru-primary); font-size:1.25rem; font-weight:850; }
.reechilibru-avatar--photo { overflow:hidden; }
.reechilibru-avatar--photo img { display:block;width:100%;height:100%;object-fit:cover; }
.reechilibru-profile-photo-controls { display:grid;gap:12px;margin-block:18px; }
.reechilibru-profile-photo-controls form { display:flex;flex-wrap:wrap;align-items:center;gap:12px; }
.reechilibru-photo-picker { display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0; }
.reechilibru-photo-picker-input { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.reechilibru-photo-picker-input:focus-visible + .reechilibru-photo-picker-button { outline:3px solid #1672c5;outline-offset:3px; }
.reechilibru-photo-picker-button { cursor:pointer; }
.reechilibru-photo-picker-filename { color:var(--reechilibru-muted);overflow-wrap:anywhere;max-width:100%; }
.reechilibru-file-picker { display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0; }
.reechilibru-file-picker-input { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.reechilibru-file-picker-input:focus-visible + .reechilibru-file-picker-button { outline:3px solid #1672c5;outline-offset:3px; }
.reechilibru-file-picker-button { cursor:pointer; }
.reechilibru-file-picker-filename { overflow-wrap:anywhere;max-width:100%;color:var(--reechilibru-muted); }
.reechilibru-file-picker-clear { background:none;border:0;color:var(--reechilibru-primary);text-decoration:underline;min-height:40px;cursor:pointer; }
.reechilibru-profile-status { margin-left:auto; padding:6px 11px; border-radius:999px; background:var(--reechilibru-success-soft); color:#167449; font-size:.78rem; font-weight:800; }
.reechilibru-profile-list { margin: 28px 0 0; border-top: 1px solid var(--reechilibru-border); }
.reechilibru-profile-list > div { display: grid; grid-template-columns: minmax(130px, .55fr) 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--reechilibru-border); }
.reechilibru-profile-list dt { color: var(--reechilibru-muted); font-size: .88rem; font-weight: 700; }
.reechilibru-profile-list dd { margin: 0; overflow-wrap: anywhere; color: var(--reechilibru-primary-deep); font-weight: 700; }
.reechilibru-profile-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.reechilibru-mobile-nav { display: none; }

@media (max-width: 1200px) {
    .reechilibru-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .reechilibru-progress-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .reechilibru-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .reechilibru-info-card { min-height: 0; }
    .reechilibru-user-greeting { display: none; }
}

@media (max-width: 760px) {
    .reechilibru-app-root { display: block; min-height: 100vh; padding-bottom: 78px; }
    .reechilibru-app-sidebar { display: none; }
    .reechilibru-app-header { min-height: 72px; padding: 12px 18px; }
    .reechilibru-app-header h1 { font-size: 1.4rem; }
    .reechilibru-app-overline { display: none; }
    .reechilibru-app-content { padding: 22px 16px 34px; }
    .reechilibru-text-link { display: none; }
    .reechilibru-mobile-nav {
        position: fixed;
        z-index: 20;
        left: 0;
        right: 0;
        bottom: 0;
        display: block;
        border-top: 1px solid var(--reechilibru-border);
        background: rgba(255,255,255,.97);
        box-shadow: 0 -5px 22px rgba(20,65,100,.08);
    }
    .reechilibru-mobile-nav-items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .reechilibru-mobile-nav-item {
        display: flex;
        min-width: 0;
        min-height: 68px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 7px 2px;
        color: var(--reechilibru-muted) !important;
        font-size: .68rem;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
    }
    .reechilibru-mobile-nav-item .reechilibru-nav-icon { width: 27px; height: 27px; background: transparent; }
    .reechilibru-mobile-nav-item.is-active { color: var(--reechilibru-primary) !important; }
    .reechilibru-mobile-nav-item.is-active .reechilibru-nav-icon { background: var(--reechilibru-accent-soft); }
    .reechilibru-profile-list > div { grid-template-columns: 1fr; gap: 3px; }
    .reechilibru-card-grid { grid-template-columns:1fr; }
    .reechilibru-info-card--next { grid-column:auto; }
}

@media (max-width: 520px) {
    .reechilibru-auth-root { padding: 22px 14px; align-items: start; }
    .reechilibru-auth-panel { padding-top: 4vh; }
    .reechilibru-auth-card { padding: 26px 20px; border-radius: 20px; }
    .reechilibru-auth-logo { width: 160px; }
    .reechilibru-form-options { align-items: flex-start; flex-direction: column; }
    .reechilibru-welcome-card { padding: 24px 20px; }
    .reechilibru-empty-card { margin-top: 0; padding: 30px 22px; }
    .reechilibru-profile-card { padding: 24px 20px; }
    .reechilibru-profile-actions { flex-direction: column; }
    .reechilibru-profile-actions .reechilibru-button { width: 100%; }
    .reechilibru-profile-hero { align-items:flex-start; flex-wrap:wrap; }
    .reechilibru-profile-status { margin-left:0; }
    .reechilibru-info-card--next { grid-template-columns:auto minmax(0,1fr); }
    .reechilibru-info-card--next .reechilibru-button { grid-column:1/-1; width:100%; }
    .reechilibru-welcome-card::before,.reechilibru-welcome-card::after { opacity:.12; }
}

@media (prefers-reduced-motion: reduce) {
    .reechilibru-standalone:not(.rb-motion-off) *, .reechilibru-standalone:not(.rb-motion-off) *::before, .reechilibru-standalone:not(.rb-motion-off) *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Participant group context */
.reechilibru-profile-groups { margin-top:20px; padding:16px; border:1px solid var(--reechilibru-border); border-radius:14px; background:#f8fbfe; }
.reechilibru-profile-groups h3 { margin:0 0 8px; color:var(--reechilibru-primary-dark); font-size:16px; }
.reechilibru-profile-groups p { margin:0; color:var(--reechilibru-muted); }
.reechilibru-profile-groups ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.reechilibru-profile-groups li { padding:7px 10px; border-radius:999px; background:#eaf5fc; color:var(--reechilibru-primary-dark); font-weight:700; }

/* Program/module context */
.reechilibru-program-contexts { margin-top:26px; }
.reechilibru-context-heading h2 { margin:0; color:var(--reechilibru-primary-deep); font-size:1.25rem; }
.reechilibru-program-context { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:13px; padding:0; overflow:hidden; border:1px solid var(--reechilibru-border); border-radius:19px; background:#fff; box-shadow:var(--reechilibru-shadow-sm); }
.reechilibru-program-context > div { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); gap:3px 12px; min-width:0; padding:19px 20px; border-right:1px solid var(--reechilibru-border); }
.reechilibru-program-context > div:last-child { border-right:0; }
.reechilibru-context-icon { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#eaf6fe; color:var(--reechilibru-primary); }
.reechilibru-program-context span { color:var(--reechilibru-muted); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.reechilibru-program-context .reechilibru-context-icon { color:var(--reechilibru-primary); }
.reechilibru-program-context strong { color:var(--reechilibru-primary-deep); font-size:.96rem; overflow-wrap:anywhere; }
.reechilibru-program-context.is-compact { margin-top:10px; border-radius:14px; box-shadow:none; }
.reechilibru-program-context.is-compact > div { padding:14px; }
.reechilibru-profile-context-list { display:grid; gap:8px; }
@media (max-width: 760px) { .reechilibru-program-context { grid-template-columns:1fr; } .reechilibru-program-context > div { border-right:0; border-bottom:1px solid var(--reechilibru-border); } .reechilibru-program-context > div:last-child { border-bottom:0; } }

/* Participant tasks */
.reechilibru-home-metric{display:block;margin:0;color:var(--reechilibru-primary);font-size:2.25rem;font-weight:850;line-height:1}
.reechilibru-task-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:6px;border:1px solid var(--reechilibru-border);border-radius:16px;background:#fff;box-shadow:var(--reechilibru-shadow-sm)}
.reechilibru-task-tabs a{min-height:42px;display:inline-flex;align-items:center;padding:9px 16px;border-radius:11px;color:var(--reechilibru-muted);font-weight:750;text-decoration:none;transition:background .16s ease,color .16s ease}
.reechilibru-task-tabs a:hover{background:var(--reechilibru-primary-soft);color:var(--reechilibru-primary-deep)}
.reechilibru-task-tabs a.is-active{background:var(--reechilibru-accent-soft);color:var(--reechilibru-primary-deep);box-shadow:inset 0 0 0 1px rgba(190,130,0,.07)}
.reechilibru-task-list{display:grid;gap:14px}
.reechilibru-task-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--reechilibru-border);border-radius:18px;background:#fff;box-shadow:var(--reechilibru-shadow-sm);transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}
.reechilibru-task-card:hover{transform:translateY(-2px);border-color:#bdd8e9;box-shadow:0 14px 30px rgba(9,47,87,.09)}
.reechilibru-task-card-main{display:flex;align-items:flex-start;gap:14px;min-width:0}
.reechilibru-task-icon{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:15px;background:#fff0bd;color:#9b6200;font-weight:900}
.reechilibru-task-icon--completed{background:#dcf5e8;color:var(--reechilibru-success)}
.reechilibru-task-icon--overdue{background:#ffe6cc;color:var(--reechilibru-warning)}
.reechilibru-task-icon--not_completed{background:#edf1f4;color:#65717c}
.reechilibru-task-card h3{margin:2px 0 6px;color:var(--reechilibru-primary-deep);font-size:1.05rem}
.reechilibru-task-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--reechilibru-muted);font-size:.82rem}
.reechilibru-task-card-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.reechilibru-task-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}
.reechilibru-task-status--pending{background:#fff3d0;color:#915300}
.reechilibru-task-status--overdue{background:#ffe7cc;color:#8c4300}
.reechilibru-task-status--completed{background:#e2f6eb;color:#1f7544}
.reechilibru-task-status--not_completed{background:#edf0f3;color:#5c6670}
.reechilibru-task-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.reechilibru-task-pagination a{font-weight:750;text-decoration:none}
.reechilibru-task-detail{padding:28px;border:1px solid var(--reechilibru-border);border-radius:22px;background:#fff;box-shadow:var(--reechilibru-shadow-sm)}
.reechilibru-task-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.reechilibru-task-detail-head h2{margin:4px 0 0;color:var(--reechilibru-primary-deep)}
.reechilibru-task-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;padding:16px;border:1px solid #e3edf4;border-radius:16px;background:#f7fbfe}
.reechilibru-task-detail-meta>div{display:grid;gap:4px}
.reechilibru-task-detail-meta dt{color:var(--reechilibru-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.reechilibru-task-detail-meta dd{margin:0;color:var(--reechilibru-primary-deep);font-weight:750}
.reechilibru-task-instructions{margin-top:20px;padding:20px;border-left:4px solid var(--reechilibru-primary);border-radius:0 16px 16px 0;background:#f3f9fd}
.reechilibru-task-instructions h3{color:var(--reechilibru-primary-deep)}
.reechilibru-task-instructions p{white-space:normal;overflow-wrap:anywhere;line-height:1.65}
.reechilibru-task-material{margin-top:18px}
.reechilibru-task-readonly-note{margin-top:20px;padding:13px 14px;border-radius:12px;background:#f6f8fa;color:var(--reechilibru-muted)}
.reechilibru-backline--participant{margin-bottom:16px}
.reechilibru-backline--participant a{font-weight:750;text-decoration:none}
@media (max-width:760px){.reechilibru-task-card,.reechilibru-task-detail-head{align-items:stretch;flex-direction:column}.reechilibru-task-card-actions{justify-content:space-between}.reechilibru-task-detail{padding:19px 16px}.reechilibru-task-detail-meta{grid-template-columns:1fr}.reechilibru-task-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reechilibru-task-tabs a{text-align:center}}

/* Feedback, review & basic progress */
.reechilibru-response-section { margin-top:24px; padding:22px; border:1px solid var(--reechilibru-border); border-radius:20px; background:#fff; box-shadow:0 8px 28px rgba(20,65,100,.05); }
.reechilibru-response-heading h3,.reechilibru-response-section h3 { margin:3px 0 8px; color:var(--reechilibru-primary-deep); }
.reechilibru-response-heading p { margin:0 0 18px; color:var(--reechilibru-muted); }
.reechilibru-response-choice { display:grid; gap:10px; margin:0 0 18px; padding:0; border:0; }
.reechilibru-response-choice legend { margin-bottom:8px; color:var(--reechilibru-primary-deep); font-weight:800; }
.reechilibru-response-option { display:flex; align-items:flex-start; gap:12px; min-height:56px; padding:13px 15px; border:1px solid var(--reechilibru-border); border-radius:14px; background:#fbfdff; cursor:pointer; }
.reechilibru-response-option:has(input:checked) { border-color:var(--reechilibru-primary); box-shadow:0 0 0 2px rgba(19,111,176,.10); }
.reechilibru-response-option input { margin-top:4px; accent-color:var(--reechilibru-primary); }
.reechilibru-response-option span { display:grid; gap:3px; }
.reechilibru-response-option strong { color:var(--reechilibru-primary-deep); }
.reechilibru-response-option small,.reechilibru-response-form small { color:var(--reechilibru-muted); }
.reechilibru-response-reason[hidden] { display:none !important; }
.reechilibru-response-form textarea { width:100%; min-height:128px; resize:vertical; }
.reechilibru-response-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.reechilibru-response-summary>div { padding:12px; border:1px solid var(--reechilibru-border); border-radius:12px; background:#f8fbfe; }
.reechilibru-response-summary dt { margin-bottom:4px; color:var(--reechilibru-muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.reechilibru-response-summary dd { margin:0; color:var(--reechilibru-primary-deep); font-weight:800; }
.reechilibru-response-feedback { margin-top:14px; padding:14px 16px; border-left:4px solid var(--reechilibru-primary); border-radius:0 12px 12px 0; background:#f5faff; }
.reechilibru-response-feedback p { margin:7px 0 0; white-space:normal; }
.reechilibru-response-section--submitted { border-color:#b8e2cf; background:#fbfffd; }
.reechilibru-alert { margin:0 0 18px; padding:12px 14px; border-radius:12px; font-weight:700; }
.reechilibru-alert--success { border:1px solid #a9ddc5; background:#effaf5; color:#276a4d; }
.reechilibru-alert--error { border:1px solid #efc2b9; background:#fff6f3; color:#8b3e31; }
.reechilibru-progress-card { position:relative; overflow:hidden; padding:30px; border:1px solid var(--reechilibru-border); border-radius:23px; background:linear-gradient(120deg,#eaf6fe 0%,#fff 68%,#fff7d6 100%); box-shadow:var(--reechilibru-shadow-sm); }
.reechilibru-progress-card::after { content:""; position:absolute; right:-38px; top:-52px; width:165px; height:165px; border-radius:50%; background:rgba(255,213,79,.22); pointer-events:none; }
.reechilibru-progress-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.reechilibru-progress-head h2 { margin:3px 0 0; color:var(--reechilibru-primary-deep); }
.reechilibru-progress-head strong { color:var(--reechilibru-primary); font-size:3rem; letter-spacing:-.04em; line-height:1; }
.reechilibru-progress-track { height:14px; overflow:hidden; border-radius:999px; background:#dfeaf1; box-shadow:inset 0 1px 2px rgba(9,47,87,.08); }
.reechilibru-progress-track>span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--reechilibru-primary),#33b889); }
.reechilibru-progress-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:20px; }
.reechilibru-progress-metric { display:grid; grid-template-columns:40px minmax(0,1fr); gap:3px 12px; padding:17px; border:1px solid var(--reechilibru-border); border-radius:17px; background:#fff; box-shadow:var(--reechilibru-shadow-sm); }
.reechilibru-progress-metric-icon { grid-row:1/3; display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:#eaf6fe; color:var(--reechilibru-primary); }
.reechilibru-progress-metric-value { color:var(--reechilibru-primary-deep); font-size:1.65rem; font-weight:850; line-height:1; }
.reechilibru-progress-metric strong { color:var(--reechilibru-muted); font-size:.82rem; }
.reechilibru-progress-metric--completed .reechilibru-progress-metric-icon { background:#dff5ea; color:var(--reechilibru-success); }
.reechilibru-progress-metric--pending .reechilibru-progress-metric-icon { background:#fff0bc; color:#966000; }
.reechilibru-progress-metric--overdue .reechilibru-progress-metric-icon { background:#ffe6cc; color:var(--reechilibru-warning); }
.reechilibru-progress-metric--not-completed .reechilibru-progress-metric-icon { background:#eef1f4; color:#65717c; }
.reechilibru-progress-note { margin:16px 0 0; color:var(--reechilibru-muted); font-size:.88rem; }
.reechilibru-task-status--not_completed { background:#f4efe8; color:#745b3f; }
@media (max-width:1200px) { .reechilibru-progress-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .reechilibru-progress-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
    .reechilibru-response-section,.reechilibru-progress-card { padding:18px 16px; border-radius:16px; }
    .reechilibru-response-summary { grid-template-columns:1fr; }
    .reechilibru-progress-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .reechilibru-progress-head { align-items:flex-start; flex-direction:column; }
    .reechilibru-response-option { min-height:62px; }
    .reechilibru-response-form .reechilibru-button { width:100%; min-height:48px; }
}
@media (max-width:390px) {
    .reechilibru-progress-grid { grid-template-columns:1fr 1fr; }
    .reechilibru-response-option { padding:12px; }
}


/* Pilot release responsive/accessibility polish */
.reechilibru-task-card, .reechilibru-task-detail, .reechilibru-response-section,
.reechilibru-response-feedback, .reechilibru-profile-card, .reechilibru-info-card { min-width:0; }
.reechilibru-task-card h3, .reechilibru-task-detail h2, .reechilibru-task-meta,
.reechilibru-response-feedback p, .reechilibru-response-summary dd,
.reechilibru-program-context strong { overflow-wrap:anywhere; word-break:break-word; }
.reechilibru-response-form select, .reechilibru-response-form textarea { max-width:100%; }
@media (max-width:430px) {
    .reechilibru-app-content { padding-left:14px; padding-right:14px; }
    .reechilibru-task-tabs { grid-template-columns:1fr 1fr; gap:6px; }
    .reechilibru-task-tabs a { min-height:44px; display:flex; align-items:center; justify-content:center; }
    .reechilibru-task-card-actions { align-items:stretch; flex-direction:column; }
    .reechilibru-task-card-actions .reechilibru-button { width:100%; min-height:48px; }
}
@media (max-width:360px) {
    .reechilibru-auth-card { padding:22px 16px; }
    .reechilibru-mobile-nav-item { min-height:64px; font-size:.64rem; }
    .reechilibru-task-tabs { grid-template-columns:1fr; }
    .reechilibru-progress-grid { grid-template-columns:1fr; }
}

/* POST-MVP 01 — Check-in daily */
.reechilibru-checkin-intro,.reechilibru-checkin-form,.reechilibru-checkin-history{background:var(--reechilibru-surface,#fff);border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:18px;padding:24px;margin-bottom:20px}
.reechilibru-checkin-complete{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;padding:14px 16px;margin:0 0 18px;border-radius:14px;background:var(--reechilibru-success-soft,#edf8f1);border:1px solid var(--reechilibru-success-border,#bcdcc8)}
.reechilibru-checkin-metric{border:0;padding:0;margin:0 0 24px}.reechilibru-checkin-metric legend{font-weight:700;font-size:1rem;margin-bottom:10px}
.reechilibru-checkin-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.reechilibru-checkin-option{position:relative;display:flex;min-width:0;min-height:72px;padding:10px 8px;border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:3px;text-align:center;cursor:pointer;background:#fff}
.reechilibru-checkin-option input{position:absolute;opacity:0;pointer-events:none}.reechilibru-checkin-option:has(input:checked){outline:2px solid var(--reechilibru-primary,#277466);outline-offset:1px;font-weight:700}.reechilibru-checkin-option:has(input:focus-visible){outline:3px solid currentColor;outline-offset:3px}.reechilibru-checkin-number{font-size:1.1rem;font-weight:800}.reechilibru-checkin-semantic{font-size:.76rem;line-height:1.2}
.reechilibru-checkin-history-list{display:grid;gap:12px}.reechilibru-checkin-history-card{border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:14px;padding:16px}.reechilibru-checkin-history-card h3{margin-top:0}.reechilibru-checkin-history-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.reechilibru-checkin-history-card dl div{background:var(--reechilibru-surface-soft,#f7f9f8);padding:10px;border-radius:10px}.reechilibru-checkin-history-card dt{font-size:.8rem}.reechilibru-checkin-history-card dd{margin:3px 0 0;font-weight:800}
@media (max-width:760px){.reechilibru-checkin-scale{grid-template-columns:repeat(5,minmax(52px,1fr));overflow-x:auto;padding:3px}.reechilibru-checkin-history-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:430px){.reechilibru-checkin-intro,.reechilibru-checkin-form,.reechilibru-checkin-history{padding:16px}.reechilibru-checkin-option{min-height:64px;min-width:52px}.reechilibru-checkin-semantic{font-size:.7rem}}
@media (max-width:360px){.reechilibru-checkin-scale{gap:6px}.reechilibru-checkin-option{padding:8px 5px}.reechilibru-checkin-history-card dl{grid-template-columns:1fr 1fr}}

/* 1.0.1.22: semantic Check-in response cards; stress maps color inversely, not value. */
.reechilibru-checkin-form{--checkin-tone-1:#ffe5e2;--checkin-tone-2:#ffead0;--checkin-tone-3:#fff3c6;--checkin-tone-4:#ddf4d9;--checkin-tone-5:#c9f0dc;--checkin-ink-1:#8d312d;--checkin-ink-2:#8b5010;--checkin-ink-3:#705710;--checkin-ink-4:#246235;--checkin-ink-5:#176145}
.reechilibru-checkin-metric legend{display:flex;align-items:center;gap:10px;color:var(--reechilibru-primary-deep);font-size:1.08rem}
.reechilibru-checkin-metric-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:var(--reechilibru-primary-soft);color:var(--reechilibru-primary)}
.reechilibru-checkin-metric-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.reechilibru-checkin-option{--checkin-card:var(--checkin-tone-3);--checkin-ink:var(--checkin-ink-3);min-height:94px;background:var(--checkin-card);color:var(--checkin-ink);border:2px solid transparent;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.reechilibru-checkin-option--tone-1{--checkin-card:var(--checkin-tone-1);--checkin-ink:var(--checkin-ink-1)}
.reechilibru-checkin-option--tone-2{--checkin-card:var(--checkin-tone-2);--checkin-ink:var(--checkin-ink-2)}
.reechilibru-checkin-option--tone-4{--checkin-card:var(--checkin-tone-4);--checkin-ink:var(--checkin-ink-4)}
.reechilibru-checkin-option--tone-5{--checkin-card:var(--checkin-tone-5);--checkin-ink:var(--checkin-ink-5)}
.reechilibru-checkin-option:hover{transform:translateY(-2px);border-color:currentColor}
.reechilibru-checkin-option:has(input:checked){border-color:var(--reechilibru-primary-deep);outline:0;box-shadow:0 0 0 3px rgba(7,91,166,.22),0 8px 20px rgba(9,47,87,.12);font-weight:800}
.reechilibru-checkin-option:has(input:checked)::after{content:'✓';position:absolute;top:4px;right:8px;font-size:.85rem;color:var(--reechilibru-primary-deep)}
.reechilibru-checkin-option:has(input:focus-visible){outline:3px solid var(--reechilibru-primary-deep);outline-offset:3px}
.reechilibru-checkin-face{display:inline-flex}.reechilibru-checkin-face svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reechilibru-checkin-semantic{font-size:.83rem;font-weight:650}
.reechilibru-checkin-observations{display:grid;gap:8px;margin:8px 0 18px}.reechilibru-checkin-observations label{font-weight:750}.reechilibru-checkin-observations label small{font-weight:500;color:var(--reechilibru-muted)}
.reechilibru-checkin-observations textarea{display:block;width:100%;min-height:132px;padding:14px 16px;border:1px solid var(--reechilibru-border);border-radius:var(--reechilibru-radius-sm);font:inherit;line-height:1.55;color:var(--reechilibru-text);background:#fff;resize:vertical}
.reechilibru-checkin-observations textarea:focus-visible{outline:3px solid var(--reechilibru-primary);outline-offset:2px;border-color:var(--reechilibru-primary)}
@media(max-width:430px){.reechilibru-checkin-scale{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.reechilibru-checkin-option{min-width:0;min-height:78px}.reechilibru-checkin-option:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.reechilibru-standalone:not(.rb-motion-off) .reechilibru-checkin-option{transition:none}.reechilibru-standalone:not(.rb-motion-off) .reechilibru-checkin-option:hover{transform:none}}

/* POST-MVP 02 — Check-in history & descriptive analytics. */
.reechilibru-checkin-analytics{background:var(--reechilibru-surface,#fff);border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:18px;padding:24px;margin-bottom:20px}
.reechilibru-period-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.reechilibru-period-tab{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:999px;text-decoration:none;font-weight:700}.reechilibru-period-tab.is-active{border-color:var(--reechilibru-primary,#277466);box-shadow:inset 0 0 0 1px var(--reechilibru-primary,#277466)}.reechilibru-period-tab:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.reechilibru-analytics-meta{color:var(--reechilibru-muted,#66736f);margin:8px 0 16px}.reechilibru-analytics-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.reechilibru-analytics-summary{border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:14px;padding:14px;min-width:0}.reechilibru-analytics-summary h3{margin:0 0 10px}.reechilibru-analytics-summary p{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px}.reechilibru-analytics-summary strong{font-variant-numeric:tabular-nums}.reechilibru-analytics-summary small{display:block;line-height:1.4;color:var(--reechilibru-muted,#66736f)}
.reechilibru-analytics-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.reechilibru-analytics-chart{margin:0;border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:14px;padding:12px;min-width:0;overflow:hidden}.reechilibru-analytics-chart figcaption{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}.reechilibru-analytics-chart figcaption span{font-size:.8rem;color:var(--reechilibru-muted,#66736f)}.reechilibru-analytics-chart svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}.reechilibru-chart-grid{stroke:var(--reechilibru-border,#dfe5e3);stroke-width:1}.reechilibru-chart-line{fill:none;stroke:var(--reechilibru-primary,#277466);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.reechilibru-chart-point{fill:var(--reechilibru-surface,#fff);stroke:var(--reechilibru-primary,#277466);stroke-width:3}.reechilibru-chart-axis-label,.reechilibru-chart-axis-date{fill:currentColor;font-size:12px}.reechilibru-chart-axis-date--end{text-anchor:end}.reechilibru-analytics-empty{padding:20px;border:1px dashed var(--reechilibru-border,#dfe5e3);border-radius:14px}.reechilibru-analytics-history{margin-top:20px}.reechilibru-analytics-history h3{margin-bottom:12px}
@media (max-width:1024px){.reechilibru-analytics-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.reechilibru-analytics-chart-grid{grid-template-columns:1fr}.reechilibru-checkin-analytics{padding:18px}}
@media (max-width:430px){.reechilibru-analytics-summary-grid{grid-template-columns:1fr}.reechilibru-period-tabs{display:grid;grid-template-columns:1fr 1fr}.reechilibru-period-tab{width:100%;box-sizing:border-box}.reechilibru-analytics-chart{padding:8px}}
@media (prefers-reduced-motion:reduce){.reechilibru-standalone:not(.rb-motion-off) .reechilibru-analytics-chart *{animation:none!important;transition:none!important}}

/* POST-MVP 04 — Questionnaire Delivery */
.reechilibru-questionnaire-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reechilibru-questionnaire-card{display:flex;flex-direction:column;align-items:flex-start}.reechilibru-questionnaire-form{display:grid;gap:18px}.reechilibru-question-field{border:1px solid var(--reechilibru-border,#dbe3ea);border-radius:14px;padding:16px;background:#fff}.reechilibru-question-field>label,.reechilibru-question-field>legend{font-weight:700;margin-bottom:10px}.reechilibru-question-field textarea{width:100%;min-height:110px}.reechilibru-choice{display:flex;align-items:flex-start;gap:10px;padding:9px 0;min-height:44px}.reechilibru-questionnaire-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,.96);border-top:1px solid var(--reechilibru-border,#dbe3ea);z-index:2}.reechilibru-questionnaire-readonly{display:grid;gap:12px}.reechilibru-question-readonly{padding:14px;border:1px solid var(--reechilibru-border,#dbe3ea);border-radius:12px}.reechilibru-confirm-dialog{max-width:520px;border:0;border-radius:16px;padding:24px;box-shadow:0 20px 60px rgba(15,23,42,.25)}.reechilibru-confirm-dialog::backdrop{background:rgba(15,23,42,.45)}.reechilibru-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.reechilibru-button--danger{background:#b42318;border-color:#b42318;color:#fff}.reechilibru-button--danger:hover,.reechilibru-button--danger:focus-visible{background:#912018;color:#fff}
@media(max-width:760px){.reechilibru-questionnaire-list{grid-template-columns:1fr}.reechilibru-questionnaire-actions{position:static}.reechilibru-confirm-actions{flex-direction:column}.reechilibru-confirm-actions .reechilibru-button{width:100%;min-height:44px}}
@media(max-width:430px){.reechilibru-question-field{padding:14px}.reechilibru-questionnaire-actions{padding:12px 0;gap:8px}.reechilibru-questionnaire-actions .reechilibru-button{width:100%;min-height:48px;justify-content:center}.reechilibru-choice{min-height:48px}.reechilibru-confirm-dialog{width:calc(100% - 24px);max-width:none;box-sizing:border-box;padding:18px}.reechilibru-question-field textarea{min-height:120px}}
@media(max-width:360px){.reechilibru-question-field{padding:12px}.reechilibru-questionnaire-form{gap:14px}.reechilibru-choice{gap:8px}.reechilibru-questionnaire-intro h2{overflow-wrap:anywhere}}

/* POST-MVP 06 — Daily Journal */
.reechilibru-journal-intro,.reechilibru-journal-composer,.reechilibru-journal-history{background:var(--reechilibru-surface,#fff);border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:18px;padding:24px;margin-bottom:20px;min-width:0}.reechilibru-journal-composer{display:grid;gap:12px}.reechilibru-journal-composer>label{font-weight:800}.reechilibru-journal-composer textarea{width:100%;min-height:260px;resize:vertical;box-sizing:border-box;white-space:pre-wrap}.reechilibru-journal-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--reechilibru-muted,#66736f);font-size:.9rem}.reechilibru-journal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.reechilibru-journal-finalized-note{font-size:.9rem;color:var(--reechilibru-muted,#66736f)}.reechilibru-journal-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px}.reechilibru-journal-filters label{display:grid;gap:5px;font-weight:700}.reechilibru-journal-history-list{display:grid;gap:14px}.reechilibru-journal-entry{border:1px solid var(--reechilibru-border,#dfe5e3);border-radius:14px;padding:16px;min-width:0}.reechilibru-journal-entry time{font-size:.85rem;color:var(--reechilibru-muted,#66736f)}.reechilibru-journal-entry h3{margin:8px 0}.reechilibru-journal-text{white-space:pre-wrap;overflow-wrap:anywhere}.reechilibru-journal-composer textarea:focus-visible,.reechilibru-journal-filters input:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@media(max-width:430px){.reechilibru-journal-intro,.reechilibru-journal-composer,.reechilibru-journal-history{padding:16px}.reechilibru-journal-composer textarea{min-height:220px}.reechilibru-journal-actions{flex-direction:column;align-items:stretch}.reechilibru-journal-actions .reechilibru-button,.reechilibru-journal-filters .reechilibru-button{width:100%;min-height:48px}.reechilibru-journal-filters{display:grid;grid-template-columns:1fr 1fr}.reechilibru-journal-filters .reechilibru-button{grid-column:1/-1}}
@media(max-width:360px){.reechilibru-journal-filters{grid-template-columns:1fr}}
.reechilibru-message-badge:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:999px;background:#d7333f;color:#fff;font-size:.75rem;font-weight:700;margin-inline-start:auto}
.reechilibru-notification-settings{margin-block:1.5rem;padding:1.25rem;background:#fff;border:1px solid #d7e6f6;border-radius:1rem}
.reechilibru-notification-settings fieldset{display:flex;flex-wrap:wrap;gap:1rem;border:0;border-bottom:1px solid #e5edf5;padding:.8rem 0;margin:0}
.reechilibru-notification-settings legend{font-weight:700;color:#15365b}
.reechilibru-notification-settings label{display:inline-flex;align-items:center;gap:.4rem}
.reechilibru-notification-settings button{background:#164e82;color:#fff;padding:.75rem 1rem;border:0;border-radius:.6rem;margin-top:1rem;cursor:pointer}
.reechilibru-notification-settings button:focus-visible,.reechilibru-notification-settings input:focus-visible{outline:3px solid #fabb27;outline-offset:2px}

/* 1.0.1.24: personal presentation tokens, scoped to the participant application. */
.reechilibru-standalone { --rb-ui-font: 1rem; --rb-ui-gap: 16px; --rb-ui-card-pad: 24px; }
.reechilibru-standalone.rb-text-large { --rb-ui-font: 1.12rem; font-size:112%; }
.reechilibru-standalone.rb-text-large :is(p,label,dd,dt,li,button,input,select,textarea,a) { font-size:max(1em, var(--rb-ui-font)); }
.reechilibru-standalone.rb-density-compact { --rb-ui-gap: 11px; --rb-ui-card-pad: 18px; }
.reechilibru-standalone.rb-density-compact :is(.reechilibru-panel,.reechilibru-info-card,.reechilibru-profile-card,.reechilibru-task-card,.reechilibru-question-field,.reechilibru-journal-composer,.reechilibru-journal-history) { padding:var(--rb-ui-card-pad); }
.reechilibru-standalone.rb-density-compact :is(.reechilibru-card-grid,.reechilibru-task-list,.reechilibru-questionnaire-form,.reechilibru-journal-history-list) { gap:var(--rb-ui-gap); }
.reechilibru-standalone.rb-motion-reduce *, .reechilibru-standalone.rb-motion-reduce *::before, .reechilibru-standalone.rb-motion-reduce *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
.reechilibru-standalone :is(button,a,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #075ba6; outline-offset:3px; }
.reechilibru-interface-preferences { display:grid; gap:14px; margin-top:20px; padding:var(--rb-ui-card-pad); }
.reechilibru-interface-preferences h2,.reechilibru-interface-preferences p { margin:0; }
.reechilibru-interface-preferences form { display:grid; gap:var(--rb-ui-gap); }
.reechilibru-interface-preferences .reechilibru-field { display:grid; gap:6px; }
.reechilibru-interface-preferences select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #9cbad0; border-radius:12px; background:#fff; color:var(--reechilibru-text); font:inherit; }
.reechilibru-interface-preferences .reechilibru-profile-actions { display:flex; flex-wrap:wrap; gap:10px; }
.reechilibru-standalone :is(.reechilibru-button,.reechilibru-app-nav a,.reechilibru-mobile-nav a) { min-height:44px; }
@media(max-width:430px){.reechilibru-interface-preferences .reechilibru-profile-actions{display:grid;grid-template-columns:1fr}.reechilibru-interface-preferences .reechilibru-profile-actions button{width:100%}}
@media(max-width:760px){
    .reechilibru-mobile-nav{background:#fff}
    .reechilibru-mobile-nav-items{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(88px,1fr);overflow-x:auto;overscroll-behavior-inline:contain}
    .reechilibru-mobile-nav-item{min-height:72px;font-size:.82rem}
    .reechilibru-standalone.rb-text-large .reechilibru-mobile-nav-item{min-height:82px;font-size:.92rem}
    .reechilibru-standalone.rb-text-large .reechilibru-app-root{padding-bottom:96px}
}
.reechilibru-notification-context{margin:1.25rem 0}.reechilibru-notification-context h2{font-size:1.1rem}.reechilibru-notification-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.reechilibru-notification-context article{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid #d4e5f5;border-radius:.8rem;padding:1rem}.reechilibru-notification-context strong{font-size:1.35rem;color:#174d80}.reechilibru-notification-context a{color:#174d80;text-decoration:underline}
