:root {
    --bg: #090a0f;
    --bg-deep: #06070b;
    --surface: #10121a;
    --surface-2: #151824;
    --surface-3: #0d0f16;
    --line: rgba(196, 180, 255, .16);
    --line-strong: rgba(179, 136, 255, .46);
    --text: #f5f3fa;
    --muted: #aaa8b6;
    --muted-2: #7f7d8a;
    --purple: #8c4dff;
    --purple-2: #bc93ff;
    --purple-dark: #5b20df;
    --green: #68d88e;
    --red: #ff6878;
    --orange: #f1b65c;
    --radius: 24px;
    --radius-sm: 15px;
    --container: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
    margin: 0;
    min-width: 320px;
    color: var(--text);
    background:
        radial-gradient(circle at 80% 2%, rgba(103, 48, 212, .12), transparent 26%),
        var(--bg);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.58;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img, svg { max-width: 100%; }
.container { width: min(calc(100% - 48px), var(--container)); margin: 0 auto; }

/* Accessibility */
.skip-link {
    position: fixed;
    z-index: 9999;
    left: 16px;
    top: 16px;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border-radius: 12px;
    background: var(--purple);
}
.skip-link:focus {
    width: auto;
    height: auto;
    padding: 12px 18px;
    overflow: visible;
    clip: auto;
    clip-path: none;
}

/* Header */
.site-header {
    position: relative;
    z-index: 80;
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: rgba(9,10,15,.96);
}
.header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 32px;
}
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo { display: block; width: 216px; height: auto; max-width: none; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: 38px; flex: 1; }
.site-nav a { color: #d9d6e2; font-size: 15px; transition: color .2s; }
.site-nav a:hover { color: var(--purple-2); }
.menu-toggle {
    display: none;
    position: relative;
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255,255,255,.02);
    cursor: pointer;
}
.menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px 0; background: currentColor; }
.menu-toggle b { position: absolute; clip: rect(0,0,0,0); }
.menu-open { overflow: hidden; }

/* Buttons */
.button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 13px;
    cursor: pointer;
    font-weight: 650;
    font-size: 15px;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button:focus-visible,
.demo-tab:focus-visible,
.process-step:focus-visible,
.menu-toggle:focus-visible,
.footer-toggle:focus-visible {
    outline: 3px solid rgba(179,136,255,.42);
    outline-offset: 3px;
}
.button--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--purple-dark), var(--purple));
    box-shadow: 0 14px 34px rgba(91,32,223,.28);
}
.button--primary:hover { box-shadow: 0 18px 48px rgba(91,32,223,.4); }
.button--secondary,
.button--login { border-color: rgba(179,136,255,.58); background: rgba(255,255,255,.018); }
.button--secondary:hover,
.button--login:hover { border-color: var(--purple-2); background: rgba(140,77,255,.09); }
.button--wide { width: 100%; }
.button:disabled { opacity: .58; cursor: wait; transform: none; }

/* Hero */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.06); }
.hero-glow {
    position: absolute;
    width: 800px;
    height: 800px;
    right: -310px;
    top: -390px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(117,56,255,.23), rgba(117,56,255,.04) 45%, transparent 70%);
    pointer-events: none;
    animation: floatGlow 12s ease-in-out infinite alternate;
}
.hero-grid {
    min-height: 630px;
    padding: 54px 0 62px;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 72px;
}
.eyebrow {
    margin: 0 0 14px;
    color: var(--purple-2);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: 12px;
    font-weight: 800;
}
.eyebrow span {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--purple-2);
    box-shadow: 0 0 15px var(--purple);
}
.hero h1 {
    margin: 0;
    font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
    font-size: clamp(52px, 4.7vw, 78px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 760;
}
.hero h1 em { color: var(--purple-2); font-style: normal; }
.hero-lead { max-width: 640px; margin: 25px 0 0; color: #cbc8d3; font-size: 19px; line-height: 1.62; }
.hero-actions { display: flex; gap: 14px; margin-top: 31px; }
.availability { margin: 16px 0 0; color: #9895a3; font-size: 13px; }
.availability span { color: var(--purple-2); }
.hero-dashboard {
    position: relative;
    padding: 26px;
    border: 1px solid var(--line-strong);
    border-radius: 26px;
    background: linear-gradient(155deg, rgba(23,25,36,.99), rgba(9,10,16,.99));
    box-shadow: 0 32px 90px rgba(0,0,0,.5), 0 0 70px rgba(84,31,175,.13);
}
.demo-ribbon {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 6px 11px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: #cbc7d4;
    font-size: 11px;
}
.dash-head { display: flex; flex-direction: column; margin-bottom: 18px; }
.dash-head span { font-size: 21px; font-weight: 750; }
.dash-head small { color: var(--muted); font-size: 13px; }
.dash-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.dash-metrics article,
.demo-metric-grid article {
    padding: 16px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.02);
}
.dash-metrics span,
.dash-metrics small,
.demo-metric-grid span,
.demo-metric-grid small { display: block; color: var(--muted); font-size: 12px; }
.dash-metrics strong { display: block; margin: 5px 0 2px; font-size: 21px; line-height: 1.25; white-space: nowrap; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.dash-main { display: grid; grid-template-columns: .9fr 1.3fr; gap: 12px; margin-top: 12px; }
.allocation-card,
.line-card {
    min-height: 198px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.014);
}
.allocation-card { display: flex; align-items: center; gap: 18px; }
.donut {
    position: relative;
    flex: 0 0 126px;
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background: conic-gradient(#8c4dff 0 40%, #3566bd 40% 65%, #4ec6ca 65% 90%, #e5a94b 90% 100%);
}
.donut:after { content: ""; position: absolute; inset: 25px; border-radius: 50%; background: #11131b; }
.donut > span { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; text-align: center; font-size: 14px; font-weight: 750; }
.donut > span small { display: block; color: var(--muted); font-size: 10px; font-weight: 400; }
.allocation-card ul { flex: 1; margin: 0; padding: 0; list-style: none; }
.allocation-card li { display: flex; align-items: center; gap: 8px; padding: 5px 0; color: #d0cdd7; font-size: 12px; }
.allocation-card li b { margin-left: auto; color: #fff; }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot-1 { background:#8c4dff; } .dot-2 { background:#3566bd; } .dot-3 { background:#4ec6ca; } .dot-4 { background:#e5a94b; }
.chart-label { display: flex; justify-content: space-between; color: #c2bfca; font-size: 12px; }
.chart-label b { color: #9693a1; font-size: 11px; }
.line-chart { width: 100%; height: 137px; margin-top: 4px; overflow: visible; }
.grid-lines path { stroke: rgba(255,255,255,.06); fill: none; }
.chart-area { fill: url(#area); }
.chart-line { fill: none; stroke: #a663ff; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 6px rgba(166,99,255,.5)); }
.chart-months { display: flex; justify-content: space-between; color: #858291; font-size: 10px; }
.demo-note,
.demo-disclaimer { margin: 13px 0 0; color: #8b8896; font-size: 11px; text-align: center; }

/* Shared sections */
.section { padding: 76px 0; }
.section:nth-of-type(even) { background: rgba(255,255,255,.008); }
.section-heading { max-width: 830px; margin: 0 auto 34px; text-align: center; }
.section-heading h2 { margin: 0; font-size: clamp(34px, 3vw, 48px); line-height: 1.12; letter-spacing: -.035em; }
.section-heading p:not(.eyebrow) { margin: 15px auto 0; color: var(--muted); font-size: 17px; line-height: 1.65; }

/* Contrast */
.contrast-section { background: linear-gradient(180deg, rgba(255,255,255,.018), transparent); }
.contrast-table { max-width: 1060px; margin: 0 auto; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(16,18,26,.78); }
.contrast-header,
.contrast-row { display: grid; grid-template-columns: 1fr 72px 1fr; align-items: center; }
.contrast-header { padding: 16px 28px; border-bottom: 1px solid var(--line); color: var(--purple-2); text-transform: uppercase; letter-spacing: .1em; font-size: 13px; font-weight: 850; }
.contrast-header span:first-child { color: var(--red); }
.contrast-row { min-height: 76px; padding: 0 28px; border-bottom: 1px solid rgba(255,255,255,.06); }
.contrast-row:last-child { border-bottom: 0; }
.contrast-row:nth-child(odd) { background: rgba(255,255,255,.014); }
.contrast-row > span { display: flex; align-items: center; gap: 14px; color: #d9d6df; font-size: 15px; }
.contrast-row > span:last-child { color: #f0ebf7; }
.contrast-row i { width: 34px; text-align: center; color: var(--red); font-size: 25px; font-style: normal; }
.contrast-row > span:last-child i { color: var(--purple-2); }
.contrast-row b { text-align: center; color: #858290; font-size: 24px; font-weight: 400; }
.contrast-row small { display: none; }
.contrast-copy { min-width: 0; }

/* Features */
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.feature-card {
    min-height: 210px;
    display: flex;
    gap: 22px;
    align-items: flex-start;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(150deg, rgba(25,27,38,.84), rgba(14,15,22,.84));
    transition: transform .2s ease, border-color .2s ease;
}
.feature-card:hover { transform: translateY(-3px); border-color: var(--line-strong); }
.feature-icon {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    display: grid;
    place-content: center;
    border: 1px solid rgba(179,136,255,.4);
    border-radius: 18px;
    color: var(--purple-2);
    background: rgba(140,77,255,.075);
    font-size: 31px;
}
.feature-card h3 { margin: 1px 0 10px; font-size: 23px; line-height: 1.25; }
.feature-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }

/* Process */
.process-section { border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.process-steps { position: relative; display: grid; grid-template-columns: repeat(6,1fr); gap: 14px; max-width: 1160px; margin: 6px auto 0; }
.process-steps:before { content: ""; position: absolute; top: 45px; left: 7%; right: 7%; height: 2px; background: linear-gradient(90deg, transparent, rgba(140,77,255,.75), transparent); opacity: .8; }
.process-step {
    position: relative;
    z-index: 1;
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 7px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--muted);
}
.process-step span { position: absolute; top: -2px; right: calc(50% - 33px); width: 22px; height: 22px; display: grid; place-content: center; border-radius: 50%; background: var(--purple-dark); color: #fff; font-size: 11px; }
.process-step i { width: 88px; height: 88px; display: grid; place-content: center; border: 1px solid rgba(179,136,255,.46); border-radius: 50%; background: var(--bg); color: var(--purple-2); font-size: 30px; font-style: normal; transition: .2s ease; }
.process-step b { font-size: 14px; font-weight: 650; }
.process-step:hover i,
.process-step.is-active i { border-color: var(--purple-2); background: rgba(140,77,255,.15); box-shadow: 0 0 36px rgba(111,49,235,.24); }
.process-step.is-active { color: #fff; }
.process-detail { max-width: 860px; min-height: 132px; margin: 26px auto 0; display: flex; align-items: center; gap: 25px; padding: 25px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(18,20,29,.86); }
.process-detail-icon { flex: 0 0 72px; width: 72px; height: 72px; display: grid; place-content: center; border-radius: 20px; background: rgba(140,77,255,.1); color: var(--purple-2); font-size: 35px; }
.process-detail h3 { margin: 0 0 7px; font-size: 23px; }
.process-detail p { margin: 0; color: var(--muted); font-size: 15px; }

/* Demo */
.demo-section { background: radial-gradient(circle at 50% 48%, rgba(78,33,153,.12), transparent 43%); }
.product-demo { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 28px; background: #0d0f16; box-shadow: 0 34px 100px rgba(0,0,0,.46); }
.demo-tabs { display: grid; grid-template-columns: repeat(5,1fr); border-bottom: 1px solid var(--line); }
.demo-tab { min-height: 60px; padding: 9px 14px; border: 0; border-right: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.012); color: #b1aeba; cursor: pointer; font-size: 14px; white-space: nowrap; }
.demo-tab:last-child { border-right: 0; }
.demo-tab:hover { color: #fff; }
.demo-tab.is-active { color: #fff; background: linear-gradient(135deg,#5420c7,#8c4dff); }
.demo-window { min-height: 520px; display: grid; grid-template-columns: 190px 1fr; }
.demo-sidebar { padding: 24px 16px; border-right: 1px solid var(--line); background: linear-gradient(180deg,#11131c,#0b0c12); display: flex; flex-direction: column; gap: 5px; }
.demo-sidebar img { margin: 0 0 18px 9px; }
.demo-sidebar span { padding: 10px 13px; border-radius: 9px; color: #9693a1; font-size: 13px; }
.demo-sidebar .active { color: #fff; background: rgba(140,77,255,.19); }
.demo-content { padding: 28px; min-width: 0; }
.demo-metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.demo-metric-grid strong { display: block; margin: 6px 0 3px; font-size: 20px; }
.demo-panels { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; margin-top: 14px; }
.demo-panels > section { min-height: 260px; padding: 20px; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; background: rgba(255,255,255,.014); }
.demo-panels h3 { margin: 0; font-size: 16px; }
.mini-line { height: 194px; display: flex; align-items: flex-end; gap: 10px; padding-top: 22px; }
.mini-line i { flex: 1; display: block; border-radius: 7px 7px 0 0; background: linear-gradient(180deg,var(--purple-2),var(--purple-dark)); opacity: .9; }
.overview-allocation { display: flex; align-items: center; gap: 22px; height: 210px; }
.donut--small { flex: 0 0 130px; width: 130px; height: 130px; }
.overview-allocation ul { list-style: none; padding: 0; margin: 0; flex: 1; }
.overview-allocation li { display: flex; justify-content: space-between; padding: 7px 0; color: var(--muted); font-size: 13px; }
.overview-allocation b { color: #fff; }
.demo-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.demo-title-row h3 { margin: 0 0 5px; font-size: 24px; }
.demo-title-row p { margin: 0; color: var(--muted); }
.demo-badge { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--purple-2); font-size: 11px; white-space: nowrap; }
.allocation-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.allocation-list > div { padding: 17px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.014); }
.allocation-list span,
.allocation-list small { display: block; color: var(--muted); font-size: 12px; }
.allocation-list i { height: 9px; display: block; margin: 12px 0; border-radius: 999px; background: #20232f; overflow: hidden; }
.allocation-list i b { height: 100%; display: block; border-radius: 999px; background: linear-gradient(90deg,var(--purple-dark),var(--purple-2)); }
.allocation-list strong { font-size: 19px; }
.asset-table { margin-top: 16px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; overflow: hidden; }
.asset-table > div { display: grid; grid-template-columns: 1.35fr .8fr 1fr .75fr; gap: 13px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 13px; }
.asset-table > div:last-child { border: 0; }
.asset-head { color: var(--muted); background: rgba(255,255,255,.03); }
.asset-table em { justify-self: start; padding: 4px 9px; border-radius: 999px; color: var(--green); background: rgba(101,213,139,.09); font-style: normal; font-size: 11px; }
.asset-table em.warn,
.warn { color: var(--orange) !important; background: rgba(244,185,88,.09) !important; }
.big-positive { color: var(--green); font-size: 29px; white-space: nowrap; }
.cash-bars { height: 260px; display: flex; align-items: flex-end; justify-content: space-around; gap: 20px; padding: 20px 20px 0; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; background: rgba(255,255,255,.012); }
.cash-bars div { height: 100%; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 7px; }
.cash-bars i { width: 54%; display: block; border-radius: 8px 8px 0 0; background: linear-gradient(180deg,var(--purple-2),var(--purple-dark)); }
.cash-bars span { color: var(--muted); font-size: 12px; }
.cash-bars b { font-size: 11px; font-weight: 550; }
.income-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 14px; }
.income-summary article { padding: 16px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; }
.income-summary span { display: block; color: var(--muted); font-size: 12px; }
.income-summary strong { font-size: 19px; }
.purchase-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.07); }
.purchase-head h3 { margin: 10px 0 5px; font-size: 25px; }
.purchase-head p { margin: 0; color: var(--muted); }
.purchase-head > strong { padding: 9px 13px; border-radius: 10px; background: rgba(140,77,255,.14); color: var(--purple-2); font-size: 13px; white-space: nowrap; }
.check-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 18px 0; }
.check-grid article { padding: 16px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.014); }
.check-grid span,
.check-grid small { display: block; color: var(--muted); font-size: 12px; }
.check-grid b { display: block; margin: 7px 0; font-size: 17px; }
.warn-text { color: var(--orange); }
.execution-plan { padding: 16px; border-left: 3px solid var(--purple); border-radius: 0 11px 11px 0; background: rgba(140,77,255,.075); color: #d1cdd8; font-size: 13px; }
.decision-list { border: 1px solid rgba(255,255,255,.07); border-radius: 16px; overflow: hidden; }
.decision-list article { display: grid; grid-template-columns: 95px 1fr 110px; gap: 20px; align-items: center; padding: 17px; border-bottom: 1px solid rgba(255,255,255,.06); }
.decision-list article:last-child { border: 0; }
.decision-list time { color: var(--muted); font-size: 12px; }
.decision-list h4 { margin: 0 0 4px; font-size: 15px; }
.decision-list p { margin: 0; color: var(--muted); font-size: 12px; }
.decision-list em { justify-self: end; padding: 5px 9px; border-radius: 999px; background: rgba(101,213,139,.09); color: var(--green); font-style: normal; font-size: 11px; }

/* Security */
.security-section { border-top: 1px solid rgba(255,255,255,.05); }
.security-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.security-item { min-height: 188px; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: rgba(18,20,29,.7); }
.security-item > span { width: 50px; height: 50px; display: grid; place-content: center; border: 1px solid rgba(179,136,255,.4); border-radius: 15px; color: var(--purple-2); font-size: 25px; }
.security-item h3 { margin: 17px 0 7px; font-size: 18px; line-height: 1.3; }
.security-item p { margin: 0; color: var(--muted); font-size: 14px; }
.security-link { margin: 18px 0 0; text-align: right; }
.security-link a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 10px; color: var(--purple-2); font-size: 14px; }

/* Early access */
.early-access { padding-top: 34px; }
.access-panel { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 32px 34px; border: 1px solid var(--line-strong); border-radius: 26px; background: radial-gradient(circle at 0 50%,rgba(91,32,223,.23),transparent 29%), linear-gradient(135deg, rgba(25,20,47,.95), rgba(15,17,25,.96)); box-shadow: 0 22px 65px rgba(0,0,0,.26); }
.access-icon { width: 74px; height: 74px; display: grid; place-content: center; border-radius: 21px; background: rgba(140,77,255,.16); color: var(--purple-2); font-size: 34px; }
.access-copy .eyebrow { margin-bottom: 6px; }
.access-copy h2 { margin: 0; font-size: 29px; line-height: 1.2; }
.access-copy p:not(.eyebrow) { margin: 7px 0 0; color: #bbb7c4; }
.access-copy small { display: block; margin-top: 8px; color: var(--purple-2); font-size: 12px; }

/* Footer */
.site-footer { padding-top: 58px; border-top: 1px solid rgba(255,255,255,.07); background: #07080c; }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 48px; padding-bottom: 44px; }
.brand--footer .brand-logo { width: 226px; }
.footer-brand p { max-width: 315px; color: var(--muted); font-size: 14px; }
.footer-toggle { width: 100%; padding: 0; border: 0; background: transparent; color: #f1eef7; text-align: left; font-weight: 750; font-size: 14px; cursor: default; }
.footer-toggle span { display: none; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; margin-top: 15px; }
.footer-grid a,
.footer-grid span { color: #9895a3; font-size: 13px; }
.footer-grid a:hover { color: var(--purple-2); }
.footer-bottom { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.07); color: #85828f; font-size: 12px; }
.status i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }

/* Modal */
.modal[hidden] { display: none; }
.modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 20px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(1,2,6,.84); backdrop-filter: blur(9px); }
.modal-dialog { position: relative; width: min(100%,500px); max-height: calc(100vh - 40px); overflow: auto; padding: 36px; border: 1px solid var(--line-strong); border-radius: 27px; background: #11131b; box-shadow: 0 30px 100px rgba(0,0,0,.72); }
.modal-dialog > img { margin-bottom: 15px; }
.modal-dialog h2 { margin: 0; font-size: 32px; }
.modal-dialog > p:not(.eyebrow):not(.form-note):not(.setup-warning) { color: var(--muted); }
.modal-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); cursor: pointer; font-size: 24px; }
.modal-open { overflow: hidden; }
.modal form,
.setup-form { display: flex; flex-direction: column; gap: 14px; margin-top: 22px; }
.modal label,
.setup-form label { display: flex; flex-direction: column; gap: 7px; color: #ddd9e4; font-size: 14px; }
.modal input:not([type=checkbox]),
.setup-form input { width: 100%; min-height: 49px; padding: 0 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: #0b0d13; color: #fff; outline: 0; }
.modal input:focus,
.setup-form input:focus { border-color: var(--purple-2); box-shadow: 0 0 0 3px rgba(140,77,255,.14); }
.consent { flex-direction: row !important; align-items: flex-start; gap: 10px !important; }
.consent input { margin-top: 4px; }
.consent a { color: var(--purple-2); text-decoration: underline; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-status { min-height: 22px; margin: 0; text-align: center; font-size: 14px; }
.form-status.is-success { color: var(--green); }
.form-status.is-error { color: var(--red); }
.form-note,
.setup-warning { margin: 15px 0 0; color: #898693; font-size: 12px; text-align: center; }
.setup-warning a { color: var(--purple-2); }

/* Animation */
.reveal { opacity: 0; transform: translateY(15px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes floatGlow { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-28px,20px,0) scale(1.07); } }

/* Utility/document pages */
.utility-page { min-height: 100vh; background: radial-gradient(circle at 50% 0,rgba(92,36,200,.18),transparent 34%),var(--bg); }
.utility-shell,
.document-shell { width: min(calc(100% - 36px),720px); margin: 0 auto; padding: 60px 0; }
.document-shell { width: min(calc(100% - 36px),860px); }
.utility-card,
.document-card { margin-top: 32px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(17,19,27,.93); }
.utility-card h1,
.document-card h1 { margin: 0 0 14px; font-size: 36px; }
.utility-card > p,
.document-card > p { color: var(--muted); }
.utility-actions { display: flex; gap: 12px; margin-top: 24px; }
.field-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.alert { padding: 12px 15px; border-radius: 11px; }
.alert p { margin: 3px 0; }
.alert--error { border: 1px solid rgba(255,100,116,.3); background: rgba(255,100,116,.08); color: #ffc0c7; }
.document-card h2 { margin: 31px 0 8px; font-size: 21px; }
.document-card code,
.utility-card code { color: var(--purple-2); }

/* Tablet */
@media (max-width: 1120px) {
    .container { width: min(calc(100% - 40px), var(--container)); }
    .site-nav { gap: 24px; }
    .brand-logo { width: 204px; }
    .hero-grid { grid-template-columns: 1fr; padding: 54px 0 58px; gap: 44px; }
    .hero-copy { max-width: 880px; text-align: center; margin: 0 auto; }
    .hero-lead { margin-left: auto; margin-right: auto; }
    .hero-actions { justify-content: center; }
    .hero-dashboard { width: min(100%,900px); margin: 0 auto; }
    .feature-grid { grid-template-columns: 1fr; }
    .feature-card { min-height: 0; }
    .process-steps { grid-template-columns: repeat(3,1fr); row-gap: 22px; }
    .process-steps:before { display: none; }
    .security-grid { grid-template-columns: repeat(2,1fr); }
    .footer-grid { grid-template-columns: 1.3fr repeat(2,1fr); }
    .footer-grid > .footer-column:last-child { grid-column: 2/4; }
    .demo-window { grid-template-columns: 165px 1fr; }
    .demo-metric-grid { grid-template-columns: repeat(2,1fr); }
    .allocation-list { grid-template-columns: repeat(2,1fr); }
}

/* Mobile/tablet navigation */
@media (max-width: 840px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .header-inner { min-height: 70px; gap: 12px; }
    .brand-logo { width: 174px; }
    .menu-toggle { display: block; margin-left: auto; }
    .button--login { display: none; }
    .site-nav {
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 15px 16px;
        border-bottom: 1px solid var(--line);
        background: #0d0f16;
        box-shadow: 0 20px 45px rgba(0,0,0,.38);
    }
    .site-nav.is-open { display: flex; }
    .site-nav a { min-height: 48px; display: flex; align-items: center; padding: 0 14px; border-bottom: 1px solid rgba(255,255,255,.06); }
    .site-nav a:last-child { border-bottom: 0; }

    .hero-grid { min-height: auto; padding: 42px 0 50px; gap: 34px; }
    .hero h1 { font-size: clamp(46px, 8.5vw, 62px); }
    .hero-lead { font-size: 17px; }
    .hero-dashboard { padding: 19px; border-radius: 21px; }
    .dash-metrics { grid-template-columns: repeat(2,1fr); }
    .dash-metrics article:nth-child(3) { display: none; }
    .dash-main { grid-template-columns: 1fr; }
    .line-card { display: none; }
    .allocation-card { min-height: 158px; }

    .section { padding: 66px 0; }
    .section-heading { margin-bottom: 30px; }
    .section-heading p:not(.eyebrow) { font-size: 16px; }

    .contrast-header { display: none; }
    .contrast-table { overflow: visible; border: 0; background: transparent; }
    .contrast-row {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px;
        margin-bottom: 12px;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: rgba(16,18,26,.78) !important;
    }
    .contrast-row > span {
        min-height: 48px;
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        padding: 2px 0;
        font-size: 15px;
    }
    .contrast-row > span small {
        display: block;
        width: auto;
        color: var(--red);
        text-transform: uppercase;
        letter-spacing: .08em;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.25;
    }
    .contrast-row > .contrast-good small { color: var(--purple-2); }
    .contrast-copy { min-width: 0; line-height: 1.42; }
    .contrast-row > b {
        width: 100%;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        color: #858290;
        font-size: 0;
        line-height: 1;
        transform: none;
    }
    .contrast-row > b:before { content: "↓"; font-size: 20px; line-height: 1; }
    .contrast-row i { display: none; }

    .feature-card { padding: 25px; }

    .process-steps { grid-template-columns: repeat(3,1fr); gap: 12px; }
    .process-step { min-height: 112px; padding: 5px; border: 1px solid transparent; border-radius: 17px; }
    .process-step.is-active { border-color: var(--line); background: rgba(140,77,255,.07); }
    .process-step i { width: 70px; height: 70px; font-size: 27px; }
    .process-step span { right: calc(50% - 27px); }
    .process-detail { align-items: flex-start; }

    .demo-tabs { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
    .demo-tab { flex: 0 0 auto; min-width: 158px; border-bottom: 0; }
    .demo-window { grid-template-columns: 1fr; min-height: 0; }
    .demo-sidebar { display: none; }
    .demo-content { padding: 22px; }
    .demo-panels { grid-template-columns: 1fr; }
    .demo-panels > section { min-height: 240px; }
    .allocation-list { grid-template-columns: 1fr 1fr; }
    .asset-table > div { grid-template-columns: 1.25fr .85fr 1fr; }
    .asset-table > div span:nth-child(2) { display: none; }
    .check-grid { grid-template-columns: 1fr 1fr; }

    .security-grid { grid-template-columns: 1fr 1fr; }
    .security-item { min-height: 0; }
    .access-panel { grid-template-columns: auto 1fr; }
    .access-panel > .button { grid-column: 1/3; }

    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1/3; }
    .footer-grid > .footer-column:last-child { grid-column: auto; }
    .footer-bottom { flex-direction: column; align-items: flex-start; padding: 20px 0; }
}

/* Phones */
@media (max-width: 560px) {
    .container { width: min(calc(100% - 24px), var(--container)); }
    .header-inner { min-height: 64px; }
    .brand-logo { width: 148px; }
    .site-nav { top: 64px; }

    .button { min-height: 48px; font-size: 14px; }
    .hero-grid { padding: 34px 0 42px; gap: 27px; }
    .hero-copy { text-align: left; }
    .hero h1 { font-size: 42px; line-height: 1.04; }
    .hero-lead { margin-top: 20px; font-size: 16px; line-height: 1.58; }
    .hero-actions { flex-direction: column; margin-top: 25px; }
    .hero-actions .button { width: 100%; }
    .availability { font-size: 11px; }

    .hero-dashboard { padding: 15px; }
    .demo-ribbon { top: 12px; right: 12px; font-size: 9px; }
    .dash-head { margin-bottom: 13px; padding-right: 90px; }
    .dash-head span { font-size: 18px; }
    .dash-head small { font-size: 11px; }
    .dash-metrics { grid-template-columns: 1fr 1fr; gap: 8px; }
    .dash-metrics article { padding: 12px; }
    .dash-metrics strong { font-size: 16px; white-space: normal; }
    .dash-metrics span,
    .dash-metrics small { font-size: 10px; }
    .allocation-card { min-height: 142px; padding: 12px; gap: 12px; }
    .donut { flex-basis: 100px; width: 100px; height: 100px; }
    .donut:after { inset: 20px; }
    .donut > span { font-size: 12px; }
    .allocation-card li { font-size: 10px; padding: 3px 0; }
    .demo-note { font-size: 9px; line-height: 1.4; }

    .section { padding: 57px 0; }
    .section-heading { margin-bottom: 25px; }
    .section-heading h2 { font-size: 31px; }
    .section-heading p:not(.eyebrow) { font-size: 15px; }
    .eyebrow { font-size: 10px; }

    .contrast-row { padding: 16px; }
    .contrast-row > span { grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 11px; font-size: 14px; }
    .contrast-row > span small { width: auto; }

    .feature-grid { gap: 14px; }
    .feature-card { display: block; padding: 23px; }
    .feature-icon { width: 56px; height: 56px; font-size: 27px; }
    .feature-card h3 { margin-top: 17px; font-size: 21px; }
    .feature-card p { font-size: 14px; }

    .process-steps { grid-template-columns: repeat(2,1fr); gap: 10px; }
    .process-step { min-height: 105px; }
    .process-step i { width: 65px; height: 65px; font-size: 25px; }
    .process-step b { font-size: 13px; }
    .process-detail { min-height: 0; padding: 20px; gap: 14px; }
    .process-detail-icon { flex-basis: 52px; width: 52px; height: 52px; font-size: 26px; }
    .process-detail h3 { font-size: 19px; }
    .process-detail p { font-size: 14px; }

    .product-demo { border-radius: 20px; }
    .demo-tabs { padding: 8px; gap: 8px; border-bottom: 1px solid var(--line); }
    .demo-tab { min-width: auto; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 11px; }
    .demo-tab.is-active { border-color: transparent; }
    .demo-content { padding: 14px; }
    .demo-metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .demo-metric-grid article { padding: 12px; }
    .demo-metric-grid strong { font-size: 16px; line-height: 1.25; }
    .demo-metric-grid span,
    .demo-metric-grid small { font-size: 10px; }
    .demo-panels { gap: 9px; margin-top: 9px; }
    .demo-panels > section { min-height: 210px; padding: 14px; }
    .mini-line { height: 155px; gap: 6px; }
    .overview-allocation { height: 175px; gap: 14px; }
    .donut--small { flex: 0 0 102px; width: 102px; height: 102px; }
    .overview-allocation li { font-size: 11px; }
    .demo-title-row { flex-direction: column; gap: 10px; }
    .demo-title-row h3 { font-size: 20px; }
    .allocation-list { grid-template-columns: 1fr; }
    .asset-table > div { grid-template-columns: 1.4fr 1fr; }
    .asset-table > div span:nth-child(3) { display: none; }
    .asset-table > div { font-size: 11px; padding: 12px; }
    .cash-bars { height: 220px; gap: 7px; padding: 15px 6px 0; }
    .cash-bars b { display: none; }
    .cash-bars i { width: 65%; }
    .income-summary { grid-template-columns: 1fr; }
    .purchase-head { flex-direction: column; }
    .purchase-head h3 { font-size: 21px; }
    .check-grid { grid-template-columns: 1fr; }
    .decision-list article { grid-template-columns: 70px 1fr; gap: 10px; padding: 13px; }
    .decision-list em { display: none; }

    .security-grid { grid-template-columns: 1fr; gap: 12px; }
    .security-item { display: grid; grid-template-columns: 50px 1fr; column-gap: 15px; padding: 19px; }
    .security-item > span { grid-row: 1/3; }
    .security-item h3 { margin: 1px 0 5px; font-size: 17px; }
    .security-item p { font-size: 13px; }
    .security-link { text-align: left; }

    .access-panel { grid-template-columns: 1fr; gap: 18px; padding: 25px 20px; text-align: center; }
    .access-icon { margin: 0 auto; }
    .access-copy h2 { font-size: 25px; }
    .access-panel > .button { grid-column: auto; }

    .site-footer { padding-top: 42px; }
    .footer-grid { grid-template-columns: 1fr; gap: 0; padding-bottom: 30px; }
    .footer-brand { grid-column: auto; padding-bottom: 24px; }
    .brand--footer .brand-logo { width: 210px; }
    .footer-brand p { font-size: 13px; }
    .footer-column { border-top: 1px solid rgba(255,255,255,.07); }
    .footer-toggle { min-height: 52px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
    .footer-toggle span { display: inline; color: var(--purple-2); font-size: 20px; transition: transform .2s; }
    .footer-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
    .footer-links { display: none; margin: 0; padding: 0 0 17px; }
    .footer-column.is-open .footer-links { display: flex; }
    .footer-bottom { gap: 10px; font-size: 11px; }

    .utility-actions { flex-direction: column; }
    .field-grid { grid-template-columns: 1fr; }
    .utility-card,
    .document-card { padding: 24px; }
    .modal-dialog { padding: 27px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hero-glow { animation: none; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .button,
    .feature-card,
    .process-step i { transition: none; }
}

/* v0.1.4 — product status, accessibility and legal pages */
.nav-login-mobile { display: none; }
.cta-explainer { margin: 7px 0 0; color: var(--muted-2); font-size: 12px; }
.launch-status {
    max-width: 650px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}
.launch-status > div {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(179,136,255,.18);
    border-radius: 13px;
    background: rgba(255,255,255,.018);
}
.launch-status b,
.launch-status span { display: block; }
.launch-status b { margin-bottom: 3px; color: #e8e2f4; font-size: 12px; }
.launch-status span { color: var(--muted); font-size: 11px; line-height: 1.45; }

.process-step.is-active i {
    border-color: var(--purple-2);
    background: radial-gradient(circle, rgba(188,147,255,.25), rgba(91,32,223,.1));
    box-shadow: inset 0 0 22px rgba(140,77,255,.2), 0 0 26px rgba(140,77,255,.22);
}
.process-step.is-active b { color: var(--purple-2); }

.demo-tabs-wrap { position: relative; overflow: hidden; }
.demo-tabs-wrap:after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    width: 42px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(10,11,16,.96));
    opacity: 0;
}
.demo-scroll-hint {
    display: none;
    margin: 7px 0 0;
    color: var(--muted-2);
    font-size: 12px;
    text-align: center;
    transition: opacity .2s;
}
.demo-scroll-hint.is-used { opacity: .35; }

.transport-warning {
    margin: 2px 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(241,182,92,.35);
    border-radius: 11px;
    color: #f3cf91;
    background: rgba(241,182,92,.07);
    font-size: 13px;
}
.form-success { padding: 12px 0 4px; text-align: center; outline: none; }
.form-success-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    margin: 0 auto 17px;
    border: 1px solid rgba(104,216,142,.5);
    border-radius: 50%;
    color: var(--green);
    background: rgba(104,216,142,.08);
    font-size: 28px;
}
.form-success h3 { margin: 0 0 8px; font-size: 27px; }
.form-success p { margin: 0 0 22px; color: var(--muted); }

.document-intro {
    margin: -4px 0 30px;
    padding: 16px 18px;
    border-left: 3px solid var(--purple);
    color: #d1cdda;
    background: rgba(140,77,255,.055);
}
.document-section { padding: 8px 0 4px; }
.document-section ul { margin: 10px 0 14px; padding-left: 24px; color: var(--muted); }
.document-section li { margin: 7px 0; }
.document-section a { color: var(--purple-2); text-decoration: underline; text-underline-offset: 3px; }
.document-updated { margin-top: 35px; color: var(--muted-2); font-size: 13px; }
.error-card { text-align: center; }
.error-code { margin: 0; color: var(--purple-2); font-size: clamp(70px, 12vw, 140px); font-weight: 800; line-height: 1; }

@media (min-width: 841px) {
    .section { padding-top: 68px; padding-bottom: 68px; }
}

@media (max-width: 840px) {
    .site-nav .nav-login-mobile { display: flex; align-items: center; }
    .launch-status { grid-template-columns: 1fr; max-width: none; }
    .launch-status > div { padding: 11px 12px; }
    .demo-tabs-wrap:after { opacity: 1; }
    .demo-scroll-hint { display: block; }
}

@media (max-width: 560px) {
    .cta-explainer { font-size: 12px; }
    .launch-status { margin-top: 14px; }
    .launch-status b { font-size: 13px; }
    .launch-status span { font-size: 12px; }
    .dash-metrics span,
    .dash-metrics small,
    .allocation-card li,
    .demo-note,
    .demo-disclaimer { font-size: 12px; }
    .security-item p,
    .feature-card p,
    .process-detail p { font-size: 14px; }
    .document-card h1 { font-size: 32px; }
    .document-card h2 { font-size: 21px; }
    .document-card p,
    .document-section li { font-size: 15px; }
}

/* v0.1.4 — mobile navigation and contrast-pair alignment fixes */

/* v0.2.0 compatibility — authentication and protected application entry */
.auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 20%, rgba(116,55,245,.18), transparent 28%),
        radial-gradient(circle at 90% 85%, rgba(91,32,223,.12), transparent 30%),
        var(--bg-deep);
}
.auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, .95fr) minmax(500px, 1.05fr);
}
.auth-brand-panel {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(42px, 6vw, 86px);
    border-right: 1px solid rgba(255,255,255,.07);
    background:
        linear-gradient(155deg, rgba(15,16,24,.97), rgba(7,8,13,.98)),
        var(--bg);
}
.auth-brand-panel .brand-logo { width: 244px; }
.auth-brand-copy { max-width: 650px; margin: 90px 0; }
.auth-brand-copy h1 {
    margin: 0;
    font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
    font-size: clamp(48px, 4.6vw, 72px);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.auth-brand-copy h1 em { color: var(--purple-2); font-style: normal; }
.auth-brand-copy > p:last-child { max-width: 580px; margin: 26px 0 0; color: #b9b5c3; font-size: 18px; }
.auth-trust-list { display: flex; flex-wrap: wrap; gap: 10px; }
.auth-trust-list span {
    padding: 8px 12px;
    border: 1px solid rgba(179,136,255,.22);
    border-radius: 999px;
    color: #c5c0cf;
    background: rgba(255,255,255,.018);
    font-size: 12px;
}
.auth-form-panel { display: grid; place-items: center; padding: 42px; }
.auth-card { width: min(100%, 470px); }
.auth-shell--single {
    display: block;
}
.auth-shell--single .auth-form-panel {
    min-height: 100vh;
    padding: clamp(34px, 5vw, 64px) 24px;
}
.auth-card--standalone {
    width: min(100%, 520px);
}
.auth-card--standalone > .brand {
    display: inline-flex;
    margin-bottom: 34px;
}
.auth-card--standalone > .brand .brand-logo {
    width: 220px;
}
.auth-card--standalone h1 {
    margin: 0;
    font-size: clamp(36px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.auth-card--standalone .auth-intro {
    max-width: 500px;
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.62;
}
.auth-mobile-logo { display: none; margin-bottom: 38px; }
.auth-card h2 { margin: 0; font-size: clamp(36px, 4vw, 48px); letter-spacing: -.035em; }
.auth-intro { margin: 10px 0 0; color: var(--muted); }
.auth-alert { margin-top: 24px; }
.auth-form { display: flex; flex-direction: column; gap: 9px; margin-top: 28px; }
.auth-form label { margin-top: 8px; color: #ded9e7; font-size: 14px; font-weight: 650; }
.auth-form input {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    outline: 0;
    color: #fff;
    background: rgba(10,11,17,.94);
    transition: border-color .18s, box-shadow .18s, background .18s;
}
.auth-form input:focus {
    border-color: var(--purple-2);
    background: #0d0e16;
    box-shadow: 0 0 0 4px rgba(140,77,255,.13);
}
.password-field { position: relative; }
.password-field input { padding-right: 96px; }
.password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    min-width: 78px;
    min-height: 38px;
    padding: 0 10px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 9px;
    color: var(--purple-2);
    background: rgba(140,77,255,.09);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}
.password-toggle:focus-visible { outline: 3px solid rgba(179,136,255,.4); outline-offset: 2px; }
.auth-submit { margin-top: 17px; }
.auth-help { display: flex; justify-content: space-between; gap: 20px; margin-top: 24px; color: var(--muted-2); font-size: 13px; }
.auth-help p { margin: 0; }
.auth-help a { color: var(--purple-2); }
.auth-back { display: inline-block; margin-top: 45px; color: #9894a2; font-size: 13px; }
.auth-back:hover { color: var(--purple-2); }

.app-page { min-height: 100vh; background: #090a0f; }
.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.app-header {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 12px clamp(22px, 4vw, 58px);
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: rgba(10,11,16,.97);
}
.app-logo img { display: block; width: 190px; height: auto; }
.app-header-actions { display: flex; align-items: center; gap: 20px; }
.app-public-link { color: var(--muted); font-size: 13px; }
.app-public-link:hover { color: var(--purple-2); }
.app-user { display: flex; align-items: center; gap: 11px; }
.app-user-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(188,147,255,.4);
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, rgba(91,32,223,.65), rgba(140,77,255,.34));
    font-weight: 800;
}
.app-user div { display: flex; flex-direction: column; line-height: 1.25; }
.app-user b { font-size: 13px; }
.app-user small { color: var(--muted-2); font-size: 11px; }
.logout-form { margin: 0; }
.app-logout { min-height: 42px; padding: 0 17px; font-size: 13px; }
.app-main { width: min(calc(100% - 48px), 1180px); flex: 1; margin: 0 auto; padding: 62px 0 72px; }
.app-welcome { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; }
.app-welcome > div { max-width: 800px; }
.app-welcome h1 { margin: 0; font-size: clamp(40px, 5vw, 68px); line-height: 1.04; letter-spacing: -.045em; }
.app-welcome > div > p:last-child { max-width: 750px; margin: 20px 0 0; color: #b6b2bf; font-size: 17px; }
.app-version-badge {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(179,136,255,.3);
    border-radius: 999px;
    color: var(--purple-2);
    background: rgba(140,77,255,.07);
    font-size: 13px;
    font-weight: 750;
}
.app-status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 46px; }
.app-status-grid article {
    min-height: 190px;
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(20,22,31,.96), rgba(12,13,19,.96));
}
.app-status-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(179,136,255,.28);
    border-radius: 14px;
    color: var(--purple-2);
    background: rgba(140,77,255,.07);
    font-size: 21px;
}
.app-status-icon--success { color: var(--green); border-color: rgba(104,216,142,.32); background: rgba(104,216,142,.07); }
.app-status-grid small { color: var(--muted-2); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.app-status-grid h2 { margin: 5px 0 7px; font-size: 24px; }
.app-status-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.app-roadmap-card {
    margin-top: 18px;
    padding: 30px;
    border: 1px solid var(--line-strong);
    border-radius: 22px;
    background: radial-gradient(circle at 90% 0, rgba(117,56,255,.12), transparent 34%), rgba(15,17,24,.97);
}
.app-roadmap-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.app-roadmap-head h2 { margin: 0; font-size: 29px; }
.app-roadmap-head > span { padding: 8px 11px; border-radius: 999px; color: #c5c0cf; background: rgba(255,255,255,.045); font-size: 11px; }
.app-roadmap-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 27px; }
.app-roadmap-list > div { display: flex; gap: 13px; padding: 17px; border: 1px solid rgba(255,255,255,.07); border-radius: 15px; background: rgba(255,255,255,.018); }
.app-roadmap-list b { color: var(--purple-2); font-size: 12px; }
.app-roadmap-list span { display: flex; flex-direction: column; gap: 4px; }
.app-roadmap-list strong { font-size: 14px; }
.app-roadmap-list small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.app-account-card { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--line); }
.app-account-card > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; padding: 19px; background: #11131b; }
.app-account-card small { color: var(--muted-2); font-size: 11px; }
.app-account-card b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.app-footer { display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(22px, 4vw, 58px); border-top: 1px solid rgba(255,255,255,.06); color: var(--muted-2); font-size: 11px; }

@media (max-width: 980px) {
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand-panel { display: none; }
    .auth-form-panel { min-height: 100vh; padding: 42px 24px; }
    .auth-mobile-logo { display: inline-flex; }
    .app-status-grid { grid-template-columns: 1fr; }
    .app-status-grid article { min-height: 0; }
    .app-roadmap-list { grid-template-columns: 1fr; }
    .app-account-card { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
    .auth-form-panel { align-items: start; padding-top: 34px; }
    .auth-card { margin: 0 auto; }
    .auth-mobile-logo img { width: 185px; }
    .auth-card h2 { font-size: 38px; }
    .auth-help { flex-direction: column; gap: 4px; }
    .auth-back { margin-top: 35px; }
    .app-header { min-height: 68px; padding: 10px 14px; }
    .app-logo img { width: 145px; }
    .app-public-link,
    .app-user div { display: none; }
    .app-header-actions { gap: 9px; }
    .app-user-avatar { width: 38px; height: 38px; border-radius: 11px; }
    .app-logout { min-height: 38px; padding: 0 13px; }
    .app-main { width: min(calc(100% - 28px), 1180px); padding: 42px 0 52px; }
    .app-welcome { flex-direction: column; gap: 18px; }
    .app-welcome h1 { font-size: 40px; }
    .app-welcome > div > p:last-child { font-size: 15px; }
    .app-version-badge { order: -1; }
    .app-status-grid { margin-top: 30px; }
    .app-status-grid article { padding: 20px; }
    .app-roadmap-card { padding: 21px; }
    .app-roadmap-head { flex-direction: column; }
    .app-roadmap-head h2 { font-size: 25px; }
    .app-account-card { grid-template-columns: 1fr; }
    .app-footer { flex-direction: column; gap: 5px; padding: 20px 15px; }
}
.alert--success { border: 1px solid rgba(104,216,142,.3); background: rgba(104,216,142,.08); color: #adf0c3; }
.auth-form input[type="hidden"] { display: none !important; }

/* ========================================================================== */
/* RUFAME v0.3.1 — Application Shell & Admin Console                        */
/* ========================================================================== */

select, textarea { font: inherit; color: inherit; }
.button--compact { min-height: 42px; padding: 0 17px; border-radius: 11px; font-size: 13px; }
.button--ghost { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.025); color: #d3d0dc; }
.button--ghost:hover { border-color: rgba(188,147,255,.38); background: rgba(140,77,255,.08); }
.button--danger { border-color: rgba(255,104,120,.45); background: rgba(255,104,120,.09); color: #ff9ba6; }
.button--danger:hover { border-color: var(--red); background: rgba(255,104,120,.15); }

.app-console-page { background: #08090e; }
.console-menu-open { overflow: hidden; }
.console-shell { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0,1fr); background: #08090e; }
.console-sidebar {
    position: fixed; z-index: 160; inset: 0 auto 0 0; width: 258px;
    display: flex; flex-direction: column; padding: 18px 14px 16px;
    border-right: 1px solid rgba(255,255,255,.065);
    background: linear-gradient(180deg, #0c0d14 0%, #090a10 100%);
}
.console-brand-row { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px 12px; }
.console-brand img { display: block; width: 172px; height: auto; }
.console-close { display: none; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: transparent; cursor: pointer; font-size: 23px; }
.console-nav { flex: 1; overflow-y: auto; padding: 16px 0; }
.console-nav-section { margin: 23px 12px 8px; color: #686675; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.console-nav-link {
    min-height: 46px; display: flex; align-items: center; gap: 12px; margin: 3px 0; padding: 8px 12px;
    border: 1px solid transparent; border-radius: 12px; color: #aaa8b5; font-size: 13px; font-weight: 600;
    transition: .18s ease;
}
.console-nav-link:hover { color: #fff; background: rgba(255,255,255,.035); }
.console-nav-link.is-active { color: #fff; border-color: rgba(155,100,255,.28); background: linear-gradient(90deg, rgba(112,45,244,.22), rgba(112,45,244,.06)); }
.console-nav-link.is-disabled { opacity: .5; cursor: default; pointer-events: none; }
.console-nav-link small { margin-left: auto; color: #777483; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.console-nav-icon { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(188,147,255,.22); border-radius: 8px; color: var(--purple-2); background: rgba(140,77,255,.06); font-size: 14px; }
.console-nav-link.is-active .console-nav-icon { border-color: rgba(188,147,255,.48); box-shadow: 0 0 18px rgba(140,77,255,.18); }
.console-sidebar-footer { padding: 14px 10px 0; border-top: 1px solid rgba(255,255,255,.06); color: var(--muted-2); font-size: 11px; }
.console-sidebar-footer > a { display: inline-block; margin-top: 9px; color: #aaa7b4; }
.console-version { display: flex; align-items: center; gap: 7px; }
.console-version span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(104,216,142,.65); }
.console-version b { color: #c7c3ce; }
.console-workspace { grid-column: 2; min-width: 0; min-height: 100vh; display: flex; flex-direction: column; }
.console-topbar {
    position: sticky; z-index: 120; top: 0; min-height: 70px; display: flex; align-items: center; gap: 20px;
    padding: 10px 28px; border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(8,9,14,.92); backdrop-filter: blur(20px);
}
.console-menu { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); cursor: pointer; }
.console-menu span { display: block; width: 20px; height: 2px; margin: 4px 0; background: #dedbe5; }
.console-menu b { position: absolute; clip: rect(0,0,0,0); }
.console-breadcrumbs { min-width: 0; display: flex; align-items: center; gap: 9px; flex: 1; color: #757381; font-size: 12px; white-space: nowrap; overflow: hidden; }
.console-breadcrumbs a { color: #9c99a7; }
.console-breadcrumbs b { overflow: hidden; color: #d3d0da; text-overflow: ellipsis; }
.console-account { display: flex; align-items: center; gap: 11px; }
.console-account-link { display: flex; align-items: center; gap: 10px; }
.console-account-link > span:last-child { display: flex; flex-direction: column; line-height: 1.25; }
.console-account-link b { max-width: 180px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.console-account-link small { color: #777481; font-size: 10px; }
.console-avatar { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(188,147,255,.36); border-radius: 10px; color: #fff; background: linear-gradient(145deg, rgba(140,77,255,.25), rgba(140,77,255,.07)); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.console-logout { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; color: #aaa7b4; background: rgba(255,255,255,.025); cursor: pointer; font-size: 17px; }
.console-logout:hover { color: #fff; border-color: rgba(188,147,255,.4); }
.console-main { width: min(calc(100% - 56px), 1390px); flex: 1; margin: 0 auto; padding: 42px 0 64px; }
.console-footer { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 16px 28px; border-top: 1px solid rgba(255,255,255,.055); color: #666471; font-size: 10px; }
.console-overlay { display: none; }
.console-overlay[hidden] { display: none !important; }

.console-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.console-page-header > div:first-child { max-width: 830px; }
.console-page-header .eyebrow { margin-bottom: 8px; font-size: 10px; }
.console-page-header h1 { margin: 0; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -.035em; }
.console-page-header > div:first-child > p:last-child { max-width: 720px; margin: 10px 0 0; color: #9996a4; font-size: 14px; }
.console-page-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.console-flash { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 12px 16px; border: 1px solid rgba(104,216,142,.28); border-radius: 12px; color: #c8f1d5; background: rgba(104,216,142,.075); font-size: 13px; }
.console-flash--error { border-color: rgba(255,104,120,.32); color: #ffc0c7; background: rgba(255,104,120,.075); }
.console-flash--warning { border-color: rgba(241,182,92,.3); color: #f5d59e; background: rgba(241,182,92,.075); }
.console-flash button { border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 18px; }

.console-panel { border: 1px solid rgba(196,180,255,.12); border-radius: 18px; background: linear-gradient(150deg, rgba(19,21,31,.96), rgba(13,15,23,.96)); box-shadow: 0 18px 60px rgba(0,0,0,.13); }
.console-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 23px 18px; border-bottom: 1px solid rgba(255,255,255,.055); }
.console-panel-head .eyebrow { margin: 0 0 4px; font-size: 9px; }
.console-panel-head h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.console-panel-head > a { color: var(--purple-2); font-size: 11px; }
.console-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 18px; }
.console-stat-card { min-height: 132px; display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid rgba(196,180,255,.11); border-radius: 17px; background: #11131c; }
.console-stat-icon { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(188,147,255,.28); border-radius: 11px; color: var(--purple-2); background: rgba(140,77,255,.07); }
.console-stat-icon--success { color: var(--green); border-color: rgba(104,216,142,.28); background: rgba(104,216,142,.07); }
.console-stat-icon--warning { color: var(--orange); border-color: rgba(241,182,92,.3); background: rgba(241,182,92,.07); }
.console-stat-card div { min-width: 0; }
.console-stat-card small { display: block; color: #777582; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.console-stat-card strong { display: block; margin: 4px 0 2px; overflow: hidden; font-size: 27px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.console-stat-card p { margin: 0; color: #8e8b98; font-size: 11px; line-height: 1.45; }
.console-grid { display: grid; gap: 16px; }
.console-grid--main { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 16px; }
.activity-list { padding: 7px 20px 13px; }
.activity-item { min-height: 62px; display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 13px; border-bottom: 1px solid rgba(255,255,255,.045); }
.activity-item:last-child { border-bottom: 0; }
.activity-dot { width: 8px; height: 8px; border-radius: 50%; background: #777582; box-shadow: 0 0 0 4px rgba(119,117,130,.07); }
.activity-dot--login_success { background: var(--green); box-shadow: 0 0 0 4px rgba(104,216,142,.08); }
.activity-dot--login_failure,.activity-dot--login_blocked,.activity-dot--access_denied { background: var(--red); box-shadow: 0 0 0 4px rgba(255,104,120,.08); }
.activity-dot--audit { background: var(--purple-2); box-shadow: 0 0 0 4px rgba(188,147,255,.08); }
.activity-item div { min-width: 0; display: flex; flex-direction: column; }
.activity-item b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.activity-item small { overflow: hidden; color: #777582; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.activity-item time { color: #6d6a77; font-size: 9px; white-space: nowrap; }
.console-empty { min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }
.console-empty > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; color: var(--purple-2); background: rgba(140,77,255,.05); }
.console-empty h3 { margin: 13px 0 4px; font-size: 15px; }
.console-empty p { max-width: 390px; margin: 0; color: #7f7c89; font-size: 11px; }
.console-empty--large { min-height: 330px; }
.console-empty--large .button { margin-top: 18px; }
.console-roadmap-panel { overflow: hidden; }
.console-module-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.05); }
.console-module-grid article { min-height: 165px; display: flex; flex-direction: column; padding: 21px; background: #10121a; }
.console-module-grid article > span { color: var(--purple-2); font-size: 10px; font-weight: 800; }
.console-module-grid h3 { margin: 15px 0 5px; font-size: 15px; }
.console-module-grid p { margin: 0; color: #85828f; font-size: 11px; line-height: 1.55; }
.console-module-grid article > b { margin-top: auto; padding-top: 15px; color: #666370; font-size: 9px; text-transform: uppercase; }

.status-badge,.role-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 25px; padding: 3px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; font-size: 9px; font-weight: 750; white-space: nowrap; }
.status-badge--active { color: #91e7ad; border-color: rgba(104,216,142,.25); background: rgba(104,216,142,.07); }
.status-badge--blocked { color: #ff9da7; border-color: rgba(255,104,120,.28); background: rgba(255,104,120,.07); }
.status-badge--disabled { color: #9b98a5; background: rgba(255,255,255,.035); }
.status-badge--neutral { color: #aaa6b4; background: rgba(255,255,255,.035); }
.role-badge--admin { color: #c9a7ff; border-color: rgba(188,147,255,.3); background: rgba(140,77,255,.09); }
.role-badge--user { color: #9fd0ff; border-color: rgba(96,176,255,.25); background: rgba(96,176,255,.065); }
.role-badge--readonly { color: #d3d0da; background: rgba(255,255,255,.04); }

.console-filter-panel { margin-bottom: 14px; padding: 17px; }
.console-filter-form { display: grid; grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(150px,.65fr)) auto; align-items: end; gap: 11px; }
.console-filter-form label,.console-field { display: flex; flex-direction: column; gap: 6px; color: #aaa7b4; font-size: 10px; font-weight: 650; }
.console-filter-form input,.console-filter-form select,.console-field input,.console-field select,.console-field textarea {
    width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid rgba(196,180,255,.14); border-radius: 10px;
    outline: none; color: #eeeaf4; background: #0c0e15; font-size: 12px; transition: border-color .16s, box-shadow .16s;
}
.console-field textarea { min-height: 110px; padding-top: 12px; resize: vertical; }
.console-filter-form input:focus,.console-filter-form select:focus,.console-field input:focus,.console-field select:focus,.console-field textarea:focus { border-color: rgba(188,147,255,.55); box-shadow: 0 0 0 3px rgba(140,77,255,.09); }
.console-field input:disabled { color: #777582; background: #0a0b11; }
.console-field small,.field-hint { margin: 0; color: #6f6c79; font-size: 9px; font-weight: 400; line-height: 1.45; }
.console-filter-actions { display: flex; gap: 8px; }
.console-table-panel { overflow: hidden; }
.console-table-summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 19px; border-bottom: 1px solid rgba(255,255,255,.055); color: #777582; font-size: 10px; }
.console-table-summary b { color: #d0ccd7; }
.console-table-wrap { overflow-x: auto; }
.console-table { width: 100%; border-collapse: collapse; }
.console-table th { padding: 12px 16px; color: #686572; background: rgba(255,255,255,.012); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.console-table td { padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.045); color: #aaa7b4; font-size: 11px; vertical-align: middle; }
.console-table tbody tr:hover { background: rgba(140,77,255,.025); }
.user-cell { min-width: 220px; display: flex; align-items: center; gap: 11px; }
.user-cell > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.user-cell b,.user-cell small { max-width: 250px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-cell b { color: #e9e6ee; font-size: 12px; }
.user-cell small { color: #74717e; font-size: 10px; }
.table-note { display: block; margin-top: 5px; color: #8e8a97; font-size: 8px; }
.table-note--warning { color: var(--orange); }
.table-action { width: 48px; text-align: right; }
.table-action a { width: 31px; height: 31px; display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; color: var(--purple-2); }
.console-pagination { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.055); color: #807d8a; font-size: 11px; }
.console-pagination a { color: #c2beca; }
.console-pagination a.is-disabled { opacity: .3; pointer-events: none; }

.console-form-layout,.password-page-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 16px; }
.console-form-panel { padding: 25px; }
.console-help-panel { padding: 24px; }
.console-help-panel h2 { margin: 0 0 12px; font-size: 22px; }
.console-check-list { margin: 0; padding: 0; list-style: none; }
.console-check-list li { position: relative; margin: 0; padding: 11px 0 11px 22px; border-bottom: 1px solid rgba(255,255,255,.05); color: #918e9a; font-size: 11px; }
.console-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--purple-2); }
.console-form { display: flex; flex-direction: column; gap: 22px; }
.console-form--compact { gap: 14px; }
.console-form-section { padding-bottom: 23px; border-bottom: 1px solid rgba(255,255,255,.055); }
.console-form-section:last-of-type { padding-bottom: 0; border-bottom: 0; }
.console-form-section-head { display: flex; gap: 13px; margin-bottom: 18px; }
.console-form-section-head > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(188,147,255,.28); border-radius: 9px; color: var(--purple-2); background: rgba(140,77,255,.06); font-size: 9px; font-weight: 800; }
.console-form-section-head h2 { margin: 0; font-size: 17px; }
.console-form-section-head p { margin: 3px 0 0; color: #777481; font-size: 10px; }
.console-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.console-checkbox { display: flex; align-items: flex-start; gap: 11px; margin-top: 17px; cursor: pointer; }
.console-checkbox input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--purple); }
.console-checkbox > span { display: flex; flex-direction: column; }
.console-checkbox b { font-size: 11px; }
.console-checkbox small { color: #777481; font-size: 9px; }
.console-form-submit { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 2px; }
.console-form-submit--inline { justify-content: flex-start; }
.form-errors { margin-bottom: 20px; padding: 14px 17px; border: 1px solid rgba(255,104,120,.3); border-radius: 12px; color: #ffc2c8; background: rgba(255,104,120,.065); font-size: 11px; }
.form-errors ul { margin: 6px 0 0; padding-left: 18px; }
.password-field { position: relative; }
.password-field input { padding-right: 82px; }
.password-toggle { position: absolute; top: 50%; right: 7px; transform: translateY(-50%); min-height: 30px; padding: 0 9px; border: 0; border-radius: 7px; color: var(--purple-2); background: rgba(140,77,255,.08); cursor: pointer; font-size: 9px; }

.user-profile-hero { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 16px; padding: 23px; border: 1px solid rgba(196,180,255,.13); border-radius: 18px; background: linear-gradient(110deg, rgba(112,45,244,.12), rgba(17,19,28,.95) 40%); }
.user-profile-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.user-profile-avatar { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(188,147,255,.42); border-radius: 16px; color: #fff; background: linear-gradient(145deg, #5f24d5, #9d61ff); box-shadow: 0 10px 30px rgba(91,32,223,.25); font-size: 20px; font-weight: 800; text-transform: uppercase; }
.user-profile-main h2 { margin: 7px 0 1px; overflow: hidden; font-size: 22px; text-overflow: ellipsis; white-space: nowrap; }
.user-profile-main p { margin: 0; color: #85818e; font-size: 11px; }
.user-profile-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.user-profile-meta { display: grid; grid-template-columns: repeat(3,minmax(115px,1fr)); gap: 1px; border: 1px solid rgba(255,255,255,.055); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.055); }
.user-profile-meta > div { display: flex; flex-direction: column; padding: 12px 14px; background: rgba(9,10,15,.66); }
.user-profile-meta small { color: #666370; font-size: 8px; text-transform: uppercase; }
.user-profile-meta b { margin-top: 3px; color: #c7c3ce; font-size: 10px; white-space: nowrap; }
.console-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 315px; align-items: start; gap: 16px; }
.console-detail-main { display: flex; flex-direction: column; gap: 16px; }
.console-detail-main > .console-panel { padding-bottom: 22px; }
.console-detail-main > .console-panel > .console-form,.console-detail-main > .console-panel > .security-facts,.console-detail-main > .console-panel > .console-action-list,.console-detail-main > .console-panel > .console-danger-details,.console-detail-main > .console-panel > .console-tabs-static { margin-left: 23px; margin-right: 23px; }
.console-detail-main > .console-panel > .console-form { margin-top: 20px; }
.console-sticky-panel { position: sticky; top: 88px; padding-bottom: 21px; }
.console-sticky-panel .console-form { margin: 18px 20px 0; }
.console-sticky-panel hr { height: 1px; margin: 21px 20px; border: 0; background: rgba(255,255,255,.055); }
.security-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 20px; border: 1px solid rgba(255,255,255,.055); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.055); }
.security-facts > div { display: flex; flex-direction: column; padding: 14px; background: #0d0f16; }
.security-facts small { color: #6e6b78; font-size: 8px; text-transform: uppercase; }
.security-facts b { margin-top: 5px; overflow: hidden; color: #d4d0db; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.console-inline-warning { margin: 18px 23px 0; padding: 11px 14px; border: 1px solid rgba(241,182,92,.25); border-radius: 10px; color: #eac98f; background: rgba(241,182,92,.06); font-size: 10px; }
.console-action-list { margin-top: 15px; border-top: 1px solid rgba(255,255,255,.05); }
.console-action-list form { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.05); }
.console-action-list form > div { display: flex; flex-direction: column; }
.console-action-list b { font-size: 11px; }
.console-action-list small { color: #74717e; font-size: 9px; }
.console-danger-details { margin-top: 16px; border: 1px solid rgba(255,104,120,.16); border-radius: 12px; background: rgba(255,104,120,.025); }
.console-danger-details summary { padding: 13px 15px; color: #e39aa3; cursor: pointer; font-size: 11px; font-weight: 700; }
.console-danger-details form { padding: 4px 15px 16px; }
.console-tabs-static { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 19px; }
.console-tabs-static > div { min-width: 0; border: 1px solid rgba(255,255,255,.055); border-radius: 12px; overflow: hidden; }
.console-tabs-static h3 { margin: 0; padding: 13px 16px; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 12px; }
.muted-text { margin: 20px; color: #777481; font-size: 10px; }

.console-tab-bar { display: inline-flex; margin-bottom: 14px; padding: 4px; border: 1px solid rgba(196,180,255,.12); border-radius: 12px; background: #0d0f16; }
.console-tab-bar a { min-height: 36px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 8px; color: #817e8b; font-size: 10px; font-weight: 650; }
.console-tab-bar a.is-active { color: #fff; background: rgba(140,77,255,.16); }
.console-filter-form--audit { grid-template-columns: minmax(250px,1fr) auto; }
.audit-list { padding: 5px 20px 10px; }
.audit-entry { display: grid; grid-template-columns: 9px minmax(0,1fr); gap: 14px; padding: 17px 2px; border-bottom: 1px solid rgba(255,255,255,.05); }
.audit-entry:last-child { border-bottom: 0; }
.audit-entry > .activity-dot { margin-top: 6px; }
.audit-entry-main { min-width: 0; }
.audit-entry-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.audit-entry-title b { font-size: 12px; }
.audit-entry-title time { color: #696672; font-size: 9px; }
.audit-entry-main > p { margin: 5px 0 7px; color: #8a8794; font-size: 10px; }
.audit-entry-meta { display: flex; gap: 16px; flex-wrap: wrap; color: #686572; font-size: 9px; }
.audit-entry-meta a { color: var(--purple-2); }
.audit-agent { max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-values { margin-top: 9px; }
.audit-values summary { width: fit-content; color: #8d8997; cursor: pointer; font-size: 9px; }
.audit-values pre { max-width: 100%; overflow: auto; padding: 12px; border: 1px solid rgba(255,255,255,.06); border-radius: 9px; color: #aaa6b3; background: #090a10; font: 10px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }

.profile-security-list { margin: 12px 17px 0; }
.profile-security-list a,.profile-security-list button { width: 100%; min-height: 70px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 10px 4px; border: 0; border-bottom: 1px solid rgba(255,255,255,.05); color: inherit; background: transparent; cursor: pointer; text-align: left; }
.profile-security-list a > span,.profile-security-list button > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--purple-2); }
.profile-security-list div { display: flex; flex-direction: column; }
.profile-security-list b { font-size: 11px; }
.profile-security-list small { color: #706d7a; font-size: 9px; }
.profile-security-list em { color: var(--purple-2); font-style: normal; }
.password-page-grid { max-width: 1020px; }

@media (max-width: 1180px) {
    .console-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .console-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .console-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .console-filter-actions { align-self: end; }
    .user-profile-hero { align-items: flex-start; flex-direction: column; }
    .user-profile-meta { width: 100%; }
    .security-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .console-shell { display: block; }
    .console-sidebar { width: min(84vw,290px); transform: translateX(-102%); transition: transform .22s ease; box-shadow: 25px 0 70px rgba(0,0,0,.45); }
    .console-shell.is-menu-open .console-sidebar { transform: translateX(0); }
    .console-close,.console-menu { display: block; }
    .console-overlay { position: fixed; z-index: 150; inset: 0; display: block; background: rgba(0,0,0,.6); backdrop-filter: blur(3px); }
    .console-workspace { min-height: 100vh; }
    .console-topbar { padding: 9px 18px; }
    .console-main { width: min(calc(100% - 34px),1390px); padding-top: 32px; }
    .console-grid--main,.console-detail-grid,.console-form-layout,.password-page-grid { grid-template-columns: 1fr; }
    .console-sticky-panel { position: static; }
    .console-tabs-static { grid-template-columns: 1fr; }
    .console-help-panel { order: -1; }
}

@media (max-width: 680px) {
    .console-topbar { min-height: 62px; padding: 8px 12px; }
    .console-breadcrumbs { display: none; }
    .console-account { margin-left: auto; }
    .console-account-link > span:last-child { display: none; }
    .console-main { width: min(calc(100% - 24px),1390px); padding: 27px 0 42px; }
    .console-footer { flex-direction: column; align-items: flex-start; gap: 3px; padding: 15px 13px; }
    .console-page-header { align-items: flex-start; flex-direction: column; margin-bottom: 21px; }
    .console-page-header h1 { font-size: 32px; }
    .console-page-header > div:first-child > p:last-child { font-size: 12px; }
    .console-page-actions { width: 100%; }
    .console-page-actions .button { flex: 1; }
    .console-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .console-stat-card { min-height: 125px; flex-direction: column; gap: 9px; padding: 15px; }
    .console-stat-card strong { font-size: 22px; }
    .console-panel-head { padding: 18px 17px 15px; }
    .console-panel-head h2 { font-size: 18px; }
    .console-module-grid { grid-template-columns: 1fr; }
    .console-module-grid article { min-height: 135px; }
    .console-filter-form,.console-filter-form--audit { grid-template-columns: 1fr; }
    .console-filter-actions .button { flex: 1; }
    .console-table-wrap { overflow: visible; }
    .console-table,.console-table tbody,.console-table tr,.console-table td { display: block; width: 100%; }
    .console-table thead { display: none; }
    .console-table tbody { padding: 10px; }
    .console-table tr { position: relative; margin-bottom: 9px; padding: 12px; border: 1px solid rgba(255,255,255,.065); border-radius: 13px; background: #0d0f16; }
    .console-table td { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 7px 0; border: 0; }
    .console-table td::before { content: attr(data-label); color: #686572; font-size: 8px; font-weight: 700; text-transform: uppercase; }
    .console-table td:first-child { display: block; padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.05); }
    .console-table td:first-child::before,.console-table .table-action::before { display: none; }
    .console-table .table-action { position: absolute; top: 15px; right: 12px; width: auto; }
    .user-cell { min-width: 0; padding-right: 38px; }
    .user-cell b,.user-cell small { max-width: 210px; }
    .console-form-panel { padding: 18px 15px; }
    .console-field-grid { grid-template-columns: 1fr; }
    .console-form-submit { align-items: stretch; flex-direction: column-reverse; }
    .console-form-submit .button { width: 100%; }
    .user-profile-hero { padding: 17px; }
    .user-profile-main { width: 100%; }
    .user-profile-avatar { width: 49px; height: 49px; border-radius: 14px; }
    .user-profile-main h2 { max-width: 230px; font-size: 19px; }
    .user-profile-main p { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .user-profile-meta { grid-template-columns: 1fr; }
    .user-profile-meta > div { padding: 10px 12px; }
    .security-facts { grid-template-columns: 1fr 1fr; }
    .console-detail-main > .console-panel > .console-form,.console-detail-main > .console-panel > .security-facts,.console-detail-main > .console-panel > .console-action-list,.console-detail-main > .console-panel > .console-danger-details,.console-detail-main > .console-panel > .console-tabs-static { margin-left: 15px; margin-right: 15px; }
    .console-action-list form { align-items: flex-start; flex-direction: column; padding: 13px 0; }
    .console-action-list form .button { width: 100%; }
    .activity-list { padding: 7px 14px 11px; }
    .activity-item { grid-template-columns: 8px minmax(0,1fr); padding: 8px 0; }
    .activity-item time { grid-column: 2; }
    .audit-list { padding: 4px 14px 8px; }
    .audit-entry-title { align-items: flex-start; flex-direction: column; gap: 3px; }
    .audit-agent { max-width: 250px; }
    .console-tab-bar { width: 100%; }
    .console-tab-bar a { flex: 1; justify-content: center; padding: 0 8px; text-align: center; }
}

/* ========================================================================== */
/* RUFAME v0.3.1 — role-aware overview and readability patch               */
/* ========================================================================== */

.app-console-page { font-size: 16px; }
.button--compact { min-height: 44px; padding: 0 18px; font-size: 14px; }

.console-nav-section { font-size: 11px; }
.console-nav-link { min-height: 49px; font-size: 15px; }
.console-nav-link small { font-size: 10px; }
.console-nav-icon { width: 30px; height: 30px; font-size: 15px; }
.console-sidebar-footer { font-size: 13px; line-height: 1.45; }
.console-sidebar-footer > a { font-size: 13px; }

.console-breadcrumbs { font-size: 14px; }
.console-account-link b { font-size: 14px; }
.console-account-link small { color: #9996a4; font-size: 12px; }
.console-avatar { width: 39px; height: 39px; font-size: 14px; }
.console-footer { color: #85828f; font-size: 12px; }

.console-page-header .eyebrow { font-size: 11px; }
.console-page-header > div:first-child > p:last-child { color: #aaa7b4; font-size: 16px; line-height: 1.6; }
.console-flash { font-size: 14px; }

.console-panel-head { padding: 23px 24px 19px; }
.console-panel-head .eyebrow { font-size: 11px; }
.console-panel-head h2 { font-size: 22px; }
.console-panel-head > a { font-size: 13px; }

.console-stat-card { min-height: 124px; align-items: center; padding: 20px 21px; }
.console-stat-icon { width: 42px; height: 42px; font-size: 17px; }
.console-stat-card small { color: #92909c; font-size: 11px; }
.console-stat-card strong { margin: 5px 0 3px; font-size: 30px; }
.console-stat-card p { color: #aaa7b4; font-size: 13px; line-height: 1.5; }
.console-stat-card--date strong { font-size: 24px; }
.console-stat-card--text strong { font-size: 27px; }

.activity-list { padding: 8px 21px 14px; }
.activity-item { min-height: 70px; grid-template-columns: 10px minmax(0,1fr) auto; gap: 15px; }
.activity-dot { width: 9px; height: 9px; }
.activity-item b { font-size: 14px; }
.activity-item small { margin-top: 2px; color: #92909c; font-size: 12px; }
.activity-item time { color: #8b8895; font-size: 11px; }
.console-empty h3 { font-size: 17px; }
.console-empty p { color: #96939f; font-size: 13px; line-height: 1.55; }

.console-module-grid article { min-height: 172px; padding: 23px; }
.console-module-grid article > span { font-size: 12px; }
.console-module-grid h3 { font-size: 17px; }
.console-module-grid p { color: #9c99a5; font-size: 13px; line-height: 1.6; }
.console-module-grid article > b { color: #85828f; font-size: 11px; }

.status-badge,.role-badge { min-height: 28px; padding: 4px 10px; font-size: 11px; }
.console-filter-form label,.console-field { font-size: 12px; }
.console-filter-form input,.console-filter-form select,.console-field input,.console-field select,.console-field textarea { min-height: 46px; font-size: 14px; }
.console-field small,.field-hint { color: #8b8895; font-size: 11px; }
.console-table-summary { color: #96939f; font-size: 12px; }
.console-table th { font-size: 11px; }
.console-table td { font-size: 13px; }
.user-cell b { font-size: 14px; }
.user-cell small { color: #92909c; font-size: 12px; }
.table-note { font-size: 10px; }
.console-pagination { font-size: 13px; }

.console-check-list li { color: #aaa7b4; font-size: 13px; line-height: 1.5; }
.console-form-section-head > span { font-size: 11px; }
.console-form-section-head h2 { font-size: 19px; }
.console-form-section-head p { color: #96939f; font-size: 12px; }
.console-checkbox b { font-size: 13px; }
.console-checkbox small { color: #92909c; font-size: 11px; }
.form-errors { font-size: 13px; }
.password-toggle { font-size: 11px; }

.user-profile-main h2 { font-size: 24px; }
.user-profile-main p { color: #9c99a5; font-size: 13px; }
.user-profile-meta small { color: #85828f; font-size: 10px; }
.user-profile-meta b { font-size: 12px; }
.security-facts small { color: #85828f; font-size: 10px; }
.security-facts b { font-size: 13px; }
.console-inline-warning { font-size: 12px; line-height: 1.5; }
.console-action-list b { font-size: 13px; }
.console-action-list small { color: #92909c; font-size: 11px; }
.console-danger-details summary { font-size: 13px; }
.console-tabs-static h3 { font-size: 14px; }
.muted-text { color: #92909c; font-size: 12px; }
.console-tab-bar a { font-size: 12px; }

.audit-entry-title b { font-size: 14px; }
.audit-entry-title time { color: #8b8895; font-size: 11px; }
.audit-entry-main > p { color: #aaa7b4; font-size: 12px; line-height: 1.55; }
.audit-entry-meta { color: #85828f; font-size: 11px; }
.audit-values summary { font-size: 11px; }
.audit-values pre { font-size: 12px; }
.profile-security-list b { font-size: 13px; }
.profile-security-list small { color: #92909c; font-size: 11px; }

.console-role-notice {
    display: flex; align-items: center; gap: 16px; margin: -5px 0 18px; padding: 17px 20px;
    border: 1px solid rgba(188,147,255,.2); border-radius: 15px;
    background: linear-gradient(100deg, rgba(140,77,255,.1), rgba(17,19,28,.92));
}
.console-role-notice-icon {
    width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto;
    border: 1px solid rgba(188,147,255,.35); border-radius: 12px; color: var(--purple-2);
    background: rgba(140,77,255,.08); font-size: 17px;
}
.console-role-notice b { display: block; font-size: 15px; }
.console-role-notice p { margin: 4px 0 0; color: #aaa7b4; font-size: 13px; line-height: 1.55; }
.console-role-notice--readonly { border-color: rgba(188,147,255,.28); }

.console-stat-grid--personal { grid-template-columns: repeat(4,minmax(0,1fr)); }
.console-grid--personal { align-items: stretch; }
.console-grid--personal > .console-panel { min-height: 360px; }
.personal-overview-actions { padding: 8px 22px 15px; }
.personal-overview-actions > a,.personal-overview-actions__item {
    min-height: 88px; display: grid; grid-template-columns: 40px minmax(0,1fr) auto; align-items: center; gap: 14px;
    padding: 13px 2px; border-bottom: 1px solid rgba(255,255,255,.055); color: inherit;
}
.personal-overview-actions > :last-child { border-bottom: 0; }
.personal-overview-actions > a > span,.personal-overview-actions__item > span {
    width: 38px; height: 38px; display: grid; place-items: center;
    border: 1px solid rgba(188,147,255,.24); border-radius: 11px; color: var(--purple-2); background: rgba(140,77,255,.06);
}
.personal-overview-actions div { min-width: 0; display: flex; flex-direction: column; }
.personal-overview-actions b { font-size: 14px; }
.personal-overview-actions small { margin-top: 3px; color: #92909c; font-size: 12px; line-height: 1.45; }
.personal-overview-actions em { color: var(--purple-2); font-size: 12px; font-style: normal; white-space: nowrap; }
.personal-overview-actions__item em { color: #aaa7b4; }

@media (max-width: 1180px) {
    .console-stat-grid--personal { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .console-nav-link { font-size: 15px; }
    .console-page-header > div:first-child > p:last-child { font-size: 14px; }
    .console-stat-card { min-height: 132px; padding: 16px; }
    .console-stat-card small { font-size: 10px; }
    .console-stat-card strong { font-size: 25px; }
    .console-stat-card--date strong { font-size: 20px; }
    .console-stat-card p { font-size: 12px; }
    .console-panel-head h2 { font-size: 20px; }
    .console-panel-head > a { font-size: 12px; }
    .activity-item { min-height: 73px; }
    .activity-item b { font-size: 14px; }
    .activity-item small { font-size: 12px; }
    .activity-item time { font-size: 11px; }
    .console-module-grid h3 { font-size: 17px; }
    .console-module-grid p { font-size: 13px; }
    .console-table td::before { font-size: 10px; }
    .console-role-notice { align-items: flex-start; padding: 15px; }
    .console-role-notice b { font-size: 14px; }
    .console-role-notice p { font-size: 12px; }
    .console-stat-grid--personal { grid-template-columns: 1fr 1fr; }
    .personal-overview-actions { padding: 7px 16px 12px; }
    .personal-overview-actions > a,.personal-overview-actions__item {
        grid-template-columns: 38px minmax(0,1fr); min-height: 94px; gap: 12px;
    }
    .personal-overview-actions em { grid-column: 2; margin-top: -8px; }
}

@media (max-width: 430px) {
    .console-stat-grid--personal { grid-template-columns: 1fr; }
    .console-stat-grid--personal .console-stat-card { min-height: 112px; flex-direction: row; }
}


.console-metric-grid {
    display: grid;
    gap: 13px;
    margin: 0 0 18px;
}
.console-metric-grid article {
    min-height: 126px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 18px 18px 16px;
    border: 1px solid rgba(196,180,255,.11);
    border-radius: 17px;
    background: #11131c;
}
.console-metric-grid span {
    display: block;
    color: #9c99a6;
    font-size: 12px;
    line-height: 1.45;
}
.console-metric-grid strong {
    display: block;
    margin: 10px 0 6px;
    color: #fff;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -.03em;
}
.console-metric-grid small {
    display: block;
    color: #7f7c89;
    font-size: 12px;
    line-height: 1.45;
}
.console-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 18px;
    color: #d5d1dc;
    cursor: pointer;
}
.console-check input {
    width: 18px;
    height: 18px;
    margin: 3px 0 0;
    flex: 0 0 auto;
    accent-color: var(--purple);
}
.console-check > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.console-check b {
    display: block;
    font-size: 14px;
    line-height: 1.4;
}
.console-check small {
    display: block;
    margin-top: 4px;
    color: #92909c;
    font-size: 12px;
    line-height: 1.55;
}

/* Version 0.3.1: invitations and mail console */
.auth-form label.auth-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 11px;
    margin-top: 18px;
    color: #d0ccd8;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}
.auth-consent input[type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: auto;
    width: 18px;
    min-height: 18px;
    height: 18px;
    margin: 3px 0 0;
    padding: 0;
    flex: 0 0 auto;
    border: 0;
    border-radius: 3px;
    background: transparent;
    box-shadow: none;
    accent-color: var(--purple);
}
.auth-consent input[type="checkbox"]:focus {
    box-shadow: none;
}
.auth-consent > span {
    min-width: 0;
    display: block;
}
.auth-consent a { color: var(--purple-2); text-decoration: underline; text-underline-offset: 3px; }
.status-badge--warning,
.early-status--new,
.mail-status--pending { color: #f4c76f; border-color: rgba(241,182,92,.35); background: rgba(241,182,92,.11); }
.early-status--contacted,
.mail-status--processing { color: #8fc6ff; border-color: rgba(91,158,230,.34); background: rgba(91,158,230,.1); }
.early-status--invited,
.mail-status--sent { color: var(--green); border-color: rgba(104,216,142,.34); background: rgba(104,216,142,.1); }
.early-status--closed,
.mail-status--cancelled { color: #aaa8b6; border-color: rgba(170,168,182,.25); background: rgba(170,168,182,.08); }
.mail-status--failed { color: var(--red); border-color: rgba(255,104,120,.35); background: rgba(255,104,120,.1); }
.console-metric-grid--five { grid-template-columns: repeat(5, minmax(0,1fr)); }
.console-form--inline { display: flex; align-items: end; gap: 16px; }
.console-form--inline .console-field { flex: 1; margin: 0; }
.console-form--inline .button { flex: 0 0 auto; margin-bottom: 1px; }
.table-action-group { display: flex; justify-content: flex-end; gap: 7px; }
.table-action-group form { margin: 0; }
.table-action-group button {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #d8d4e1;
    cursor: pointer;
}
.table-action-group button:hover { border-color: var(--line-strong); color: #fff; background: rgba(140,77,255,.1); }
.text-link { color: var(--purple-2); font-size: 14px; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.console-panel code { color: #d9c7ff; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

@media (max-width: 1100px) {
    .console-metric-grid--five { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .console-metric-grid--five { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .console-form--inline { display: grid; align-items: stretch; }
    .table-action-group { justify-content: flex-start; }
}
.console-ops-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:0 0 18px; }
.console-ops-strip a { display:flex; align-items:center; gap:13px; min-height:82px; padding:15px 17px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.console-ops-strip a > span { width:39px; height:39px; display:grid; place-items:center; border-radius:12px; background:rgba(140,77,255,.12); color:var(--purple-2); font-weight:800; }
.console-ops-strip a div { min-width:0; }
.console-ops-strip a b,.console-ops-strip a small { display:block; }
.console-ops-strip a small { color:var(--muted); font-size:12px; }
.console-ops-strip a em { margin-left:auto; color:var(--purple-2); font-size:12px; font-style:normal; }
.console-ops-strip a.has-warning { border-color:rgba(255,104,120,.34); }
.console-ops-strip a.has-warning > span { color:var(--red); background:rgba(255,104,120,.1); }
@media (max-width:900px){.console-ops-strip{grid-template-columns:1fr;}}


@media (max-width: 900px) {
    .console-topbar {
        background: rgba(8,9,14,.98);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}
@media (max-width: 720px) {
    .console-metric-grid article {
        min-height: 112px;
        padding: 16px;
    }
    .console-metric-grid span,
    .console-metric-grid small {
        font-size: 12px;
    }
    .console-metric-grid strong {
        margin: 8px 0 5px;
        font-size: 28px;
    }
    .console-check {
        align-items: flex-start;
    }
    .console-check b {
        font-size: 14px;
    }
    .console-check small {
        font-size: 12px;
    }
}
@media (max-width: 520px) {
    .console-metric-grid--five { grid-template-columns: 1fr; }
}


/* Version 0.4.0: public registration */
.registration-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.registration-status--email_pending { color:#f4c76f; border-color:rgba(241,182,92,.35); background:rgba(241,182,92,.11); }
.registration-status--approval_pending { color:#8fc6ff; border-color:rgba(91,158,230,.34); background:rgba(91,158,230,.1); }
.registration-status--completed { color:var(--green); border-color:rgba(104,216,142,.34); background:rgba(104,216,142,.1); }
.registration-status--rejected { color:var(--red); border-color:rgba(255,104,120,.35); background:rgba(255,104,120,.1); }
.registration-status--expired { color:#aaa8b6; border-color:rgba(170,168,182,.25); background:rgba(170,168,182,.08); }
.console-ops-strip--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1180px){.console-ops-strip--four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.console-ops-strip--four{grid-template-columns:1fr;}}

/* v0.4.0.2 — standalone auth page layout fixes */
@media (max-width: 680px) {
    .auth-shell--single .auth-form-panel {
        min-height: 100svh;
        align-items: start;
        padding: 28px 20px 34px;
    }
    .auth-card--standalone {
        width: 100%;
        margin: 0 auto;
    }
    .auth-card--standalone > .brand {
        margin-bottom: 28px;
    }
    .auth-card--standalone > .brand .brand-logo {
        width: 185px;
    }
    .auth-card--standalone h1 {
        font-size: 36px;
        line-height: 1.1;
    }
    .auth-card--standalone .auth-intro {
        font-size: 15px;
        line-height: 1.58;
    }
    .auth-card--standalone .auth-form {
        margin-top: 24px;
    }
    .auth-form label.auth-consent {
        gap: 10px;
        font-size: 14px;
        line-height: 1.48;
    }
    .auth-card--standalone .auth-back {
        margin-top: 32px;
    }
}

/* RUFAME v0.5.1 — Capital OS Foundation */
.foundation-empty-state form { margin-top: 20px; }
.foundation-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.foundation-progress-panel,.foundation-active-card,.foundation-version-meta,.foundation-approval-panel,.foundation-compare-select,.foundation-compare-panel { margin-bottom: 18px; }
.foundation-progress-body,.foundation-approval-body { padding: 22px 24px 24px; }
.foundation-progress { height: 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.foundation-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--purple-dark),var(--purple-2)); box-shadow: 0 0 18px rgba(140,77,255,.36); }
.foundation-progress-body > p { margin: 13px 0 18px; color: #9d9aa7; font-size: 13px; }
.foundation-action-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.foundation-action-row--padded { padding: 0 23px 23px; }
.foundation-summary-grid { display: grid; grid-template-columns: 2fr repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.055); }
.foundation-summary-grid > div { min-width: 0; padding: 18px 20px; background: #0f1119; }
.foundation-summary-grid small { display: block; color: #85828f; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.foundation-summary-grid b,.foundation-summary-grid p,.foundation-summary-grid code { display: block; margin: 7px 0 0; color: #d8d4df; font-size: 13px; line-height: 1.55; }
.foundation-summary-grid code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.foundation-revision-panel[hidden] { display: none !important; }
.foundation-revision-panel .console-form { padding: 23px; }
.foundation-status--draft { color: #f4c76f; border-color: rgba(241,182,92,.35); background: rgba(241,182,92,.1); }
.foundation-status--ready_for_review { color: #8fc6ff; border-color: rgba(91,158,230,.35); background: rgba(91,158,230,.1); }
.foundation-status--active { color: var(--green); border-color: rgba(104,216,142,.35); background: rgba(104,216,142,.1); }
.foundation-status--superseded,.foundation-status--archived { color: #aaa8b6; border-color: rgba(170,168,182,.25); background: rgba(170,168,182,.08); }
.console-module-grid article.is-active { background: linear-gradient(145deg,rgba(111,50,229,.16),#10121a 45%); }
.console-module-grid article.is-active > b { color: var(--green); }
.dashboard-foundation-panel { margin-bottom: 16px; }
.dashboard-foundation-body { display: grid; grid-template-columns: minmax(260px,.9fr) 1.6fr; gap: 1px; background: rgba(255,255,255,.05); }
.dashboard-foundation-status { display: flex; align-items: center; gap: 15px; padding: 22px; background: #10121a; }
.dashboard-foundation-status div { min-width: 0; }
.dashboard-foundation-status small,.dashboard-foundation-facts small { display: block; color: #85828f; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-foundation-status b { display: block; margin-top: 4px; font-size: 16px; }
.dashboard-foundation-status p { margin: 4px 0 0; color: #96939f; font-size: 12px; }
.dashboard-foundation-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; }
.dashboard-foundation-facts > div { padding: 23px; background: #10121a; }
.dashboard-foundation-facts b { display: block; margin-top: 8px; font-size: 17px; }
.foundation-editor-layout { display: grid; grid-template-columns: 290px minmax(0,1fr); gap: 18px; align-items: start; }
.foundation-stepper { position: sticky; top: 88px; overflow: hidden; }
.foundation-stepper-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 18px 10px; }
.foundation-stepper-head small { color: #85828f; font-size: 10px; text-transform: uppercase; }
.foundation-stepper .foundation-progress { margin: 0 18px 12px; }
.foundation-stepper nav { padding: 6px 10px 13px; }
.foundation-stepper nav a { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 11px; min-height: 58px; padding: 8px 9px; border: 1px solid transparent; border-radius: 11px; color: #aaa7b4; }
.foundation-stepper nav a:hover { background: rgba(255,255,255,.025); }
.foundation-stepper nav a.is-active { color: #fff; border-color: rgba(188,147,255,.25); background: rgba(140,77,255,.09); }
.foundation-stepper nav a > span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(188,147,255,.2); border-radius: 9px; color: var(--purple-2); font-size: 12px; }
.foundation-stepper nav a.is-complete > span { color: var(--green); border-color: rgba(104,216,142,.3); background: rgba(104,216,142,.07); }
.foundation-stepper nav div { min-width: 0; display: flex; flex-direction: column; }
.foundation-stepper nav b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-stepper nav small { color: #777481; font-size: 10px; }
.foundation-editor-panel { overflow: hidden; }
.foundation-section-description { max-width: 720px; margin: 7px 0 0; color: #96939f; font-size: 13px; }
.foundation-form { padding: 22px 24px 24px; }
.foundation-form > .console-field + .console-field { margin-top: 17px; }
.foundation-form textarea { resize: vertical; }
.foundation-form-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.055); }
.foundation-form-actions > div { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.foundation-check { margin: 18px 0; padding: 14px 16px; border: 1px solid rgba(196,180,255,.11); border-radius: 12px; background: rgba(255,255,255,.018); }
.foundation-engine-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 15px; }
.foundation-engine-card { padding: 18px; border: 1px solid rgba(196,180,255,.12); border-radius: 15px; background: #0d0f16; }
.foundation-engine-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.foundation-engine-head > div { display: flex; align-items: center; gap: 10px; }
.foundation-engine-number { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: var(--purple-2); background: rgba(140,77,255,.1); }
.foundation-engine-head button { width: 32px; height: 32px; border: 1px solid rgba(255,104,120,.2); border-radius: 9px; color: #ff9ba6; background: rgba(255,104,120,.05); cursor: pointer; }
.foundation-engine-numbers { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 15px 0; }
.foundation-review-body { padding: 24px; }
.foundation-validation-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.foundation-validation-summary article { padding: 17px; border: 1px solid rgba(196,180,255,.11); border-radius: 13px; background: #0d0f16; }
.foundation-validation-summary small { display: block; color: #85828f; font-size: 10px; text-transform: uppercase; }
.foundation-validation-summary strong { display: block; margin-top: 6px; font-size: 25px; }
.foundation-validation { margin: 0 0 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.02); }
.foundation-validation h3 { margin: 0 0 9px; font-size: 16px; }
.foundation-validation p { margin: 0; color: #aaa7b4; }
.foundation-validation ul { margin: 0; padding-left: 20px; color: #c7c3ce; }
.foundation-validation li + li { margin-top: 5px; }
.foundation-validation--error { border-color: rgba(255,104,120,.3); background: rgba(255,104,120,.06); }
.foundation-validation--warning { border-color: rgba(241,182,92,.3); background: rgba(241,182,92,.06); }
.foundation-validation--success { border-color: rgba(104,216,142,.3); background: rgba(104,216,142,.06); }
.foundation-review-document { margin-bottom: 18px; overflow: hidden; }
.foundation-document-sections { display: flex; flex-direction: column; }
.foundation-document-sections > article { padding: 22px 24px; border-bottom: 1px solid rgba(255,255,255,.055); }
.foundation-document-sections > article:last-child { border-bottom: 0; }
.foundation-document-section-head { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 12px; margin-bottom: 17px; }
.foundation-document-section-head > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--purple-2); background: rgba(140,77,255,.1); font-weight: 700; }
.foundation-document-section-head h3 { margin: 0; font-size: 17px; }
.foundation-document-section-head a { color: var(--purple-2); font-size: 12px; }
.foundation-document-sections dl { margin: 0; }
.foundation-document-sections dl > div { display: grid; grid-template-columns: minmax(190px,.6fr) 1.4fr; gap: 22px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.045); }
.foundation-document-sections dl > div:last-child { border-bottom: 0; }
.foundation-document-sections dt { color: #85828f; font-size: 11px; }
.foundation-document-sections dd { margin: 0; color: #d0ccd7; font-size: 13px; line-height: 1.6; }
.foundation-engine-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.foundation-engine-summary > div { padding: 15px; border: 1px solid rgba(196,180,255,.11); border-radius: 12px; background: #0d0f16; }
.foundation-engine-summary b,.foundation-engine-summary span,.foundation-engine-summary small { display: block; }
.foundation-engine-summary span { margin: 8px 0 3px; color: var(--purple-2); font-size: 25px; font-weight: 750; }
.foundation-engine-summary small { color: #85828f; font-size: 10px; }
.foundation-approval-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.foundation-document-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1px; margin-bottom: 18px; overflow: hidden; background: rgba(255,255,255,.055); }
.foundation-document-hero > div,.foundation-document-hero > dl { margin: 0; padding: 25px; background: #10121a; }
.foundation-document-hero h2 { margin: 13px 0 7px; font-size: 30px; }
.foundation-document-hero p { margin: 0; color: #aaa7b4; }
.foundation-document-hero dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.foundation-document-hero dl div { min-width: 0; }
.foundation-document-hero dt { color: #85828f; font-size: 10px; text-transform: uppercase; }
.foundation-document-hero dd { margin: 6px 0 0; color: #d8d4df; font-size: 13px; }
.foundation-document-hero code { font-size: 10px; word-break: break-all; }
.foundation-document-sections--standalone { gap: 16px; }
.foundation-document-sections--standalone > article { border-bottom: 0; }
.foundation-engine-summary--full > div { min-height: 210px; }
.foundation-engine-summary--full header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.foundation-engine-summary--full header span { margin: 0; }
.foundation-engine-summary--full p { color: #aaa7b4; font-size: 12px; }
.foundation-engine-summary--full em { display: block; margin-top: 12px; color: #96939f; font-size: 11px; font-style: normal; line-height: 1.55; }
.foundation-compare-select .console-filter-form { grid-template-columns: 1fr 1fr auto; }
.foundation-diff-list { padding: 6px 20px 14px; }
.foundation-diff-list article { display: grid; grid-template-columns: minmax(170px,.7fr) 1fr 34px 1fr; gap: 14px; align-items: start; padding: 16px 3px; border-bottom: 1px solid rgba(255,255,255,.05); }
.foundation-diff-list article:last-child { border-bottom: 0; }
.foundation-diff-list article > div:first-child { display: flex; flex-direction: column; }
.foundation-diff-list small { color: #777481; font-size: 9px; text-transform: uppercase; }
.foundation-diff-list b { font-size: 12px; }
.foundation-diff-old,.foundation-diff-new { min-height: 45px; padding: 10px 12px; border-radius: 9px; font-size: 12px; line-height: 1.5; }
.foundation-diff-old { color: #e6a3ab; background: rgba(255,104,120,.07); }
.foundation-diff-new { color: #a9eabe; background: rgba(104,216,142,.07); }
.foundation-diff-arrow { align-self: center; color: var(--purple-2); text-align: center; }

@media (max-width:1180px) {
    .foundation-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .foundation-editor-layout { grid-template-columns: 240px minmax(0,1fr); }
    .foundation-engine-numbers { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .foundation-engine-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .foundation-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
    .foundation-editor-layout { grid-template-columns: 1fr; }
    .foundation-stepper { position: static; }
    .foundation-stepper nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
    .foundation-stepper nav a { min-height: 70px; }
    .dashboard-foundation-body { grid-template-columns: 1fr; }
    .foundation-document-hero { grid-template-columns: 1fr; }
    .foundation-diff-list article { grid-template-columns: 1fr; }
    .foundation-diff-arrow { transform: rotate(90deg); }
}
@media (max-width:680px) {
    .foundation-stat-grid { grid-template-columns: 1fr; }
    .foundation-form { padding: 17px; }
    .foundation-form-actions { align-items: stretch; flex-direction: column; }
    .foundation-form-actions > div { flex-direction: column; }
    .foundation-form-actions .button { width: 100%; }
    .foundation-stepper nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .foundation-engine-numbers { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .foundation-validation-summary { grid-template-columns: 1fr; }
    .foundation-document-sections > article { padding: 18px; }
    .foundation-document-sections dl > div { grid-template-columns: 1fr; gap: 5px; }
    .foundation-engine-summary { grid-template-columns: 1fr; }
    .foundation-summary-grid { grid-template-columns: 1fr; }
    .foundation-approval-actions { flex-direction: column; }
    .foundation-approval-actions form,.foundation-approval-actions .button { width: 100%; }
    .dashboard-foundation-facts { grid-template-columns: 1fr; }
    .foundation-compare-select .console-filter-form { grid-template-columns: 1fr; }
}
.foundation-danger-zone { margin: 0 23px 23px; border: 1px solid rgba(255,104,120,.18); border-radius: 12px; background: rgba(255,104,120,.025); }
.foundation-danger-zone summary { padding: 13px 15px; color: #d9959d; font-size: 12px; font-weight: 700; cursor: pointer; }
.foundation-danger-zone form { padding: 0 15px 16px; }
.foundation-danger-zone p { color: #96939f; font-size: 12px; }
.foundation-archived-notice { margin-bottom: 18px; }
.foundation-archived-notice form { margin-top: 18px; }
.foundation-danger-zone--inside { margin: 20px 0 0; }

/* Version 0.5.1: executable Foundation Policy Contract */
.foundation-contract-notice {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 14px;
    align-items: start;
    margin: 20px 24px 0;
    padding: 14px 16px;
    border: 1px solid rgba(104,216,142,.22);
    border-radius: 12px;
    background: rgba(104,216,142,.045);
}
.foundation-contract-notice > span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border: 1px solid rgba(104,216,142,.28);
    border-radius: 999px;
    color: #9de5b5;
    background: rgba(104,216,142,.07);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}
.foundation-contract-notice p { margin: 0; color: #aaa7b4; font-size: 12px; line-height: 1.6; }
.foundation-contract-notice b { color: #d8d4df; }
.foundation-rule-meta {
    display: block;
    margin: 5px 0 8px;
    color: #87cfa0 !important;
    font-size: 9px !important;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.foundation-rule-meta--note { color: #a29eac !important; }
.foundation-narrative-field {
    padding: 14px 15px;
    border: 1px dashed rgba(196,180,255,.15);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}
.foundation-choice-group {
    min-width: 0;
    margin: 17px 0 0;
    padding: 15px;
    border: 1px solid rgba(196,180,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.014);
}
.foundation-choice-group legend {
    padding: 0 7px;
    color: #cfcbd7;
    font-size: 12px;
    font-weight: 700;
}
.foundation-choice-group legend span { color: var(--purple-2); }
.foundation-choice-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}
.foundation-choice-grid label {
    min-height: 42px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 9px;
    color: #b7b3c0;
    background: rgba(8,9,14,.45);
    cursor: pointer;
    font-size: 11px;
    line-height: 1.45;
}
.foundation-choice-grid label:hover { border-color: rgba(188,147,255,.22); }
.foundation-choice-grid input { width: 16px; height: 16px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--purple); }
.foundation-input-with-unit { position: relative; }
.foundation-input-with-unit input { padding-right: 120px; }
.foundation-input-with-unit em {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    max-width: 105px;
    overflow: hidden;
    color: #777481;
    font-size: 10px;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.foundation-engine-card .foundation-choice-group { margin-top: 15px; }
.foundation-engine-summary em { display: block; margin-top: 8px; color: #85828f; font-size: 10px; font-style: normal; line-height: 1.5; }
.foundation-document-sections dt .foundation-rule-meta { margin: 4px 0 0; }
.foundation-contract-stats { margin-bottom: 18px; }
.foundation-contract-panel { margin-bottom: 18px; overflow: hidden; }
.foundation-contract-panel .console-panel-head code { max-width: 380px; overflow: hidden; color: #777481; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-contract-table code { color: #c7a8ff; font-size: 10px; }
.foundation-enforcement {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}
.foundation-enforcement--hard { color: #ffabb4; border-color: rgba(255,104,120,.28); background: rgba(255,104,120,.07); }
.foundation-enforcement--review { color: #f1ca85; border-color: rgba(241,182,92,.28); background: rgba(241,182,92,.07); }
.foundation-enforcement--warning { color: #a9cfff; border-color: rgba(91,158,230,.28); background: rgba(91,158,230,.07); }
.foundation-enforcement--informational { color: #aaa7b4; }
.foundation-note-list { padding: 5px 22px 16px; }
.foundation-note-list article {
    display: grid;
    grid-template-columns: minmax(180px,.55fr) 1.45fr;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.foundation-note-list article:last-child { border-bottom: 0; }
.foundation-note-list article > div { display: flex; flex-direction: column; }
.foundation-note-list b { font-size: 12px; }
.foundation-note-list small { margin-top: 4px; color: #777481; font-size: 9px; }
.foundation-note-list p { margin: 0; color: #aaa7b4; font-size: 12px; line-height: 1.6; }

@media (max-width: 900px) {
    .foundation-choice-grid { grid-template-columns: 1fr; }
    .foundation-note-list article { grid-template-columns: 1fr; gap: 7px; }
}
@media (max-width: 600px) {
    .foundation-contract-notice { grid-template-columns: 1fr; margin: 16px 17px 0; }
    .foundation-input-with-unit input { padding-right: 90px; }
    .foundation-contract-panel .console-panel-head { align-items: flex-start; flex-direction: column; }
}


/* Version 0.5.1.1: Foundation form layout and responsive polish */
.foundation-editor-panel .console-panel-head,
.foundation-form .console-field,
.foundation-form .foundation-choice-group,
.foundation-form .foundation-check { scroll-margin-top: 92px; }
.foundation-stepper { max-height: calc(100vh - 108px); overflow-y: auto; overscroll-behavior: contain; }
.foundation-form--policy-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    column-gap: 16px;
    row-gap: 18px;
}
.foundation-form--policy-grid > * { min-width: 0; }
.foundation-form--policy-grid > .console-field,
.foundation-form--policy-grid > .foundation-choice-group,
.foundation-form--policy-grid > .foundation-check { margin: 0 !important; }
.foundation-field--half { grid-column: span 1; }
.foundation-field--full,
.foundation-form--policy-grid > .foundation-form-actions { grid-column: 1 / -1; }
.foundation-form input[type=number] { -moz-appearance: textfield; }
.foundation-form input[type=number]::-webkit-inner-spin-button,
.foundation-form input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.foundation-input-with-unit {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    min-height: 44px;
    overflow: hidden;
    border: 1px solid rgba(196,180,255,.14);
    border-radius: 10px;
    background: #0c0e15;
    transition: border-color .16s, box-shadow .16s;
}
.foundation-input-with-unit:focus-within { border-color: rgba(188,147,255,.55); box-shadow: 0 0 0 3px rgba(140,77,255,.09); }
.console-field .foundation-input-with-unit input {
    min-width: 0;
    min-height: 42px;
    padding: 0 13px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.console-field .foundation-input-with-unit input:focus { border: 0; box-shadow: none; }
.foundation-input-with-unit em {
    position: static;
    transform: none;
    min-width: 78px;
    max-width: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    overflow: visible;
    border-left: 1px solid rgba(196,180,255,.11);
    color: #aaa6b4;
    background: rgba(255,255,255,.028);
    font-size: 10px;
    font-style: normal;
    line-height: 1.25;
    text-align: center;
    text-overflow: clip;
    white-space: normal;
}
.foundation-rule-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    width: fit-content;
    max-width: 100%;
    margin: 1px 0 3px;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}
.foundation-rule-chip {
    min-height: 21px;
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid rgba(196,180,255,.11);
    border-radius: 999px;
    color: #9e9aa8;
    background: rgba(255,255,255,.022);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.foundation-rule-chip--policy { color: #9de5b5; border-color: rgba(104,216,142,.22); background: rgba(104,216,142,.055); }
.foundation-rule-chip--operator,
.foundation-rule-chip--unit { color: #c8a9ff; border-color: rgba(188,147,255,.2); background: rgba(140,77,255,.055); }
.foundation-rule-chip--scope { color: #9fcfff; border-color: rgba(91,158,230,.2); background: rgba(91,158,230,.05); }
.foundation-rule-chip--enforcement-hard { color: #ffabb4; border-color: rgba(255,104,120,.24); background: rgba(255,104,120,.055); }
.foundation-rule-chip--enforcement-review { color: #f1ca85; border-color: rgba(241,182,92,.24); background: rgba(241,182,92,.055); }
.foundation-rule-chip--enforcement-warning { color: #a9cfff; border-color: rgba(91,158,230,.24); background: rgba(91,158,230,.055); }
.foundation-rule-chip--note { color: #c6b4e3; border-color: rgba(188,147,255,.2); background: rgba(140,77,255,.05); }
.foundation-rule-chip--muted { color: #85818e; }
.foundation-history-table .table-action a {
    width: auto;
    min-width: 70px;
    height: 32px;
    padding: 0 10px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .foundation-stepper { max-height: none; overflow: hidden; }
}
@media (max-width: 680px) {
    .foundation-form--policy-grid { grid-template-columns: 1fr; row-gap: 16px; }
    .foundation-field--half,
    .foundation-field--full,
    .foundation-form--policy-grid > .foundation-form-actions { grid-column: 1; }
    .foundation-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .foundation-stat-grid .console-stat-card {
        min-height: 142px;
        flex-direction: column;
        gap: 11px;
        padding: 16px;
    }
    .foundation-stat-grid .console-stat-card strong { font-size: 24px; }
    .foundation-history-table tbody tr { padding-right: 96px; }
    .foundation-history-table .table-action { top: 14px; right: 13px; }
    .foundation-history-table .table-action a {
        min-width: 74px;
        height: 34px;
        padding: 0 10px;
        border-radius: 9px;
        background: rgba(140,77,255,.07);
    }
    .foundation-input-with-unit em { min-width: 76px; max-width: 125px; padding: 0 10px; }
}
@media (max-width: 390px) {
    .foundation-stat-grid { grid-template-columns: 1fr; }
    .foundation-stat-grid .console-stat-card { min-height: 118px; }
}


/* Version 0.5.1.2: contextual Foundation help and Russian terminology */
.foundation-section-guide {
    margin: 16px 22px 0;
    padding: 14px 16px;
    border: 1px solid rgba(188,147,255,.16);
    border-radius: 12px;
    background: rgba(140,77,255,.045);
}
.foundation-section-guide b { display: block; color: #d7c8f6; font-size: 11px; }
.foundation-section-guide p { margin: 5px 0 0; color: #aaa7b4; font-size: 11px; line-height: 1.6; }
.foundation-field-block { min-width: 0; }
.foundation-field-block > .console-field { margin: 0 !important; }
.foundation-field-block.foundation-narrative-field { padding: 14px 15px; }
.foundation-field-block.foundation-narrative-field > .console-field { padding: 0; border: 0; background: transparent; }
.foundation-field-help { margin-top: 8px; color: #8f8b99; font-size: 10px; line-height: 1.55; }
.foundation-field-help > p { margin: 0; }
.foundation-field-help details {
    margin-top: 6px;
    padding: 0;
    border: 0;
}
.foundation-field-help summary {
    width: fit-content;
    color: #b991ff;
    cursor: pointer;
    font-size: 9px;
    font-weight: 700;
    list-style-position: outside;
}
.foundation-field-help details > div {
    margin-top: 7px;
    padding: 10px 12px;
    border-left: 2px solid rgba(188,147,255,.3);
    border-radius: 0 8px 8px 0;
    background: rgba(255,255,255,.018);
}
.foundation-field-help details p { margin: 0 0 5px; color: #9d99a7; }
.foundation-field-help details p:last-child { margin-bottom: 0; }
.foundation-field-help details b { color: #c8c3d1; }
.foundation-choice-group .foundation-field-help { margin-top: 10px; }
.foundation-engine-number-help {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px 14px;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(196,180,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.012);
}
.foundation-engine-number-help .foundation-field-help { margin: 0; }
.foundation-form--policy-grid > .foundation-field-block { margin: 0; }
@media (max-width: 680px) {
    .foundation-section-guide { margin: 14px 17px 0; }
    .foundation-engine-number-help { grid-template-columns: 1fr; }
    .foundation-field-help details > div { padding: 9px 10px; }
}

.foundation-field-block > .foundation-check { margin: 0 !important; }
.console-field-grid > div { min-width: 0; }
.console-field-grid > div > .console-field { margin: 0; }
