.odoo-write-gate {
    --odoo-night: #0b0910;
    --odoo-panel: #151119;
    --odoo-panel-soft: #1b151e;
    --odoo-line: rgba(222, 195, 218, .16);
    --odoo-copy: #b9adb9;
    --odoo-white: #fff9fd;
    --odoo-plum: #9d6b91;
    --odoo-violet: #c798bc;
    --odoo-mint: #63dfbd;
    --odoo-amber: #f0b46a;
    position: relative;
    overflow: hidden;
    color: var(--odoo-white);
    background:
        radial-gradient(circle at 8% 8%, rgba(157, 107, 145, .2), transparent 31rem),
        radial-gradient(circle at 94% 50%, rgba(99, 223, 189, .08), transparent 30rem),
        linear-gradient(180deg, #0d0a10 0%, #070609 100%);
}

.odoo-write-gate::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 22px);
    mask-image: linear-gradient(90deg, #000, transparent 72%);
}

.odoo-write-gate__container {
    position: relative;
    z-index: 1;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(64px, 8vw, 108px) 0 clamp(60px, 7vw, 92px);
}

.odoo-write-gate__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: clamp(34px, 7vw, 92px);
    align-items: end;
    margin-bottom: 38px;
}

.odoo-write-gate__heading h2 {
    max-width: 900px;
    margin: 13px 0 0;
    font-size: clamp(40px, 5.15vw, 72px);
    line-height: .99;
    letter-spacing: -.05em;
}

.odoo-write-gate__heading > p {
    max-width: 420px;
    margin: 0 0 5px;
    color: var(--odoo-copy);
    font-size: 16px;
    line-height: 1.7;
}

.odoo-write-gate__kicker,
.odoo-write-gate__section-title > span,
.odoo-write-gate__topbar small,
.odoo-write-gate__object-map article > span,
.odoo-write-gate__object-map article small,
.odoo-write-gate__exceptions header > span,
.odoo-write-gate__sources header > span,
.odoo-write-gate__boundaries span,
.odoo-write-gate__boundaries small {
    display: block;
    color: #ad92a6;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.odoo-write-gate__console {
    overflow: hidden;
    border: 1px solid var(--odoo-line);
    border-radius: 28px;
    background: rgba(13, 10, 15, .97);
    box-shadow: 0 38px 120px rgba(0, 0, 0, .56);
}

.odoo-write-gate__topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 82px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--odoo-line);
    background: linear-gradient(90deg, rgba(157, 107, 145, .26), rgba(28, 21, 30, .86) 58%, rgba(99, 223, 189, .08));
}

.odoo-write-gate__brand {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(199, 152, 188, .42);
    border-radius: 50%;
    color: #fff6fc;
    background: linear-gradient(145deg, #76526f, #412b3d);
    font-size: 20px;
    font-weight: 950;
}

.odoo-write-gate__brand i {
    position: absolute;
    right: 1px;
    bottom: 3px;
    width: 9px;
    height: 9px;
    border: 2px solid #231820;
    border-radius: 50%;
    background: var(--odoo-amber);
    box-shadow: 0 0 13px rgba(240, 180, 106, .78);
}

.odoo-write-gate__topbar strong {
    display: block;
    margin-top: 5px;
    font-size: 15px;
    letter-spacing: .025em;
}

.odoo-write-gate__status {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 9px 12px;
    border: 1px solid rgba(240, 180, 106, .3);
    border-radius: 999px;
    color: #ffdcad;
    background: rgba(240, 180, 106, .08);
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.odoo-write-gate__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--odoo-amber);
    box-shadow: 0 0 12px rgba(240, 180, 106, .88);
}

.odoo-write-gate__case {
    display: grid;
    grid-template-columns: minmax(0, 1.36fr) minmax(310px, .64fr);
}

.odoo-write-gate__story,
.odoo-write-gate__checks {
    min-width: 0;
    padding: 28px 24px 26px;
}

.odoo-write-gate__checks {
    border-left: 1px solid var(--odoo-line);
    background: rgba(255, 255, 255, .012);
}

.odoo-write-gate__section-title {
    min-height: 69px;
}

.odoo-write-gate__section-title h3,
.odoo-write-gate__exceptions h3,
.odoo-write-gate__sources h3 {
    margin: 8px 0 0;
    font-size: 19px;
    line-height: 1.27;
}

.odoo-write-gate__object-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr) auto) minmax(0, 1fr);
    align-items: center;
}

.odoo-write-gate__object-map > i {
    width: 22px;
    color: #765e72;
    font-size: 15px;
    font-style: normal;
    text-align: center;
}

.odoo-write-gate__object-map article {
    position: relative;
    min-width: 0;
    min-height: 122px;
    padding: 14px 12px 34px;
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(199, 152, 188, .09), rgba(255, 255, 255, .018));
}

.odoo-write-gate__object-map article.is-held {
    border-color: rgba(240, 180, 106, .32);
    background: linear-gradient(145deg, rgba(240, 180, 106, .12), rgba(255, 255, 255, .018));
}

.odoo-write-gate__object-map article strong {
    display: block;
    overflow: hidden;
    margin: 8px 0 4px;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.odoo-write-gate__object-map article b {
    position: absolute;
    right: 11px;
    bottom: 10px;
    color: var(--odoo-amber);
    font-size: 9px;
    letter-spacing: .11em;
}

.odoo-write-gate__object-map article b.is-known { color: var(--odoo-violet); }
.odoo-write-gate__object-map article b.is-found { color: var(--odoo-mint); }

.odoo-write-gate__call {
    overflow: hidden;
    margin-top: 16px;
    border: 1px solid rgba(199, 152, 188, .18);
    border-radius: 14px;
    background: #09080b;
}

.odoo-write-gate__call > div {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.odoo-write-gate__call > div span {
    padding: 4px 7px;
    border-radius: 5px;
    color: #0b1714;
    background: var(--odoo-mint);
    font-size: 9px;
    font-weight: 950;
}

.odoo-write-gate__call code {
    color: #d9c7d5;
    font-size: 10px;
}

.odoo-write-gate__call p {
    overflow-x: auto;
    margin: 0;
    padding: 12px;
    color: #9f91a0;
    white-space: nowrap;
}

.odoo-write-gate__call > b {
    display: block;
    padding: 9px 12px;
    color: #ffcf91;
    background: rgba(240, 180, 106, .07);
    font-size: 9px;
    letter-spacing: .12em;
}

.odoo-write-gate__verdict {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid rgba(99, 223, 189, .22);
    border-radius: 14px;
    background: rgba(99, 223, 189, .055);
}

.odoo-write-gate__verdict > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #0c1512;
    background: var(--odoo-mint);
    font-weight: 950;
}

.odoo-write-gate__verdict small,
.odoo-write-gate__key > span {
    display: block;
    color: #91a9a2;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.odoo-write-gate__verdict strong { display: block; margin: 5px 0; font-size: 13px; line-height: 1.4; }
.odoo-write-gate__verdict p { margin: 0; color: #9dadab; font-size: 11px; line-height: 1.5; }

.odoo-write-gate__checks ol,
.odoo-write-gate__ledger {
    margin: 0;
    padding: 0;
    list-style: none;
}

.odoo-write-gate__checks li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 58px;
    padding: 9px 10px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.odoo-write-gate__checks li:first-child { border-top: 0; }
.odoo-write-gate__checks li.is-held { background: linear-gradient(90deg, rgba(240, 180, 106, .1), transparent); box-shadow: inset 3px 0 var(--odoo-amber); }
.odoo-write-gate__checks li > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #b7a7b4; background: rgba(255, 255, 255, .045); font: 800 9px ui-monospace, monospace; }
.odoo-write-gate__checks li small { display: block; margin-bottom: 3px; color: #877985; font-size: 9px; text-transform: uppercase; }
.odoo-write-gate__checks li strong { display: block; font-size: 12px; }
.odoo-write-gate__checks li > b { color: var(--odoo-mint); font-size: 9px; letter-spacing: .1em; }
.odoo-write-gate__checks li.is-held > b { color: var(--odoo-amber); }

.odoo-write-gate__key {
    margin-top: 16px;
    padding: 14px;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(157, 107, 145, .15), rgba(255, 255, 255, .025));
}

.odoo-write-gate__key code { display: block; overflow-wrap: anywhere; margin: 8px 0; color: #e5bedb; font-size: 11px; }
.odoo-write-gate__key small { color: #9d919b; font-size: 10px; line-height: 1.5; }

.odoo-write-gate__exceptions,
.odoo-write-gate__sources {
    padding: 26px 24px;
    border-top: 1px solid var(--odoo-line);
}

.odoo-write-gate__exceptions > div,
.odoo-write-gate__sources > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 17px;
}

.odoo-write-gate__exceptions article,
.odoo-write-gate__sources article {
    position: relative;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 14px;
    background: rgba(255, 255, 255, .02);
}

.odoo-write-gate__exceptions article.is-critical { border-color: rgba(240, 180, 106, .28); background: rgba(240, 180, 106, .06); }
.odoo-write-gate__exceptions article > span { color: var(--odoo-violet); font: 850 9px ui-monospace, monospace; letter-spacing: .12em; }
.odoo-write-gate__exceptions article strong { display: block; margin: 8px 0; font-size: 13px; }
.odoo-write-gate__exceptions article p,
.odoo-write-gate__sources article p { margin: 0; color: var(--odoo-copy); font-size: 11px; line-height: 1.55; }
.odoo-write-gate__exceptions article > b { display: inline-block; margin-top: 11px; color: var(--odoo-mint); font-size: 9px; letter-spacing: .1em; }
.odoo-write-gate__exceptions article.is-critical > b { color: var(--odoo-amber); }

.odoo-write-gate__run {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    border-top: 1px solid var(--odoo-line);
}

.odoo-write-gate__ledger {
    padding: 22px 24px;
    border-right: 1px solid var(--odoo-line);
}

.odoo-write-gate__ledger li {
    display: grid;
    grid-template-columns: 62px 12px minmax(0, 1fr);
    gap: 10px;
    min-height: 53px;
    color: #9c8e99;
}

.odoo-write-gate__ledger time { padding-top: 2px; font: 750 9px ui-monospace, monospace; }
.odoo-write-gate__ledger li > span { position: relative; width: 8px; height: 8px; margin-top: 3px; border: 2px solid #161119; border-radius: 50%; background: var(--odoo-mint); box-shadow: 0 0 0 1px rgba(99, 223, 189, .4); }
.odoo-write-gate__ledger li > span::after { position: absolute; top: 9px; left: 2px; width: 1px; height: 40px; content: ""; background: rgba(255, 255, 255, .1); }
.odoo-write-gate__ledger li:last-child > span::after { display: none; }
.odoo-write-gate__ledger li.is-open > span { background: var(--odoo-amber); box-shadow: 0 0 0 1px rgba(240, 180, 106, .42), 0 0 12px rgba(240, 180, 106, .45); }
.odoo-write-gate__ledger strong { display: block; color: #eee4eb; font-size: 11px; }
.odoo-write-gate__ledger small { display: block; margin-top: 3px; font-size: 9px; }

.odoo-write-gate__countertests {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    align-content: center;
    padding: 22px;
}

.odoo-write-gate__countertests article {
    min-width: 0;
    min-height: 115px;
    padding: 13px 11px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(157, 107, 145, .08), rgba(255, 255, 255, .016));
}

.odoo-write-gate__countertests span { color: var(--odoo-violet); font: 850 9px ui-monospace, monospace; }
.odoo-write-gate__countertests strong { display: block; margin: 16px 0 6px; font-size: 11px; line-height: 1.35; }
.odoo-write-gate__countertests small { display: block; color: #91848e; font-size: 9px; line-height: 1.45; }

.odoo-write-gate__sources > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.odoo-write-gate__sources article > span { display: inline-block; margin-bottom: 9px; color: var(--odoo-mint); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.odoo-write-gate__sources code { color: #d7b8cf; font-size: .92em; }

.odoo-write-gate__first-lot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: center;
    margin-top: 22px;
    padding: 28px 30px;
    border: 1px solid rgba(199, 152, 188, .2);
    border-radius: 20px;
    background: linear-gradient(115deg, rgba(157, 107, 145, .15), rgba(99, 223, 189, .045));
}

.odoo-write-gate__first-lot h3 { max-width: 780px; margin: 8px 0; font-size: clamp(23px, 3vw, 35px); line-height: 1.12; letter-spacing: -.025em; }
.odoo-write-gate__first-lot p:last-child { max-width: 800px; margin: 0; color: var(--odoo-copy); font-size: 13px; line-height: 1.6; }
.odoo-write-gate__cta { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 52px; padding: 0 20px; border: 1px solid rgba(99, 223, 189, .58); border-radius: 9px; color: #07130f; background: var(--odoo-mint); font-weight: 900; white-space: nowrap; }
.odoo-write-gate__cta:hover { color: #07130f; background: #83e9cd; transform: translateY(-2px); }

.odoo-write-gate__boundaries {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.odoo-write-gate__boundaries a {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 14px;
    color: var(--odoo-white);
    background: rgba(255, 255, 255, .018);
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.odoo-write-gate__boundaries a:hover { border-color: rgba(99, 223, 189, .4); color: var(--odoo-white); background: rgba(99, 223, 189, .05); transform: translateY(-2px); }
.odoo-write-gate__boundaries strong { display: block; margin: 8px 0; font-size: 14px; }
.odoo-write-gate__boundaries small { color: #857985; font-size: 9px; line-height: 1.5; letter-spacing: .06em; }

@media (max-width: 1080px) {
    .odoo-write-gate__case { grid-template-columns: 1fr; }
    .odoo-write-gate__checks { border-top: 1px solid var(--odoo-line); border-left: 0; }
    .odoo-write-gate__checks ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
    .odoo-write-gate__checks li { display: block; min-height: 112px; border: 1px solid rgba(255, 255, 255, .06); border-radius: 12px; }
    .odoo-write-gate__checks li > span { margin-bottom: 10px; }
    .odoo-write-gate__checks li > b { display: block; margin-top: 9px; }
    .odoo-write-gate__countertests { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .odoo-write-gate__container { width: min(100% - 32px, 720px); }
    .odoo-write-gate__heading { grid-template-columns: 1fr; gap: 22px; }
    .odoo-write-gate__heading > p { max-width: 650px; }
    .odoo-write-gate__object-map { grid-template-columns: 1fr 26px 1fr; gap: 8px 0; }
    .odoo-write-gate__object-map article:nth-of-type(3) { grid-column: 1; }
    .odoo-write-gate__object-map article:nth-of-type(4) { grid-column: 3; }
    .odoo-write-gate__exceptions > div,
    .odoo-write-gate__sources > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .odoo-write-gate__run { grid-template-columns: 1fr; }
    .odoo-write-gate__ledger { border-right: 0; border-bottom: 1px solid var(--odoo-line); }
    .odoo-write-gate__first-lot { grid-template-columns: 1fr; gap: 22px; }
    .odoo-write-gate__cta { width: fit-content; }
    .odoo-write-gate__boundaries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .odoo-write-gate__container { width: min(100% - 20px, 440px); padding: 52px 0 58px; }
    .odoo-write-gate__heading { margin-bottom: 26px; }
    .odoo-write-gate__heading h2 { font-size: clamp(34px, 10.3vw, 48px); }
    .odoo-write-gate__console { border-radius: 18px; }
    .odoo-write-gate__topbar { grid-template-columns: auto minmax(0, 1fr); padding: 13px; }
    .odoo-write-gate__status { grid-column: 1 / -1; width: fit-content; }
    .odoo-write-gate__story,
    .odoo-write-gate__checks,
    .odoo-write-gate__exceptions,
    .odoo-write-gate__sources { padding: 22px 14px; }
    .odoo-write-gate__object-map { display: block; }
    .odoo-write-gate__object-map > i { display: block; width: auto; height: 24px; line-height: 24px; transform: rotate(90deg); }
    .odoo-write-gate__object-map article { min-height: 108px; }
    .odoo-write-gate__call p { font-size: 9px; }
    .odoo-write-gate__verdict { grid-template-columns: 1fr; }
    .odoo-write-gate__checks ol { grid-template-columns: 1fr 1fr; }
    .odoo-write-gate__checks li { min-height: 118px; }
    .odoo-write-gate__checks li:last-child { grid-column: 1 / -1; min-height: 92px; }
    .odoo-write-gate__exceptions > div,
    .odoo-write-gate__sources > div,
    .odoo-write-gate__countertests,
    .odoo-write-gate__boundaries { grid-template-columns: 1fr; }
    .odoo-write-gate__countertests { padding: 16px 14px 22px; }
    .odoo-write-gate__countertests article { min-height: 96px; }
    .odoo-write-gate__ledger { padding: 20px 14px; }
    .odoo-write-gate__first-lot { padding: 22px 18px; }
    .odoo-write-gate__cta { width: 100%; white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .odoo-write-gate__cta,
    .odoo-write-gate__boundaries a { transition: none; }
}
