
:root {
    --navy: #052f6f;
    --navy-dark: #031d43;
    --blue: #087fbd;
    --blue-soft: #eaf6fc;
    --green: #58ae0c;
    --green-dark: #347e07;
    --ink: #142033;
    --muted: #647084;
    --line: #dce5ee;
    --surface: #ffffff;
    --soft: #f4f8fb;
    --radius: 22px;
    --shadow: 0 18px 50px rgba(4, 47, 111, .12);
    --container: 1180px;
}

* { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--surface);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.container {
    width: min(calc(100% - 36px), var(--container));
    margin-inline: auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    padding: 12px 18px;
    background: #fff;
    color: var(--navy);
    border-radius: 10px;
    box-shadow: var(--shadow);
    z-index: 1000;
}
.skip-link:focus { top: 16px; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(220,229,238,.75);
}

.nav-wrap {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 228px;
}

.brand picture {
    flex: 0 0 auto;
    width: 58px;
    height: 56px;
    display: grid;
    place-items: center;
}

.brand img {
    width: 58px;
    max-height: 56px;
    object-fit: contain;
}

.brand-word {
    display: inline-flex;
    align-items: baseline;
    font-size: 25px;
    line-height: 1;
    letter-spacing: -.045em;
    white-space: nowrap;
}
.brand-word b { color: var(--navy); font-weight: 900; }
.brand-word strong { color: var(--green-dark); font-weight: 900; }
.brand-word i { color: #344154; font-style: normal; font-weight: 850; }

.main-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    color: #334155;
    font-size: 15px;
    font-weight: 700;
}

.main-nav a { transition: color .2s ease; }
.main-nav a:hover { color: var(--blue); }

.nav-login {
    padding: 11px 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
}

.menu-toggle {
    display: none;
    width: 46px;
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: var(--soft);
    cursor: pointer;
}
.menu-toggle span:not(.sr-only) {
    display: block;
    width: 22px;
    height: 2px;
    margin: 5px auto;
    background: var(--navy);
    border-radius: 2px;
}

.hero {
    position: relative;
    overflow: hidden;
    padding: 72px 0 58px;
    background:
        radial-gradient(circle at 82% 18%, rgba(88,174,12,.15), transparent 24%),
        radial-gradient(circle at 10% 14%, rgba(8,127,189,.12), transparent 26%),
        linear-gradient(180deg, #fbfdff 0%, #f4f9fc 100%);
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .5;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(5,47,111,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(5,47,111,.035) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent 86%);
}

.hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items: center;
    gap: 36px;
}

.hero-copy { padding: 24px 0 36px; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.eyebrow::before {
    content: "";
    width: 26px;
    height: 3px;
    background: var(--green);
    border-radius: 999px;
}

.eyebrow-light { color: #dfffc5; }
.eyebrow-light::before { background: #dfffc5; }

h1, h2, h3, p { margin-top: 0; }

h1 {
    margin: 18px 0 22px;
    color: var(--navy-dark);
    font-size: clamp(44px, 5.5vw, 72px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

h1 strong {
    color: var(--blue);
    font-weight: 900;
}

.hero-lead {
    max-width: 690px;
    margin-bottom: 30px;
    color: #4b5c70;
    font-size: clamp(18px, 2vw, 21px);
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.button {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: 14px;
    font-weight: 850;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
    box-shadow: 0 14px 30px rgba(5,47,111,.22);
}

.button-primary:hover {
    box-shadow: 0 18px 36px rgba(5,47,111,.28);
}

.button-secondary {
    color: var(--navy);
    background: #fff;
    border-color: var(--line);
}

.button-white {
    color: var(--navy);
    background: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.button-large { min-height: 60px; padding-inline: 28px; }

.trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    margin-top: 27px;
    color: #536275;
    font-size: 14px;
    font-weight: 720;
}
.trust-row b { color: var(--green); }

.hero-visual {
    position: relative;
    min-height: 540px;
    display: grid;
    place-items: center;
}

.hero-visual > picture {
    position: relative;
    z-index: 3;
    width: min(95%, 560px);
    filter: drop-shadow(0 26px 28px rgba(3,29,67,.18));
    animation: float-logo 6s ease-in-out infinite;
}

@keyframes float-logo {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.visual-orbit {
    position: absolute;
    border: 1px solid rgba(8,127,189,.18);
    border-radius: 50%;
}
.orbit-one { width: 480px; height: 480px; }
.orbit-two { width: 360px; height: 360px; border-color: rgba(88,174,12,.22); }

.floating-card {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(220,229,238,.9);
    border-radius: 16px;
    box-shadow: var(--shadow);
    backdrop-filter: blur(10px);
}

.floating-card small {
    display: block;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.2;
}
.floating-card strong { font-size: 13px; }
.card-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: #fff;
    background: var(--blue);
    border-radius: 11px;
    font-weight: 900;
}

.card-area { left: 0; top: 80px; }
.card-reply { right: 0; top: 215px; }
.card-reply .card-icon { background: var(--green); }
.card-review {
    left: 55px;
    bottom: 45px;
    display: block;
}
.stars { color: #f3a319; letter-spacing: 2px; }

.quick-proof {
    position: relative;
    z-index: 10;
    padding: 0 0 30px;
    background: linear-gradient(180deg, #f4f9fc 0%, #fff 100%);
}

.proof-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.proof-grid article {
    display: flex;
    gap: 16px;
    padding: 27px 28px;
}

.proof-grid article + article {
    border-left: 1px solid var(--line);
}

.proof-number {
    color: var(--green);
    font-weight: 900;
    font-size: 13px;
}

.proof-grid h2 {
    margin-bottom: 5px;
    color: var(--navy);
    font-size: 17px;
}
.proof-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.section { padding: 92px 0; }
.section-soft { background: var(--soft); }

.section-heading {
    max-width: 700px;
    margin: 0 auto 44px;
    text-align: center;
}
.section-heading.align-left { text-align: left; margin: 0; }
.section-heading h2,
.safety-copy h2,
.pro-section h2,
.final-cta h2 {
    margin: 13px 0 16px;
    color: var(--navy-dark);
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.section-heading p,
.safety-copy > p {
    color: var(--muted);
    font-size: 18px;
}

.steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.step-card {
    position: relative;
    padding: 31px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.step-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}
.step-card::after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    right: -50px;
    top: -55px;
    border-radius: 50%;
    background: var(--blue-soft);
}
.step-icon {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    border-radius: 15px;
    font-size: 19px;
    font-weight: 900;
}
.step-card:nth-child(2) .step-icon {
    background: linear-gradient(135deg, var(--green-dark), var(--green));
}
.step-card h3 {
    margin-bottom: 10px;
    color: var(--navy);
    font-size: 21px;
}
.step-card p { margin: 0; color: var(--muted); }

.safety-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: 70px;
}

.check-list {
    display: grid;
    gap: 14px;
    padding: 0;
    margin: 30px 0 0;
    list-style: none;
}
.check-list li {
    position: relative;
    padding-left: 34px;
    font-weight: 720;
}
.check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -1px;
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--green);
    border-radius: 50%;
    font-size: 13px;
}

.profile-demo {
    padding: 30px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 26px;
    box-shadow: var(--shadow);
}

.profile-top {
    display: flex;
    align-items: center;
    gap: 17px;
}
.avatar {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, var(--navy), var(--blue));
    border-radius: 20px;
    font-weight: 900;
}
.profile-top h3 { margin: 2px 0 1px; color: var(--navy); font-size: 21px; }
.profile-top p { margin: 0; color: var(--muted); font-size: 14px; }
.status { color: var(--green-dark); font-size: 12px; font-weight: 850; }
.status i {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    background: var(--green);
    border-radius: 50%;
}

.rating-line {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 26px 0 16px;
    padding: 17px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.rating-line strong { color: var(--navy); font-size: 27px; }
.rating-line small { margin-left: auto; color: var(--muted); }

.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.badges span {
    padding: 7px 10px;
    color: var(--navy);
    background: var(--blue-soft);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.profile-detail {
    display: grid;
    gap: 3px;
    padding: 13px 0;
}
.profile-detail + .profile-detail { border-top: 1px solid var(--line); }
.profile-detail span { color: var(--muted); font-size: 12px; }
.profile-detail strong { font-size: 14px; }
.demo-note { margin: 18px 0 0; color: #7b8797; font-size: 11px; }

.pro-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% 0%, rgba(88,174,12,.35), transparent 28%),
        linear-gradient(135deg, var(--navy-dark), var(--navy) 55%, #064b75);
}
.pro-section::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    right: -220px;
    bottom: -300px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
}
.pro-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.pro-section h2 { color: #fff; }
.pro-section p { color: #d9e8f5; font-size: 18px; max-width: 620px; }

.pro-points { display: grid; gap: 12px; }
.pro-points div {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;
}
.pro-points b { color: #baf47e; font-size: 13px; }
.pro-points span { font-weight: 750; }

.faq-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 80px;
    align-items: start;
}
.faq-list { display: grid; gap: 12px; }
.faq-list details {
    padding: 0 21px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
}
.faq-list summary {
    position: relative;
    padding: 20px 36px 20px 0;
    color: var(--navy);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 17px;
    font-size: 23px;
    color: var(--blue);
}
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 0 20px; margin: 0; color: var(--muted); }

.final-cta { padding: 0 0 80px; }
.cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 45px 48px;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(5,47,111,.98), rgba(8,127,189,.96)),
        url("/assets/img/logo-simbol.png") right center / 300px no-repeat;
    border-radius: 28px;
    box-shadow: var(--shadow);
}
.final-cta h2 { margin-bottom: 0; color: #fff; font-size: clamp(29px, 3.6vw, 44px); }

.site-footer {
    padding: 62px 0 25px;
    color: #c8d4e2;
    background: #041b3a;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr repeat(3, 1fr);
    gap: 38px;
}
.footer-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}
.footer-brand img { width: 72px; }
.footer-brand strong { display: block; color: #fff; font-size: 21px; }
.footer-brand p { margin: 3px 0 0; color: #94a8bd; }

.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links strong { margin-bottom: 6px; color: #fff; }
.footer-links a, .footer-links span { color: #aebed0; font-size: 14px; }
.footer-links a:hover { color: #fff; }

.legal-note {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: #849ab1;
    font-size: 12px;
}
.legal-note p { max-width: 780px; margin: 0; }

@media (max-width: 980px) {
    .menu-toggle { display: block; }
    .main-nav {
        position: absolute;
        left: 18px;
        right: 18px;
        top: 76px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 13px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        box-shadow: var(--shadow);
    }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 12px 13px; border-radius: 10px; }
    .main-nav a:hover { background: var(--soft); }

    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { text-align: center; }
    .hero-lead { margin-inline: auto; }
    .hero-actions, .trust-row { justify-content: center; }
    .hero-visual { min-height: 470px; }
    .card-area { left: 7%; }
    .card-reply { right: 5%; }

    .proof-grid { grid-template-columns: 1fr; }
    .proof-grid article + article { border-left: 0; border-top: 1px solid var(--line); }

    .safety-grid, .pro-grid, .faq-grid { grid-template-columns: 1fr; gap: 48px; }
    .section-heading.align-left { text-align: center; margin-inline: auto; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-grid > :last-child { grid-column: 2 / -1; }
}

@media (max-width: 720px) {
    .container { width: min(calc(100% - 24px), var(--container)); }
    .nav-wrap { min-height: 72px; }
    .brand { min-width: 0; gap: 6px; }
    .brand picture { width: 48px; height: 47px; }
    .brand img { width: 48px; max-height: 47px; }
    .brand-word { font-size: 21px; }
    .hero { padding-top: 42px; }
    h1 { font-size: clamp(38px, 12vw, 52px); }
    .hero-lead { font-size: 17px; }
    .hero-actions { flex-direction: column; }
    .button { width: 100%; }
    .trust-row { align-items: center; flex-direction: column; gap: 8px; }
    .hero-visual { min-height: 390px; }
    .hero-visual > picture { width: 94%; }
    .orbit-one { width: 350px; height: 350px; }
    .orbit-two { width: 265px; height: 265px; }
    .floating-card { transform: scale(.88); }
    .card-area { left: -5%; top: 35px; }
    .card-reply { right: -7%; top: 170px; }
    .card-review { left: 5%; bottom: 17px; }

    .section { padding: 68px 0; }
    .steps { grid-template-columns: 1fr; }
    .step-card { padding: 26px; }
    .safety-grid { gap: 38px; }
    .profile-demo { padding: 22px; }
    .rating-line { flex-wrap: wrap; }
    .rating-line small { width: 100%; margin: 0; }
    .pro-grid { gap: 34px; }
    .cta-box { flex-direction: column; align-items: flex-start; padding: 34px 25px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-grid > :last-child { grid-column: auto; }
    .legal-note { flex-direction: column; gap: 15px; }
}

@media (max-width: 470px) {
    .floating-card { display: none; }
    .hero-visual { min-height: 310px; }
    .proof-grid article { padding: 22px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand, .footer-grid > :last-child { grid-column: auto; }
}

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


/* CineRepara v2: aplicație, formulare și ecosistem */
.project-ribbon { background:#031d43; color:#cfe1f2; font-size:12px; }
.project-ribbon .container { min-height:30px; display:flex; align-items:center; justify-content:center; gap:7px; }
.project-ribbon a { color:#fff; font-weight:850; }
.project-ribbon a:first-of-type { color:#6db7ed; }
.project-ribbon a:last-of-type { color:#9be35e; }
.project-ribbon i { font-style:normal; color:#6f8298; }
.flash { padding:12px 0; font-weight:750; font-size:14px; }
.flash-success { background:#e9f9dd; color:#2d7007; }
.flash-info { background:#eaf6fc; color:#075d8c; }
.flash-error { background:#fff0f0; color:#9d2424; }
.brand-proof { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.brand-proof > span { width:100%; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.brand-proof a { display:grid; padding:8px 12px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.brand-proof strong { color:var(--navy); }
.brand-proof a:nth-of-type(2) strong { color:var(--green-dark); }
.brand-proof small { color:var(--muted); font-size:10px; }
.brand-proof i { color:#8aa0b7; font-style:normal; font-weight:900; }
.ecosystem { background:linear-gradient(180deg,#fff,#f3f9fc); }
.ecosystem-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:55px; align-items:center; }
.ecosystem-grid h2 { margin:14px 0 0; color:var(--navy-dark); font-size:clamp(32px,4vw,48px); line-height:1.1; letter-spacing:-.035em; }
.ecosystem-cards { display:grid; gap:12px; }
.ecosystem-cards a { display:grid; grid-template-columns:42px 1fr; column-gap:14px; padding:19px 20px; background:#fff; border:1px solid var(--line); border-radius:17px; transition:.2s ease; }
.ecosystem-cards a:hover { transform:translateX(5px); box-shadow:var(--shadow); }
.ecosystem-cards span { grid-row:1/3; color:var(--green); font-weight:900; }
.ecosystem-cards strong { color:var(--navy); font-size:18px; }
.ecosystem-cards p { margin:2px 0 0; color:var(--muted); font-size:14px; }
.footer-project { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:35px; padding-bottom:27px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-project > span { color:#8da4ba; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.footer-project a { color:#fff; font-weight:900; font-size:18px; }
.footer-project a:nth-of-type(2) { color:#9be35e; }
.footer-project b { color:#6f8298; }
.footer-project p { flex-basis:100%; margin:3px 0 0; color:#8da4ba; font-size:13px; }
.narrow { width:min(calc(100% - 36px),860px); }
.form-hero { padding:70px 0 52px; text-align:center; background:radial-gradient(circle at 50% 0%,rgba(8,127,189,.13),transparent 42%),var(--soft); }
.form-hero h1 { margin:15px 0 14px; font-size:clamp(38px,6vw,58px); }
.form-hero p { max-width:720px; margin:0 auto; color:var(--muted); font-size:18px; }
.project-inline { display:inline-flex; flex-wrap:wrap; justify-content:center; gap:5px; margin-top:22px; padding:10px 14px; background:#fff; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:12px; }
.project-inline a { color:var(--navy); font-weight:900; }
.project-inline a:last-of-type { color:var(--green-dark); }
.form-section { padding-top:55px; background:#f7fafc; }
.request-form { display:grid; gap:22px; }
.request-form fieldset { margin:0; padding:28px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 10px 32px rgba(4,47,111,.06); }
.request-form legend { padding:0 8px; color:var(--navy); font-size:19px; font-weight:900; }
.request-form legend b { display:inline-grid; place-items:center; width:31px; height:31px; margin-right:7px; color:#fff; background:linear-gradient(135deg,var(--navy),var(--blue)); border-radius:10px; }
.form-grid { display:grid; gap:16px; }
.form-grid.two { grid-template-columns:1fr 1fr; }
.form-stack { display:grid; gap:17px; }
label { display:grid; gap:7px; color:#26384b; font-size:14px; font-weight:800; }
label > span { color:var(--muted); font-size:11px; font-weight:600; }
input, select, textarea { width:100%; padding:13px 14px; color:var(--ink); background:#fff; border:1px solid #cad7e4; border-radius:11px; outline:none; transition:.2s ease; }
input:focus, select:focus, textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(8,127,189,.1); }
textarea { resize:vertical; }
.request-form label + label, .request-form .form-grid + label, .request-form label + .form-grid { margin-top:16px; }
.privacy-note { margin:18px 0 0; padding:13px 15px; color:#075d8c; background:var(--blue-soft); border-radius:11px; font-size:13px; }
.confirm-fieldset { display:grid; gap:13px; }
.check-control { display:grid; grid-template-columns:21px 1fr; align-items:start; gap:10px; padding:13px; background:var(--soft); border-radius:11px; font-weight:650; }
.check-control input { width:18px; height:18px; margin:2px 0 0; }
.check-control span { color:#394b60; font-size:13px; }
.check-control a { color:var(--blue); text-decoration:underline; }
.submit-panel { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:24px; color:#fff; background:linear-gradient(135deg,var(--navy-dark),var(--navy)); border-radius:20px; }
.submit-panel strong { font-size:18px; }
.submit-panel p { margin:4px 0 0; color:#bcd0e4; font-size:13px; }
.form-error, .form-success { margin-bottom:20px; padding:16px 18px; border-radius:13px; }
.form-error { color:#8f1f1f; background:#fff0f0; border:1px solid #f3c1c1; }
.form-error ul { margin:8px 0 0; padding-left:20px; }
.form-success { color:#2b6907; background:#ecf9e3; border:1px solid #bfe5a1; }
.form-hint { color:var(--muted); font-size:12px; }
.install-page { background:var(--soft); }
.install-wrap { min-height:100vh; display:grid; place-items:center; padding:30px; }
.install-box { width:min(680px,100%); padding:38px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.install-box > img { display:block; width:190px; margin:0 auto 15px; }
.install-box > .eyebrow { display:flex; justify-content:center; }
.install-box h1 { margin:12px 0 25px; text-align:center; font-size:42px; }
.auth-section { min-height:65vh; display:grid; place-items:center; background:var(--soft); }
.auth-box { max-width:560px; padding:38px; text-align:center; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.auth-box > img { width:125px; }
.auth-box h1 { margin:13px 0 10px; font-size:40px; }
.auth-box > p { color:var(--muted); }
.auth-box form { text-align:left; margin-top:22px; }
.auth-box form .button { width:100%; }
.dev-otp { margin:18px 0; padding:14px; color:#704d00; background:#fff6cf; border:1px solid #efd978; border-radius:12px; }
.dev-otp code { font-size:22px; font-weight:900; letter-spacing:.12em; }
.support-line { margin-top:20px!important; font-size:13px; }
.support-line a { color:var(--blue); font-weight:800; }
.account-hero { padding:55px 0; background:linear-gradient(135deg,#f0f8fc,#f6fbf1); }
.account-hero .container { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.account-hero h1 { margin:12px 0 8px; font-size:clamp(36px,5vw,55px); }
.account-hero p { margin:0; color:var(--muted); }
.account-actions { display:flex; gap:10px; }
.account-section { background:#f7fafc; }
.request-list { display:grid; gap:16px; }
.request-card { padding:24px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 26px rgba(4,47,111,.05); }
.request-card-top { display:flex; justify-content:space-between; gap:25px; }
.request-code { color:var(--green-dark); font-size:11px; font-weight:900; letter-spacing:.08em; }
.request-card h2 { margin:5px 0; color:var(--navy); font-size:21px; }
.request-card p { margin:0; color:var(--muted); }
.status-pill { align-self:flex-start; padding:8px 11px; color:#075d8c; background:var(--blue-soft); border-radius:999px; font-size:12px; font-weight:850; white-space:nowrap; }
.status-open { color:#2c7307; background:#e9f8dd; }
.request-meta { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:#536275; font-size:13px; }
.request-note { margin-top:16px; padding:12px 14px; color:#617083; background:var(--soft); border-radius:10px; font-size:11px; }
.empty-state { padding:55px 25px; text-align:center; background:#fff; border:1px solid var(--line); border-radius:22px; }
.empty-state img { width:150px; }
.empty-state h2 { color:var(--navy); }
.coming-panel { display:grid; grid-template-columns:180px 1fr; gap:30px; align-items:center; padding:32px; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.coming-panel h2 { color:var(--navy); }
.ecosystem-note { margin-top:22px; padding:20px; text-align:center; color:var(--navy); background:var(--blue-soft); border-radius:15px; }
.legal-page h1 { margin:14px 0 25px; font-size:50px; }
.legal-page h2 { margin-top:32px; color:var(--navy); }
.legal-page p { color:#536275; }
.legal-warning { padding:15px; color:#714e00; background:#fff6cf; border:1px solid #efd978; border-radius:12px; }
@media(max-width:980px){.ecosystem-grid{grid-template-columns:1fr}.account-hero .container{align-items:flex-start;flex-direction:column}.footer-project{justify-content:center;text-align:center}}
@media(max-width:720px){.project-ribbon .container{font-size:10px}.brand-proof{justify-content:center}.form-grid.two{grid-template-columns:1fr}.request-form fieldset{padding:21px 17px}.submit-panel{align-items:stretch;flex-direction:column}.submit-panel .button{width:100%}.coming-panel{grid-template-columns:1fr;text-align:center}.coming-panel img{width:150px;margin:auto}.account-actions{width:100%;flex-direction:column}.request-card-top{flex-direction:column}.status-pill{align-self:flex-start}.footer-project{flex-direction:column}.footer-project p{max-width:420px}.install-box,.auth-box{padding:27px 20px}.narrow{width:min(calc(100% - 24px),860px)}}
