body {
    background: #f5f0e6;
    color: #17301c;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: 0.08em;
}

.hero-panel,
.content-card {
    background: #fffdf7;
    border: 1px solid #e4dccd;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(23, 48, 28, 0.08);
}

.metric-card {
    background: linear-gradient(135deg, #e9f5de, #fff7db);
    border-radius: 14px;
    padding: 1rem;
    border: 1px solid #d4e2c6;
}

.page-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(165, 198, 118, 0.18), transparent 32%),
        radial-gradient(circle at top right, rgba(231, 181, 84, 0.15), transparent 26%),
        #f5f0e6;
}

.section-title {
    font-weight: 700;
    color: #254d2a;
}

.farm-dashboard-card {
    overflow: hidden;
}

.farm-meta-grid,
.sensor-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.farm-meta-grid > div,
.sensor-mini-grid > div {
    background: rgba(233, 245, 222, 0.62);
    border: 1px solid #d4e2c6;
    border-radius: 12px;
    padding: 0.7rem 0.8rem;
}

.farm-meta-grid span,
.sensor-mini-grid span {
    display: block;
    font-size: 0.72rem;
    color: #6b7280;
    margin-bottom: 0.18rem;
}

.farm-meta-grid strong,
.sensor-mini-grid strong {
    color: #17301c;
    font-size: 0.92rem;
    word-break: break-word;
}

.coverage-progress {
    height: 0.55rem;
    background: #e9f5de;
}

.chart-panel,
.ai-panel {
    background: #fffdf7;
    border: 1px solid #e4dccd;
    border-radius: 16px;
    padding: 1rem;
}

.chart-canvas-wrap {
    position: relative;
    width: 100%;
    min-height: 260px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #efe7d7;
    background: #fffdf7;
}

.chart-canvas-wrap canvas {
    width: 100%;
    height: 260px;
    display: block;
    cursor: crosshair;
}

.chart-tooltip {
    position: absolute;
    display: none;
    z-index: 10;
    min-width: 150px;
    max-width: 220px;
    padding: 0.55rem 0.7rem;
    background: rgba(23, 48, 28, 0.94);
    color: #fffdf7;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(23, 48, 28, 0.18);
    font-size: 0.78rem;
    line-height: 1.45;
    pointer-events: none;
}

.empty-chart {
    border: 1px dashed #d4e2c6;
    border-radius: 14px;
    background: #fbf8ef;
}

.action-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.action-pill {
    border-left: 4px solid #1f8f4d;
    background: #f3f8ec;
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
    font-size: 0.82rem;
    color: #17301c;
}

.ai-advisory:last-child {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 576px) {
    .farm-meta-grid,
    .sensor-mini-grid {
        grid-template-columns: 1fr;
    }

    .chart-toggle {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .chart-toggle .btn {
        border-radius: 0.375rem !important;
        margin: 0.1rem;
    }
}

/* Product-grade auth and dashboard polish */
:root {
    --agri-green: #06a84f;
    --agri-dark: #0f2416;
    --agri-soft: #effcf4;
    --agri-mint: #e8fff1;
    --agri-gold: #ffc857;
    --agri-blue: #2563eb;
}

.page-shell {
    background:
        radial-gradient(circle at top left, rgba(6, 168, 79, 0.12), transparent 30%),
        radial-gradient(circle at 85% 15%, rgba(37, 99, 235, 0.08), transparent 24%),
        linear-gradient(135deg, #f6fff9 0%, #ffffff 45%, #f0fff6 100%);
}

.navbar {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.72);
    border-bottom: 1px solid rgba(6, 168, 79, 0.08);
}

.auth-product-shell {
    min-height: calc(100vh - 120px);
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.7fr);
    gap: 2.4rem;
    align-items: center;
    padding: 1rem 0 3rem;
}

.auth-hero-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(6, 168, 79, 0.14);
    border-radius: 32px;
    padding: clamp(1.5rem, 4vw, 3rem);
    background:
        radial-gradient(circle at 20% 15%, rgba(6, 168, 79, 0.22), transparent 24%),
        radial-gradient(circle at 85% 10%, rgba(255, 200, 87, 0.22), transparent 22%),
        linear-gradient(145deg, #ffffff 0%, #ecfff4 100%);
    box-shadow: 0 26px 70px rgba(15, 36, 22, 0.10);
}

.auth-hero-panel::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -120px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: rgba(6, 168, 79, 0.08);
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.brand-mark,
.login-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #00c853, #008f43);
    box-shadow: 0 18px 34px rgba(0, 168, 79, 0.24);
    font-size: 1.5rem;
}

.brand-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--agri-dark);
}

.brand-subtitle {
    font-size: 0.85rem;
    color: #048d43;
}

.auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(6, 168, 79, 0.10);
    color: #04783a;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.auth-headline {
    max-width: 760px;
    margin: 1rem 0;
    color: #071b10;
    font-weight: 900;
    font-size: clamp(2rem, 5vw, 4.4rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.auth-copy {
    max-width: 680px;
    color: #486052;
    font-size: 1.08rem;
    line-height: 1.7;
}

.auth-feature-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.6rem;
}

.auth-feature-card,
.device-tier-preview > div {
    border: 1px solid rgba(6, 168, 79, 0.14);
    border-radius: 20px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 36px rgba(15, 36, 22, 0.06);
}

.auth-feature-card span {
    font-size: 1.45rem;
}

.auth-feature-card strong,
.device-tier-preview strong {
    display: block;
    color: #102818;
    margin: 0.45rem 0 0.25rem;
}

.auth-feature-card p,
.device-tier-preview p {
    color: #5f7067;
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.auth-proof-strip {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-top: 1.6rem;
}

.auth-proof-strip > div {
    border-radius: 18px;
    padding: 0.9rem;
    background: #0d2615;
    color: #fff;
}

.auth-proof-strip strong {
    display: block;
    font-size: 1.15rem;
}

.auth-proof-strip span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.8rem;
}

.auth-form-panel {
    width: 100%;
}

.login-card-pro {
    padding: clamp(1.3rem, 3vw, 2rem);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(6, 168, 79, 0.12);
    box-shadow: 0 30px 80px rgba(15, 36, 22, 0.14);
    backdrop-filter: blur(16px);
}

.login-card-pro h2 {
    color: #091c10;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin-top: 1rem;
}

.login-card-pro p {
    color: #617368;
}

.auth-form-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.auth-submit {
    border: 0;
    border-radius: 16px;
    font-weight: 800;
    background: linear-gradient(135deg, #04b954, #008f43);
    box-shadow: 0 14px 30px rgba(6, 168, 79, 0.25);
}

.auth-register-line {
    margin-top: 1.2rem;
    text-align: center;
    color: #617368;
}

.auth-register-line a {
    color: #008f43;
    font-weight: 800;
    text-decoration: none;
}

.language-pill-form {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(6, 168, 79, 0.16);
    border-radius: 999px;
    background: #fff;
    padding: 0.45rem 0.65rem;
    box-shadow: 0 10px 26px rgba(15, 36, 22, 0.08);
}

.language-pill-form select {
    border: 0;
    outline: 0;
    background: transparent;
    color: #102818;
    font-weight: 700;
}

.device-tier-preview {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.tier-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tier-badge.base {
    color: #075985;
    background: #e0f2fe;
}

.tier-badge.pro {
    color: #166534;
    background: #dcfce7;
}

.device-variant-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.device-variant-option {
    cursor: pointer;
    border: 1px solid #d8eadf;
    border-radius: 18px;
    padding: 0.85rem;
    background: #fff;
    transition: 0.18s ease;
}

.device-variant-option input {
    position: absolute;
    opacity: 0;
}

.device-variant-option strong,
.device-variant-option small {
    display: block;
}

.device-variant-option strong {
    color: #102818;
    margin-top: 0.55rem;
}

.device-variant-option small {
    color: #64756b;
    line-height: 1.4;
}

.device-variant-option.is-selected,
.device-variant-option:has(input:checked) {
    border-color: #06a84f;
    box-shadow: 0 14px 30px rgba(6, 168, 79, 0.13);
    background: #f2fff7;
}

.content-card,
.chart-panel,
.ai-panel {
    border-color: rgba(6, 168, 79, 0.12);
    box-shadow: 0 18px 50px rgba(15, 36, 22, 0.08);
}

.farm-dashboard-card {
    background:
        radial-gradient(circle at top right, rgba(6, 168, 79, 0.10), transparent 32%),
        #ffffff;
}

.farm-meta-grid > div,
.sensor-mini-grid > div {
    background: linear-gradient(145deg, #f5fff8, #ffffff);
    border-color: rgba(6, 168, 79, 0.13);
}

.chart-canvas-wrap {
    background: linear-gradient(180deg, #ffffff, #fbfffd);
}

@media (max-width: 992px) {
    .auth-product-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .auth-feature-grid,
    .auth-proof-strip,
    .device-tier-preview,
    .device-variant-picker {
        grid-template-columns: 1fr;
    }

    .auth-product-shell {
        padding-top: 0;
    }
}

/* Product-grade React dashboard shell */
.agri-react-root{margin-top:-.5rem}.ag-dashboard{display:flex;flex-direction:column;gap:1.25rem}.ag-hero{position:relative;overflow:hidden;border-radius:30px;padding:2rem;background:linear-gradient(135deg,#064e3b,#16a34a 48%,#a7f3d0);color:white;display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;box-shadow:0 24px 70px rgba(6,78,59,.26)}.ag-hero:before{content:"";position:absolute;inset:-40% -20% auto auto;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.14)}.ag-hero>*{position:relative}.ag-eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:800;opacity:.88}.ag-hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:.45rem 0}.ag-hero p{max-width:720px;margin:0;opacity:.92;font-size:1.05rem}.ag-hero-actions,.ag-action-row,.ag-pill-row,.ag-chart-head,.ag-ai-top,.ag-tag-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.ag-hero-actions{justify-content:flex-end}.ag-btn{border:0;text-decoration:none;border-radius:999px;padding:.72rem 1rem;font-weight:800;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:.18s ease;white-space:nowrap}.ag-btn:hover{transform:translateY(-1px);text-decoration:none}.ag-btn-primary{background:#16a34a;color:#fff;box-shadow:0 12px 26px rgba(22,163,74,.28)}.ag-btn-light{background:rgba(255,255,255,.9);color:#065f46}.ag-btn-soft{background:#ecfdf5;color:#047857}.ag-btn-danger{background:#fff1f2;color:#be123c}.ag-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ag-stat-card{border:1px solid rgba(148,163,184,.22);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(15,23,42,.07);padding:1.05rem;display:flex;gap:.85rem;align-items:center;backdrop-filter:blur(12px)}.ag-stat-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#ecfdf5;font-size:1.35rem}.ag-stat-card.blue .ag-stat-icon{background:#eff6ff}.ag-stat-card.purple .ag-stat-icon{background:#f5f3ff}.ag-stat-card.gold .ag-stat-icon{background:#fffbeb}.ag-stat-label{color:#64748b;font-size:.82rem;font-weight:800}.ag-stat-value{font-size:1.45rem;font-weight:900;color:#0f172a}.ag-stat-helper{color:#94a3b8;font-size:.78rem}.ag-farm-list{display:flex;flex-direction:column;gap:1.2rem}.ag-farm-card{border:1px solid rgba(148,163,184,.2);border-radius:30px;background:linear-gradient(180deg,#fff,rgba(248,250,252,.96));box-shadow:0 24px 70px rgba(15,23,42,.08);padding:1.25rem}.ag-farm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(148,163,184,.17);padding-bottom:1rem;margin-bottom:1rem}.ag-breadcrumb{color:#64748b;font-size:.86rem;font-weight:700}.ag-farm-head h2{font-weight:900;font-size:1.55rem;margin:.15rem 0 .65rem;color:#0f172a}.ag-pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;background:#f1f5f9;color:#334155;padding:.36rem .7rem;font-size:.8rem;font-weight:800}.ag-pill.pro{background:#ecfdf5;color:#047857}.ag-pill.base{background:#eff6ff;color:#1d4ed8}.ag-farm-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:1rem}.ag-left-stack{display:flex;flex-direction:column;gap:1rem}.ag-device-card,.ag-chart-card,.ag-ai-card,.ag-ai-empty{border:1px solid rgba(148,163,184,.18);background:#fff;border-radius:24px;padding:1rem;box-shadow:0 12px 36px rgba(15,23,42,.05)}.ag-device-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:center}.ag-gauge{--score:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#16a34a calc(var(--score)*1%),#e2e8f0 0)}.ag-gauge-inner{width:82px;height:82px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.ag-gauge-inner strong{font-size:1.3rem;color:#064e3b}.ag-gauge-inner span{font-size:.68rem;color:#64748b;font-weight:800}.ag-meta-list{display:flex;flex-direction:column;gap:.55rem}.ag-meta-list div{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px dashed #e2e8f0;padding-bottom:.45rem}.ag-meta-list span{color:#64748b;font-size:.78rem;font-weight:700}.ag-meta-list strong{color:#0f172a;font-size:.85rem;text-align:right}.ag-sensor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ag-sensor-grid .ag-stat-card{padding:.8rem;border-radius:18px;box-shadow:none}.ag-sensor-grid .ag-stat-icon{width:38px;height:38px;border-radius:14px;font-size:1.1rem}.ag-sensor-grid .ag-stat-value{font-size:1.1rem}.ag-chart-card{min-height:420px}.ag-chart-head{justify-content:space-between;margin-bottom:.8rem}.ag-chart-head span{display:block;color:#64748b;font-size:.8rem;font-weight:800}.ag-chart-head strong{color:#0f172a}.ag-segmented{background:#f1f5f9;border-radius:999px;padding:.25rem;display:flex;gap:.2rem;flex-wrap:wrap}.ag-segmented button{border:0;background:transparent;border-radius:999px;padding:.48rem .78rem;color:#475569;font-weight:800}.ag-segmented button.active{background:#fff;color:#047857;box-shadow:0 5px 20px rgba(15,23,42,.1)}.ag-chart-wrap{height:330px}.ag-empty-chart{height:330px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#ecfdf5);display:grid;place-items:center;text-align:center;color:#64748b;font-weight:700;padding:1rem}.ag-ai-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.ag-ai-card{position:relative;overflow:hidden}.ag-ai-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:#16a34a}.ag-ai-card.warn:before{background:#f59e0b}.ag-ai-card.danger:before{background:#ef4444}.ag-ai-badge{border-radius:999px;padding:.25rem .55rem;background:#ecfdf5;color:#047857;font-size:.75rem;font-weight:900}.ag-confidence{color:#64748b;font-size:.78rem;font-weight:800;margin-left:auto}.ag-ai-card h3{font-size:1rem;font-weight:900;margin:.8rem 0 .35rem;color:#0f172a}.ag-ai-card p{color:#475569;font-size:.9rem}.ag-ai-card ul{padding-left:1.1rem;margin:.55rem 0;color:#334155;font-size:.88rem}.ag-tag-row span{border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;padding:.22rem .5rem;font-size:.72rem;font-weight:800;color:#475569}.ag-ai-empty{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f8fafc,#f0fdf4);color:#475569}.ag-empty-state{border-radius:30px;background:#fff;padding:2rem;text-align:center;box-shadow:0 18px 50px rgba(15,23,42,.08)}
@media(max-width:1100px){.ag-summary-grid{grid-template-columns:repeat(2,1fr)}.ag-farm-grid{grid-template-columns:1fr}.ag-ai-row{grid-template-columns:1fr}}@media(max-width:760px){.ag-hero,.ag-farm-head{display:block}.ag-hero-actions,.ag-action-row{margin-top:1rem}.ag-summary-grid,.ag-sensor-grid{grid-template-columns:1fr}.ag-device-card{grid-template-columns:1fr}.ag-gauge{margin:auto}.ag-chart-head{align-items:flex-start}.ag-chart-card{min-height:auto}.ag-chart-wrap{height:280px}}

/* Make normal auth screens feel closer to the React product direction */
.auth-landing-shell{border-radius:32px;background:radial-gradient(circle at top left,#dcfce7,transparent 35%),linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:0 28px 90px rgba(15,23,42,.12);border:1px solid rgba(148,163,184,.16);padding:1rem}.login-card-pro{border-radius:28px!important;box-shadow:0 24px 70px rgba(15,23,42,.12)!important}.auth-submit{border-radius:999px!important;font-weight:900!important}.language-pill-form{border:1px solid rgba(148,163,184,.22);background:#fff;border-radius:999px;padding:.35rem .65rem;display:inline-flex;gap:.35rem;align-items:center}.language-pill-form select{border:0;background:transparent;font-weight:800;color:#065f46;outline:0}

/* Product-grade home page refresh */
.home-pro-shell{position:relative;overflow:hidden;border-radius:36px;background:radial-gradient(circle at 15% 15%,rgba(187,247,208,.9),transparent 32%),radial-gradient(circle at 85% 10%,rgba(125,211,252,.35),transparent 28%),linear-gradient(135deg,#f8fafc 0%,#ecfdf5 48%,#ffffff 100%);border:1px solid rgba(148,163,184,.18);box-shadow:0 32px 90px rgba(15,23,42,.12);padding:clamp(1.2rem,3vw,3rem)}
.home-pro-shell:before{content:"";position:absolute;inset:auto -12% -35% 45%;height:420px;background:linear-gradient(135deg,rgba(16,185,129,.2),rgba(34,197,94,.08));filter:blur(8px);border-radius:999px;transform:rotate(-8deg)}
.home-pro-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,5vw,4rem);align-items:center}.home-pro-kicker{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(16,185,129,.22);background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border-radius:999px;padding:.5rem .8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#047857;font-size:.78rem;margin-bottom:1rem}.home-pro-copy h1{font-size:clamp(2.35rem,5vw,4.8rem);line-height:.98;letter-spacing:-.06em;font-weight:950;color:#064e3b;margin-bottom:1.15rem}.home-pro-copy p{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.75;color:#475569;max-width:720px}.home-pro-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}.home-pro-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.95rem 1.45rem;font-weight:950;text-decoration:none;transition:.2s transform,.2s box-shadow,.2s background}.home-pro-btn:hover{transform:translateY(-2px)}.home-pro-btn.primary{background:linear-gradient(135deg,#059669,#16a34a);color:#fff;box-shadow:0 18px 40px rgba(22,163,74,.28)}.home-pro-btn.ghost{background:rgba(255,255,255,.82);color:#065f46;border:1px solid rgba(16,185,129,.25)}.home-pro-trust{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}.home-pro-trust span{background:rgba(255,255,255,.75);border:1px solid rgba(148,163,184,.16);padding:.55rem .75rem;border-radius:999px;font-weight:800;color:#334155;font-size:.9rem}.home-pro-visual{display:flex;justify-content:center}.home-phone-card{width:min(100%,390px);border-radius:34px;background:rgba(255,255,255,.86);box-shadow:0 34px 90px rgba(15,23,42,.18);border:1px solid rgba(255,255,255,.88);padding:1.25rem;backdrop-filter:blur(18px);transform:rotate(1.2deg)}.home-phone-top{display:flex;align-items:center;gap:.6rem;color:#0f172a;margin-bottom:1.1rem}.pulse-dot{width:12px;height:12px;background:#22c55e;border-radius:999px;box-shadow:0 0 0 8px rgba(34,197,94,.13)}.home-health-ring{width:170px;height:170px;border-radius:999px;margin:1.1rem auto;display:grid;place-items:center;background:conic-gradient(#16a34a 0 86%,#e2e8f0 86% 100%)}.home-health-ring>div{width:124px;height:124px;border-radius:999px;background:#fff;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(148,163,184,.16)}.home-health-ring strong{display:block;font-size:2.1rem;color:#064e3b;line-height:1}.home-health-ring span{font-size:.82rem;color:#64748b;font-weight:800}.home-sensor-list{display:grid;gap:.65rem}.home-sensor-list div{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid rgba(148,163,184,.16);border-radius:18px;padding:.85rem .95rem}.home-sensor-list span{color:#475569;font-weight:800}.home-sensor-list strong{color:#0f172a}.home-ai-chip{margin-top:1rem;background:linear-gradient(135deg,#ecfdf5,#dbeafe);border:1px solid rgba(34,197,94,.2);padding:.9rem 1rem;border-radius:18px;color:#065f46;font-weight:950}.home-pro-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.home-pro-grid article{background:rgba(255,255,255,.82);border:1px solid rgba(148,163,184,.16);border-radius:26px;padding:1.35rem;box-shadow:0 18px 45px rgba(15,23,42,.08)}.home-feature-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:#ecfdf5;font-size:1.4rem;margin-bottom:.8rem}.home-pro-grid h3{font-weight:950;color:#064e3b;letter-spacing:-.03em}.home-pro-grid p{color:#64748b;line-height:1.65;margin:0}.home-pro-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.home-pro-strip div{border-radius:24px;padding:1.1rem 1.25rem;background:linear-gradient(135deg,#064e3b,#047857);color:#fff}.home-pro-strip strong{display:block;font-size:1.5rem}.home-pro-strip span{color:#d1fae5;font-weight:700}@media(max-width:991px){.home-pro-hero{grid-template-columns:1fr}.home-pro-grid,.home-pro-strip{grid-template-columns:1fr}.home-phone-card{transform:none}.home-pro-copy h1{letter-spacing:-.045em}}

/* Final fix: clear Base/Pro device selection highlight, independent of :has() support */
.device-variant-option {
    position: relative;
    outline: 0;
}

.device-variant-option::after {
    content: "";
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 999px;
    border: 2px solid #bdd7c7;
    background: #ffffff;
    transition: 0.18s ease;
}

.device-variant-option.is-selected {
    border-color: #05a34f !important;
    background: linear-gradient(145deg, #effff6, #ffffff) !important;
    box-shadow: 0 18px 38px rgba(6, 168, 79, 0.16) !important;
    transform: translateY(-1px);
}

.device-variant-option.is-selected::after {
    border-color: #05a34f;
    background: #05a34f;
    box-shadow: inset 0 0 0 4px #ffffff;
}

.device-variant-option.is-selected strong {
    color: #06652f;
}

/* Final polish: remove legacy-feeling top gap and add modern in-dashboard controls */
.ag-dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.22);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 16px 42px rgba(15,23,42,.06);backdrop-filter:blur(14px)}
.ag-user-chip{display:flex;align-items:center;gap:.75rem;min-width:0}.ag-avatar{width:42px;height:42px;border-radius:16px;background:#ecfdf5;display:grid;place-items:center;font-size:1.25rem}.ag-user-chip strong{display:block;color:#0f172a;font-weight:900;line-height:1.1}.ag-user-chip span:last-child{display:block;color:#64748b;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.ag-toolbar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.ag-lang-form{display:flex;align-items:center;gap:.4rem;border:1px solid rgba(148,163,184,.28);background:#fff;border-radius:999px;padding:.38rem .65rem}.ag-lang-form select{border:0;background:transparent;font-weight:800;color:#065f46;outline:0}.ag-toolbar-actions form{margin:0}@media(max-width:720px){.ag-dashboard-toolbar{align-items:flex-start;flex-direction:column}.ag-toolbar-actions{justify-content:flex-start}.ag-user-chip span:last-child{max-width:240px}}

.auth-forgot-link {
    font-size: 0.88rem;
    font-weight: 700;
    color: #15803d;
    text-decoration: none;
}
.auth-forgot-link:hover {
    color: #166534;
    text-decoration: underline;
}
.auth-forgot-shell .auth-reset-hero {
    min-height: 620px;
}
