*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#eef4f7;color:#071225;font-size:13px;overflow-x:auto}
button{cursor:pointer;border:1px solid #d5dee8;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;color:#071225;box-shadow:0 2px 7px rgba(0,0,0,.08)}
button:hover{border-color:#4ade80;transform:translateY(-1px)}
.app-shell{display:grid;grid-template-columns:220px minmax(900px,1fr) 260px;gap:10px;padding:8px;min-width:1350px}
.left-sidebar,.right-sidebar,.main-area{min-height:calc(100vh - 16px)}
.left-sidebar,.right-sidebar{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:10px;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.logo-card{background:linear-gradient(135deg,#f4fff8,#fff);border:1px solid #b7f7ca;border-radius:16px;padding:10px;text-align:center;margin-bottom:10px;box-shadow:0 6px 12px rgba(22,163,74,.18)}
.logo-card img{width:100%;height:105px;object-fit:contain;border-radius:12px}.logo-card strong{display:block;margin-top:4px}.category-box{border-bottom:1px solid #edf2f7;padding-bottom:8px;margin-bottom:8px}.category-box h3,.radar-box h3{font-size:13px;margin:8px 0;text-transform:uppercase}.category-box button{display:flex;justify-content:space-between;width:100%;border:0;box-shadow:none;text-align:left;background:transparent;padding:8px 6px}.category-box button:hover{background:#e9fff0}.license-note{text-align:center;font-size:12px;margin:12px 0}.buy-btn{width:100%;background:#3ddc7a;color:#052e16;border:0}.donate-btn{width:100%;background:#071225;color:#fff;border:0;margin-top:8px}
.main-area{display:flex;flex-direction:column;gap:8px}.top-header,.status-panel,.metrics-grid,.feature-tabs,.search-row,.sort-row,.content-grid,.bottom-stats{background:#fff;border:1px solid #dbe5ee;border-radius:14px;box-shadow:0 3px 10px rgba(15,23,42,.07)}
.top-header{display:grid;grid-template-columns:1fr 50px auto auto;align-items:center;gap:12px;padding:14px 18px}.top-header h1{margin:0;font-size:28px}.top-header h1 span{color:#6b7280}.top-header p{margin:3px 0;color:#475569;font-size:11px}.rocket{width:48px;height:48px;object-fit:contain}.scan-buttons,.top-actions{display:flex;gap:8px}.scan-buttons button:nth-child(1),.scan-buttons button:nth-child(2){background:#bbf7d0;color:#16a34a}.scan-buttons button:nth-child(3){background:#fff}.top-actions button{min-width:70px;font-size:12px;padding:8px}
.status-panel{display:grid;grid-template-columns:46px 1fr 60px;gap:12px;align-items:center;padding:12px 16px}.status-panel img{width:42px;height:42px}.status-panel p{margin:4px 0;color:#475569;font-size:12px}.progress-track{grid-column:1/-1;height:12px;background:#e8eef4;border-radius:20px;overflow:hidden}.progress-track div{height:100%;width:0;background:#071225;border-radius:20px;transition:.25s}
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.metric-card{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.metric-card span{font-size:12px;color:#475569}.metric-card strong{display:block;font-size:24px;margin:6px 0}.metric-card small{color:#64748b}
.feature-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.feature-tabs button{text-align:left;background:#fff}.feature-tabs button.active{background:#eafff1;border-color:#22c55e}.feature-tabs span{display:block;color:#64748b;font-size:11px;margin-top:4px}.search-row{display:grid;grid-template-columns:110px 1fr 90px 80px;gap:8px;align-items:center;padding:10px}.search-row input{padding:11px;border:1px solid #cfd9e4;border-radius:10px}.sort-row{display:flex;gap:8px;padding:10px;background:transparent;border:0;box-shadow:none}.sort-row button{padding:9px 12px}
.content-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:10px;background:transparent;border:0;box-shadow:none;min-height:430px}.database-panel,.detail-panel{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.database-panel h3{font-size:13px;margin:0 0 8px}.scan-table{height:390px;overflow:auto;border:1px solid #bbf7d0;border-radius:12px;background:#fff}.scan-table table{width:100%;border-collapse:collapse}.scan-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;text-align:left;padding:10px;font-size:12px}.scan-table td{border-top:1px solid #edf2f7;padding:8px;vertical-align:middle}.scan-table tr{cursor:pointer}.scan-table tr:hover,.scan-table tr.selected{background:#eafff1}.scan-table td img{width:42px;height:42px;object-fit:cover;border-radius:8px;margin-right:8px;vertical-align:middle}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#071225}.empty-state img{width:90px;height:90px;object-fit:contain}.empty-state p{color:#475569}
.detail-head{display:flex;justify-content:space-between;font-weight:900;margin-bottom:12px}.detail-head span{color:#0f172a}.selected-deal{background:linear-gradient(135deg,#ecfdf5,#f8fbff);border:1px solid #bbf7d0;border-radius:14px;min-height:355px;padding:18px}.selected-deal h2{margin:0 0 10px;color:#166534}.selected-deal h3{margin:0 0 12px}.selected-layout{display:grid;grid-template-columns:110px 1fr;gap:16px}.selected-layout img{width:110px;height:110px;object-fit:cover;border-radius:10px;background:#fff}.selected-layout p{margin:7px 0}.full-width{width:100%;margin-top:14px;background:#071225;color:#fff;border:0}
.bottom-stats{display:grid;grid-template-columns:110px 140px 1fr 140px;gap:8px;background:transparent;border:0;box-shadow:none}.bottom-stats>div{background:#fff;border:1px solid #dbe5ee;border-radius:12px;padding:10px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.bottom-stats strong{display:block;font-size:12px}.bottom-stats span{display:block;font-weight:900;margin:5px 0}.bottom-stats small{color:#475569}.mini-bar{height:10px;background:#e2e8f0;border-radius:20px;overflow:hidden}.mini-bar i{display:block;height:100%;width:0;background:#22c55e;border-radius:20px}
.radar-box{margin-bottom:12px}.mini-deal{display:grid;grid-template-columns:42px 1fr 28px;gap:8px;align-items:center;border:1px solid #dbe5ee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fff;cursor:pointer}.mini-deal:hover{background:#f0fdf4}.mini-deal img{width:42px;height:42px;object-fit:cover;border-radius:8px}.mini-deal strong{display:block;font-size:11px}.mini-deal span{display:block;color:#475569;font-size:11px}.mini-deal b{text-align:right;font-size:18px}.radar-box>button{width:100%;padding:9px}.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.quick-actions button{font-size:11px;padding:8px}
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;z-index:50}.modal-overlay.show{display:flex}.modal-box{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:680px;width:92%;max-height:88vh;overflow:auto;padding:24px;position:relative}.modal-close{position:absolute;top:10px;right:10px;border-radius:50%;width:34px;height:34px;padding:0}.modal-banner{width:100%;border-radius:14px;margin:10px 0}.ai-verdict{background:#eafff1;border:1px solid #22c55e;border-radius:12px;padding:12px;font-weight:900;margin:12px 0}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-grid label{font-weight:800}.calc-grid input{width:100%;padding:10px;border:1px solid #cfd9e4;border-radius:10px;margin-top:5px}.calc-result{margin-top:12px;background:#f8fafc;border-radius:12px;padding:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:180px minmax(760px,1fr);}.right-sidebar{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.feature-tabs{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.bottom-stats{grid-template-columns:1fr 1fr}.top-header{grid-template-columns:1fr}}


/* Patch 0.7 scan controls */
.scan-mode-buttons button{min-width:118px}
.scan-mode-buttons .active{background:#22c55e!important;color:#052e16!important;border-color:#16a34a!important}
.deep-scan-btn{background:#dbeafe!important;color:#0f172a!important}
.stop-scan-btn{background:#fff!important;color:#071225!important}
.search-row{grid-template-columns:110px 1fr 105px 105px 80px}

/* --- GrowFlow Tutorial Guide Popup Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }
}
/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- Patch 0.9 resale input additions --- */

.resale-input-box{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #dbe5ee;
    border-radius:14px;
    box-shadow:0 3px 10px rgba(15,23,42,.07);
    padding:10px;
    margin-top:8px;
}

.resale-input-box label{
    font-weight:900;
    color:#064e3b;
}

.resale-input-box input{
    width:110px;
    padding:9px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    font-weight:800;
}

.resale-input-box button{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.selected-layout hr{
    border:0;
    border-top:1px solid #bbf7d0;
    margin:8px 0;
}

/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .resale-input-box{
        flex-wrap:wrap;
    }

    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- GrowFlow Patch 1.1 Licence Splash / CD-Key Gate --- */

.gf-license-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.25), transparent 35%),
        linear-gradient(135deg,#052e16,#071225);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.gf-license-window{
    width:min(980px,96vw);
    min-height:560px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 30px 100px rgba(0,0,0,.5);
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
}

.gf-license-left{
    background:
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(220,252,231,.96)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-fruit-character{
    width:92px;
    height:92px;
    border-radius:24px;
    background:#dcfce7;
    border:2px solid #22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:54px;
    box-shadow:0 12px 28px rgba(22,163,74,.25);
    margin-bottom:18px;
}

.gf-license-left h1{
    margin:0;
    color:#064e3b;
    font-size:38px;
    line-height:1.05;
}

.gf-tagline{
    color:#0f172a;
    font-size:16px;
    margin:14px 0 20px;
}

.gf-splash-points{
    display:grid;
    gap:10px;
}

.gf-splash-points div{
    background:rgba(255,255,255,.8);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:12px;
    font-weight:800;
    color:#064e3b;
}

.gf-license-right{
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-license-right h2{
    margin:0 0 8px;
    color:#064e3b;
    font-size:28px;
}

.gf-license-right h3{
    margin:0 0 6px;
    color:#071225;
}

.gf-license-right p{
    color:#475569;
    line-height:1.45;
}

.gf-license-right label{
    color:#064e3b;
    font-weight:900;
    margin-bottom:6px;
}

.gf-trial-key-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
    margin:6px 0 4px;
}

.gf-trial-key-box code{
    background:#f8fafc;
    border:2px dashed #22c55e;
    color:#071225;
    font-size:24px;
    font-weight:900;
    letter-spacing:2px;
    padding:14px;
    border-radius:14px;
    text-align:center;
}

.gf-trial-key-box button,
.gf-start-trial,
.gf-unlock-btn,
.gf-buy-btn{
    border:0;
    border-radius:14px;
    padding:13px 16px;
    font-weight:900;
    cursor:pointer;
}

.gf-trial-key-box button{
    background:#071225;
    color:white;
}

.gf-start-trial{
    background:#16a34a;
    color:white;
    margin-top:10px;
    width:100%;
}

.gf-divider{
    height:1px;
    background:#e2e8f0;
    margin:22px 0;
}

.gf-license-input{
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:14px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
    margin:8px 0;
    width:100%;
}

.gf-unlock-btn{
    background:#071225;
    color:#fff;
    width:100%;
    margin-top:8px;
}

.gf-buy-btn{
    background:#facc15;
    color:#052e16;
    width:100%;
    margin-top:8px;
}

.gf-license-msg,
.gf-copy-msg{
    min-height:18px;
    color:#166534;
    font-weight:800;
}

.gf-license-badge{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:900;
    background:#071225;
    color:#fff;
    border-radius:999px;
    padding:8px 8px 8px 14px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    display:flex;
    gap:10px;
    align-items:center;
    font-weight:800;
}

.gf-license-badge button{
    border:0;
    background:#22c55e;
    color:#052e16;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}

.gf-locked-search{
    background:#f1f5f9 !important;
    color:#64748b !important;
    border-color:#cbd5e1 !important;
}

.gf-search-lock-note,
.gf-search-unlocked-note{
    background:#fff7ed;
    border:1px solid #fdba74;
    color:#7c2d12;
    border-radius:12px;
    padding:9px 12px;
    font-weight:800;
    margin:8px 0;
}

.gf-search-unlocked-note{
    background:#ecfdf5;
    border-color:#22c55e;
    color:#064e3b;
}

.gf-feature-locked-btn{
    background:#facc15 !important;
    color:#052e16 !important;
    border-color:#facc15 !important;
}

@media(max-width:800px){
    .gf-license-window{
        grid-template-columns:1fr;
        max-height:92vh;
        overflow:auto;
    }

    .gf-license-left,
    .gf-license-right{
        padding:24px;
    }

    .gf-license-left h1{
        font-size:30px;
    }

    .gf-trial-key-box{
        grid-template-columns:1fr;
    }

    .gf-license-badge{
        left:12px;
        right:12px;
        bottom:12px;
        justify-content:space-between;
    }
}
/* --- GrowFlow Patch 1.2 Logo Splash + Clear Tutorial --- */

.gf-logo-splash{
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(220,252,231,.98)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
}

.gf-splash-logo-wrap{
    background:white;
    border:2px solid #bbf7d0;
    border-radius:24px;
    padding:16px;
    width:220px;
    max-width:100%;
    box-shadow:0 12px 30px rgba(22,163,74,.22);
    margin-bottom:18px;
}

.gf-splash-logo{
    width:100%;
    height:150px;
    object-fit:contain;
    display:block;
}

.gf-small-character{
    width:64px;
    height:64px;
    font-size:38px;
    margin-bottom:14px;
}

.hydro-instructions-modal h2{
    font-size:30px;
    color:#064e3b;
}

.guide-alert{
    background:#ecfdf5;
    border:2px solid #22c55e;
    color:#064e3b;
    border-radius:14px;
    padding:12px 14px;
    font-weight:900;
    margin:12px 0 16px;
}

.hydro-instructions-modal .guide-tabs button{
    font-size:15px;
    padding:13px;
}

.hydro-instructions-modal .guide-tabs button.active{
    background:#16a34a;
    color:#fff;
    border-color:#16a34a;
}
/* ===== Patch 1.3 START HERE button ===== */

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    position:relative;
    background:linear-gradient(180deg,#34d399,#16a34a);
    color:#fff;
    border:2px solid #15803d;
    font-weight:900;
    transform:scale(1.06);
    box-shadow:0 6px 18px rgba(22,163,74,.35);
    overflow:hidden;
}

#towerGuideBtn strong{
    display:block;
    font-size:17px;
    letter-spacing:.5px;
}

#towerGuideBtn span{
    display:block;
    font-size:11px;
    opacity:.95;
}

#towerGuideBtn:hover,
button[onclick="openTutorialPopup()"]:hover{
    transform:scale(1.10);
}

.guideBadge{
    margin-top:6px;
    font-size:10px;
    background:rgba(255,255,255,.22);
    border-radius:999px;
    padding:3px 8px;
}

@keyframes guidePulse{
    0%{transform:scale(1.06);}
    50%{transform:scale(1.12);}
    100%{transform:scale(1.06);}
}

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    animation:guidePulse 2.8s infinite;
}

.hydro-instructions-modal h2:before{
    content:"🌱 ";
}
/*
Patch 1.3 - START HERE button

1. In your toolbar/index.html replace the old tutorial button with:

<button id="towerGuideBtn" onclick="openTutorialPopup()">
    <strong>🌱 START HERE</strong>
    <span>Hydro Tower Instructions</span>
</button>

2. Paste this block at the END of app.js
*/



.share-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:14px;
}

.share-grid button{
    padding:14px;
    border-radius:14px;
    font-weight:900;
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin-top:12px;
}

/* ===== GrowFlow Patch 1.5 — Premium Share Popup with fire.gif ===== */

.share-modal-premium{
    color:#071225;
    padding:4px;
}

.share-premium-hero{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:20px;
    align-items:center;
    background:
        radial-gradient(circle at 12% 15%, rgba(34,197,94,.18), transparent 28%),
        radial-gradient(circle at 85% 20%, rgba(59,130,246,.14), transparent 30%),
        linear-gradient(135deg,#ffffff,#f0fdf4);
    border:2px solid #86efac;
    border-radius:28px;
    padding:24px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
}

.share-fire-icon{
    width:96px;
    height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#ecfdf5,#dcfce7);
    border:2px solid #86efac;
    box-shadow:0 0 0 10px rgba(34,197,94,.10), 0 14px 34px rgba(34,197,94,.28);
    overflow:hidden;
}

.share-fire-icon img{
    width:78px;
    height:78px;
    object-fit:contain;
    display:block;
}

.share-premium-title h2{
    margin:0;
    font-size:44px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.share-premium-title h2 span{
    color:#16a34a;
}

.share-premium-title p{
    margin:12px 0 0;
    font-size:19px;
    color:#334155;
    max-width:620px;
}

.share-premium-mega{
    font-size:72px;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));
}

.share-callout{
    margin:18px auto;
    width:max-content;
    max-width:100%;
    background:rgba(236,253,245,.92);
    border:1px solid #bbf7d0;
    color:#047857;
    border-radius:999px;
    padding:11px 22px;
    font-size:17px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.share-button-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.brand-share{
    min-height:102px;
    border:0;
    border-radius:20px;
    color:white;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:16px;
    text-align:left;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.20);
    transition:transform .18s ease, box-shadow .18s ease;
    overflow:hidden;
    position:relative;
}

.brand-share:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 45%);
    pointer-events:none;
}

.brand-share:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 18px 38px rgba(15,23,42,.28);
}

.brand-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#071225;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:1000;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    z-index:1;
}

.brand-share strong{
    display:block;
    font-size:19px;
    z-index:1;
}

.brand-share span{
    display:block;
    font-size:13px;
    opacity:.94;
    margin-top:4px;
    z-index:1;
}

.brand-share em{
    font-style:normal;
    font-size:34px;
    opacity:.9;
    z-index:1;
}

.brand-share.whatsapp{background:linear-gradient(135deg,#25D366,#059669);}
.brand-share.facebook{background:linear-gradient(135deg,#1877F2,#075ac4);}
.brand-share.twitter{background:linear-gradient(135deg,#111827,#000000);}
.brand-share.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9);}
.brand-share.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);}
.brand-share.tiktok{background:linear-gradient(135deg,#000000,#111827);}
.brand-share.copy{background:linear-gradient(135deg,#22c55e,#0f766e);}
.brand-share.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    color:#0f172a;
    border:1px solid #dbe5ee;
}

.share-copy-panel{
    margin-top:20px;
    background:linear-gradient(135deg,#ecfdf5,#f8fffb);
    border:1px solid #86efac;
    border-radius:22px;
    padding:18px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
}

.copy-panel-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:linear-gradient(180deg,#22c55e,#15803d);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    box-shadow:0 10px 24px rgba(22,163,74,.25);
}

.copy-panel-text strong{
    display:block;
    color:#064e3b;
    font-size:18px;
    margin-bottom:8px;
}

.copy-panel-text input{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:13px;
    font-weight:800;
    color:#0f172a;
    background:white;
}

.share-copy-panel button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:14px;
    padding:14px 22px;
    font-weight:1000;
    box-shadow:0 8px 20px rgba(22,163,74,.22);
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin:12px 0 0;
}

.share-thanks{
    text-align:center;
    margin-top:16px;
    color:#166534;
    font-weight:900;
}

@media(max-width:1100px){
    .share-button-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px){
    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-premium-title h2{
        font-size:34px;
    }

    .share-button-grid{
        grid-template-columns:1fr;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }
}

/* ===== GrowFlow Patch 1.6 — Share modal less squashed =====
   Paste this at the very bottom of static/style.css.
   It overrides Patch 1.5 share modal sizing.
*/

.share-modal-premium{
    width:1100px;
    max-width:94vw;
}

.share-premium-hero{
    padding:22px 28px;
}

.share-premium-title h2{
    font-size:42px;
}

.share-premium-title p{
    font-size:18px;
    line-height:1.35;
}

.share-fire-icon{
    width:92px;
    height:92px;
}

.share-fire-icon img{
    width:76px;
    height:76px;
}

.share-premium-mega{
    font-size:66px;
}

.share-callout{
    margin:16px auto;
    padding:10px 22px;
    font-size:17px;
}

/* Main fix: two columns instead of four cramped columns */
.share-button-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px;
}

.brand-share{
    min-height:76px !important;
    padding:14px 18px !important;
    grid-template-columns:58px 1fr 24px;
}

.brand-icon{
    width:52px;
    height:52px;
    font-size:28px;
}

.brand-share strong{
    font-size:18px;
    line-height:1.1;
}

.brand-share span{
    white-space:nowrap;
    font-size:13px;
    line-height:1.2;
}

.brand-share em{
    font-size:28px;
}

/* Link panel gets more breathing room */
.share-copy-panel{
    grid-template-columns:64px 1fr 110px;
    gap:14px;
    padding:16px 18px;
}

.copy-panel-icon{
    width:58px;
    height:58px;
    font-size:30px;
}

.copy-panel-text strong{
    font-size:18px;
}

.copy-panel-text input{
    font-size:16px;
    padding:13px 14px;
}

.share-copy-panel button{
    padding:13px 20px;
}

.share-thanks{
    margin-top:14px;
    font-size:15px;
}

/* On smaller screens keep it tidy */
@media(max-width:760px){
    .share-modal-premium{
        width:auto;
    }

    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-button-grid{
        grid-template-columns:1fr !important;
    }

    .brand-share{
        min-height:74px !important;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }

    .brand-share span{
        white-space:normal;
    }
}

/*
GrowFlow Patch 1.5 — Premium Share Popup + fire.gif icon

Install:
1. Paste this file at the BOTTOM of static/app.js.
   It overrides your old openSharePopup() with the new design.

2. Paste style_share_firegif.css at the BOTTOM of static/style.css.

3. Make sure this file exists:
   static/assets/fire.gif

4. Hard refresh:
   Ctrl + F5
*/

/* ===== GrowFlow Patch 1.8 — Polished Share Popup Fix =====
   Paste at the VERY BOTTOM of style.css so it overrides older share styles.
*/

/* Force the existing modal shell to become the right size */
#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent,
.modal-content{
    box-sizing:border-box !important;
}

#modalContent:has(.gf-share-pro),
.modal-content:has(.gf-share-pro){
    width:min(1050px,94vw) !important;
    max-width:1050px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:26px !important;
    border-radius:26px !important;
}

/* Popup body */
.gf-share-pro{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    color:#071225 !important;
    font-family:inherit !important;
    overflow:hidden !important;
}

/* Hero */
.gf-share-hero{
    display:grid !important;
    grid-template-columns:88px 1fr 80px !important;
    gap:18px !important;
    align-items:center !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(34,197,94,.20), transparent 32%),
        linear-gradient(135deg,#ffffff,#f0fdf4) !important;
    border:2px solid #86efac !important;
    border-radius:22px !important;
    padding:18px 22px !important;
    margin:0 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.gf-share-fire{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    border-radius:50% !important;
    background:#dcfce7 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.22) !important;
}

.gf-share-fire img{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
}

.gf-share-title h2{
    margin:0 !important;
    padding:0 !important;
    font-size:40px !important;
    line-height:1 !important;
    letter-spacing:-.8px !important;
    color:#071225 !important;
    white-space:nowrap !important;
}

.gf-share-title h2 span{
    color:#16a34a !important;
}

.gf-share-title p{
    margin:8px 0 0 !important;
    padding:0 !important;
    font-size:16px !important;
    color:#334155 !important;
    line-height:1.25 !important;
    max-width:650px !important;
    white-space:normal !important;
}

.gf-share-mega{
    font-size:54px !important;
    line-height:1 !important;
    text-align:center !important;
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.14)) !important;
}

/* Callout */
.gf-share-strip{
    margin:14px auto !important;
    width:max-content !important;
    max-width:94% !important;
    text-align:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:999px !important;
    padding:9px 20px !important;
    font-size:16px !important;
    font-weight:1000 !important;
}

/* Cards */
.gf-share-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-btn{
    appearance:none !important;
    border:0 !important;
    border-radius:18px !important;
    min-height:88px !important;
    padding:12px !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:46px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:0 10px 22px rgba(15,23,42,.18) !important;
    transition:transform .14s ease, box-shadow .14s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.26) !important;
}

.gf-share-btn i{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:#071225 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-style:normal !important;
    font-size:23px !important;
    font-weight:1000 !important;
    box-shadow:0 6px 14px rgba(0,0,0,.14) !important;
}

.gf-share-btn div{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
    min-width:0 !important;
}

.gf-share-btn b{
    display:block !important;
    font-size:17px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.gf-share-btn span{
    display:block !important;
    font-size:12px !important;
    line-height:1.15 !important;
    opacity:.95 !important;
    white-space:normal !important;
}

.gf-share-btn.whatsapp{background:linear-gradient(135deg,#25D366,#059669) !important;}
.gf-share-btn.facebook{background:linear-gradient(135deg,#1877F2,#075ac4) !important;}
.gf-share-btn.twitter{background:linear-gradient(135deg,#111827,#000000) !important;}
.gf-share-btn.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9) !important;}
.gf-share-btn.instagram{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-btn.tiktok{background:linear-gradient(135deg,#020617,#111827) !important;}
.gf-share-btn.copy{background:linear-gradient(135deg,#22c55e,#0f766e) !important;}
.gf-share-btn.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc) !important;
    color:#0f172a !important;
    border:1px solid #dbe5ee !important;
}

/* Copy box */
.gf-share-copybox{
    margin-top:14px !important;
    display:grid !important;
    grid-template-columns:56px 1fr 100px !important;
    gap:12px !important;
    align-items:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:13px !important;
    box-sizing:border-box !important;
}

.gf-share-link-icon{
    width:50px !important;
    height:50px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:25px !important;
    box-shadow:0 8px 18px rgba(22,163,74,.22) !important;
}

.gf-share-copytext strong{
    display:block !important;
    color:#064e3b !important;
    font-size:16px !important;
    margin-bottom:7px !important;
}

.gf-share-copytext input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:11px 12px !important;
    font-weight:900 !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-copybox button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

.gf-share-message{
    text-align:center !important;
    margin-top:12px !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:20px !important;
}

.gf-share-message.copied{
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:7px 12px !important;
}

/* Medium screens */
@media(max-width:900px){
    #modalContent:has(.gf-share-pro),
    .modal-content:has(.gf-share-pro){
        overflow:auto !important;
    }

    .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-hero{
        grid-template-columns:76px 1fr !important;
    }

    .gf-share-mega{
        display:none !important;
    }

    .gf-share-title h2{
        font-size:34px !important;
    }
}

/* Phone */
@media(max-width:560px){
    .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-link-icon{
        margin:auto !important;
    }
}
/* ===== GrowFlow Patch 1.9 — Compact Desktop Share Popup =====
   Paste at the VERY BOTTOM of style.css.
*/

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent:has(.gf-share-compact),
.modal-content:has(.gf-share-compact){
    width:min(1040px,94vw) !important;
    max-width:1040px !important;
    max-height:88vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:20px !important;
    border-radius:24px !important;
}

/* body */
.gf-share-compact{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

/* smaller hero */
.gf-share-compact .gf-share-hero{
    padding:12px 18px !important;
    grid-template-columns:66px 1fr 58px !important;
    gap:14px !important;
    border-radius:20px !important;
}

.gf-share-compact .gf-share-fire{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
}

.gf-share-compact .gf-share-fire img{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
}

.gf-share-compact .gf-share-title h2{
    font-size:34px !important;
}

.gf-share-compact .gf-share-title p{
    font-size:14px !important;
    margin-top:5px !important;
    line-height:1.2 !important;
}

.gf-share-compact .gf-share-mega{
    font-size:42px !important;
}

/* smaller callout */
.gf-share-compact .gf-share-strip{
    margin:10px auto !important;
    padding:7px 16px !important;
    font-size:14px !important;
}

/* smaller cards */
.gf-share-compact .gf-share-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn{
    min-height:74px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    grid-template-columns:40px 1fr !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn i{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:20px !important;
}

.gf-share-compact .gf-share-btn b{
    font-size:15px !important;
}

.gf-share-compact .gf-share-btn span{
    font-size:11px !important;
    line-height:1.1 !important;
}

/* compact copy box */
.gf-share-compact .gf-share-copybox{
    margin-top:10px !important;
    grid-template-columns:46px 1fr 90px !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:16px !important;
}

.gf-share-compact .gf-share-link-icon{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
}

.gf-share-compact .gf-share-copytext strong{
    font-size:14px !important;
    margin-bottom:5px !important;
}

.gf-share-compact .gf-share-copytext input{
    padding:9px 10px !important;
    font-size:13px !important;
}

.gf-share-compact .gf-share-copybox button{
    padding:10px !important;
    font-size:13px !important;
}

/* message hidden until action */
.gf-share-compact .gf-share-message{
    min-height:0 !important;
    margin-top:8px !important;
    text-align:center !important;
    font-size:13px !important;
    color:#166534 !important;
    font-weight:1000 !important;
}

.gf-share-compact .gf-share-message:empty{
    display:none !important;
}

.gf-share-compact .gf-share-message.copied{
    display:block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:6px 10px !important;
}

/* medium */
@media(max-width:900px){
    #modalContent:has(.gf-share-compact),
    .modal-content:has(.gf-share-compact){
        max-height:92vh !important;
    }

    .gf-share-compact .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:58px 1fr !important;
    }

    .gf-share-compact .gf-share-mega{
        display:none !important;
    }
}

/* phone */
@media(max-width:560px){
    .gf-share-compact .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-compact .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-compact .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-link-icon{
        margin:auto !important;
    }
}

/* ===== GrowFlow Patch 2.1 — socialshare.png Share Window ===== */

#modalContent:has(.socialshare-window),
.modal-content:has(.socialshare-window){
    width:min(1320px,96vw) !important;
    max-width:1320px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
}

.socialshare-window{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:24px;
    color:#071225;
    overflow:hidden;
}

.socialshare-left{
    min-width:0;
}

.socialshare-hero{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:14px;
}

.socialshare-fire{
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    border:2px solid #86efac;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.20);
    overflow:hidden;
}

.socialshare-fire img{
    width:54px;
    height:54px;
    object-fit:contain;
}

.socialshare-hero h2{
    margin:0;
    font-size:42px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.socialshare-hero h2 span{
    color:#16a34a;
}

.socialshare-hero p{
    margin:8px 0 0;
    font-size:17px;
    color:#334155;
    line-height:1.25;
}

.socialshare-callout{
    background:#ecfdf5;
    border:1px solid #86efac;
    color:#047857;
    border-radius:16px;
    padding:11px 16px;
    font-weight:1000;
    text-align:center;
    margin-bottom:14px;
}

.socialshare-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.socialshare-card{
    position:relative;
    min-height:128px;
    border:1px solid #dbe5ee;
    background:#fff;
    border-radius:18px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(15,23,42,.10);
    transition:.16s ease;
    overflow:hidden;
}

.socialshare-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.18);
}

.socialshare-card i{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:28px;
    font-style:normal;
    font-weight:1000;
}

.socialshare-card b{
    font-size:17px;
    line-height:1;
    color:#071225;
}

.socialshare-card span{
    font-size:12px;
    color:#334155;
    text-align:center;
}

.socialshare-card small{
    position:absolute;
    left:12px;
    right:12px;
    bottom:9px;
    background:#16a34a;
    color:white;
    border-radius:999px;
    padding:5px;
    font-size:12px;
    font-weight:1000;
    opacity:0;
    transform:translateY(6px);
    transition:.16s ease;
}

.socialshare-card.copied small{
    opacity:1;
    transform:translateY(0);
}

.socialshare-card.whatsapp i{background:#25D366;}
.socialshare-card.facebook i{background:#1877F2;}
.socialshare-card.twitter i{background:#000;}
.socialshare-card.email i{background:#7c3aed;}
.socialshare-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea);}
.socialshare-card.tiktok i{background:#020617;}
.socialshare-card.copy i{background:#16a34a;}
.socialshare-card.more i{background:#f8fafc;color:#071225;border:1px solid #dbe5ee;}

.socialshare-copybox{
    margin-top:14px;
    background:#ecfdf5;
    border:1px solid #86efac;
    border-radius:18px;
    padding:14px;
    display:grid;
    grid-template-columns:54px 1fr 96px;
    gap:12px;
    align-items:center;
}

.copy-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#16a34a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.socialshare-copybox strong{
    display:block;
    color:#064e3b;
    margin-bottom:6px;
}

.socialshare-copybox input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:11px 12px;
    font-weight:900;
}

.socialshare-copybox button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:12px;
    padding:12px;
    font-weight:1000;
    cursor:pointer;
}

.socialshare-message{
    text-align:center;
    color:#166534;
    font-weight:1000;
    min-height:0;
    margin-top:10px;
}

.socialshare-message.show{
    background:#dcfce7;
    border:1px solid #86efac;
    border-radius:999px;
    padding:7px 12px;
}

.socialshare-right{
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at center, #fff7d6 0%, #f0fdf4 58%, #ffffff 100%);
    border-radius:24px;
    overflow:hidden;
    min-height:620px;
}

.socialshare-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Medium screens */
@media(max-width:1100px){
    .socialshare-window{
        grid-template-columns:1fr;
        max-height:88vh;
        overflow:auto;
    }

    .socialshare-right{
        min-height:300px;
        max-height:360px;
    }

    .socialshare-right img{
        object-fit:contain;
    }
}

/* Smaller */
@media(max-width:760px){
    #modalContent:has(.socialshare-window),
    .modal-content:has(.socialshare-window){
        overflow:auto !important;
        padding:18px !important;
    }

    .socialshare-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .socialshare-copybox{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-icon{
        margin:auto;
    }
}

/* Phone */
@media(max-width:500px){
    .socialshare-grid{
        grid-template-columns:1fr;
    }

    .socialshare-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .socialshare-fire{
        margin:auto;
    }

    .socialshare-hero h2{
        font-size:34px;
    }
}
/* ===== GrowFlow FINAL Share Popup Patch =====
   Paste at the VERY BOTTOM of static/style.css.
*/

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:min(1360px,96vw) !important;
    max-width:1360px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final{
    display:grid !important;
    grid-template-columns:minmax(620px,1fr) 440px !important;
    gap:24px !important;
    width:100% !important;
    color:#071225 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.gf-share-left{
    min-width:0 !important;
}

/* Hero */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:105px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:16px !important;
}

.gf-share-final-fire{
    width:95px !important;
    height:95px !important;
    border-radius:50% !important;
    background:#eefcf0 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 6px 20px rgba(34,197,94,.18) !important;
}

.gf-share-final-fire img{
    width:68px !important;
    height:68px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:52px !important;
    line-height:1 !important;
    letter-spacing:-1px !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:10px 0 0 !important;
    font-size:19px !important;
    line-height:1.28 !important;
    color:#334155 !important;
    max-width:620px !important;
}

/* Callout */
.gf-share-final-callout{
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:16px !important;
    padding:12px 16px !important;
    font-weight:1000 !important;
    text-align:center !important;
    font-size:17px !important;
    margin-bottom:16px !important;
}

/* Cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    position:relative !important;
    min-height:150px !important;
    border:1px solid #dbe5ee !important;
    background:#fff !important;
    border-radius:20px !important;
    padding:18px 14px 42px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    cursor:pointer !important;
    box-shadow:0 8px 22px rgba(15,23,42,.10) !important;
    transition:.16s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.18) !important;
}

.gf-share-final-card i{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:white !important;
    font-size:31px !important;
    font-style:normal !important;
    font-weight:1000 !important;
}

.gf-share-final-card b{
    color:#071225 !important;
    font-size:18px !important;
    line-height:1.05 !important;
    text-align:center !important;
    white-space:nowrap !important;
}

.gf-share-final-card span{
    color:#334155 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    bottom:12px !important;
    background:#16a34a !important;
    color:white !important;
    border-radius:999px !important;
    padding:7px !important;
    font-size:12px !important;
    font-weight:1000 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
    pointer-events:none !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Icon colours */
.gf-share-final-card.whatsapp i{background:#25D366 !important;}
.gf-share-final-card.facebook i{background:#1877F2 !important;}
.gf-share-final-card.twitter i{background:#000 !important;}
.gf-share-final-card.email i{background:#7c3aed !important;}
.gf-share-final-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-final-card.tiktok i{background:#020617 !important;}
.gf-share-final-card.copy i{background:#16a34a !important;}
.gf-share-final-card.more i{
    background:#f8fafc !important;
    color:#071225 !important;
    border:1px solid #dbe5ee !important;
}

/* Copy section */
/* Final copy bar alignment fix */

.gf-share-final-copy{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;

    height:76px !important;
    padding:12px 16px !important;

    box-sizing:border-box !important;
}

.gf-share-final-copy-icon{
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
}

.gf-share-final-copy-main{
    flex:1 !important;
    min-width:0 !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.gf-share-final-copy-main strong{
    margin:0 0 4px 0 !important;
    line-height:1.1 !important;
}

.gf-share-final-copy-main input{
    height:38px !important;
    margin:0 !important;
    padding:0 14px !important;

    line-height:38px !important;
    box-sizing:border-box !important;
}

.gf-share-final-copy button{
    flex:0 0 120px !important;

    width:120px !important;
    height:50px !important;

    margin:0 !important;
    padding:0 !important;

    align-self:center !important;
}

/* Floating feedback */
.gf-share-final-message{
    text-align:center !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:0 !important;
    margin-top:10px !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:8px 18px !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork */
.gf-share-right{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 60%,#fff 100%) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    min-height:620px !important;
    padding:6px !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    max-height:620px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Medium desktop/tablet */
@media(max-width:1150px){
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        overflow:auto !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
    }

    .gf-share-right{
        min-height:280px !important;
        max-height:360px !important;
    }

    .gf-share-right img{
        height:100% !important;
        width:auto !important;
    }
}

/* Smaller */
@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }
}

/* Phone */
@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:34px !important;
    }
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#eef4f7;color:#071225;font-size:13px;overflow-x:auto}
button{cursor:pointer;border:1px solid #d5dee8;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;color:#071225;box-shadow:0 2px 7px rgba(0,0,0,.08)}
button:hover{border-color:#4ade80;transform:translateY(-1px)}
.app-shell{display:grid;grid-template-columns:220px minmax(900px,1fr) 260px;gap:10px;padding:8px;min-width:1350px}
.left-sidebar,.right-sidebar,.main-area{min-height:calc(100vh - 16px)}
.left-sidebar,.right-sidebar{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:10px;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.logo-card{background:linear-gradient(135deg,#f4fff8,#fff);border:1px solid #b7f7ca;border-radius:16px;padding:10px;text-align:center;margin-bottom:10px;box-shadow:0 6px 12px rgba(22,163,74,.18)}
.logo-card img{width:100%;height:105px;object-fit:contain;border-radius:12px}.logo-card strong{display:block;margin-top:4px}.category-box{border-bottom:1px solid #edf2f7;padding-bottom:8px;margin-bottom:8px}.category-box h3,.radar-box h3{font-size:13px;margin:8px 0;text-transform:uppercase}.category-box button{display:flex;justify-content:space-between;width:100%;border:0;box-shadow:none;text-align:left;background:transparent;padding:8px 6px}.category-box button:hover{background:#e9fff0}.license-note{text-align:center;font-size:12px;margin:12px 0}.buy-btn{width:100%;background:#3ddc7a;color:#052e16;border:0}.donate-btn{width:100%;background:#071225;color:#fff;border:0;margin-top:8px}
.main-area{display:flex;flex-direction:column;gap:8px}.top-header,.status-panel,.metrics-grid,.feature-tabs,.search-row,.sort-row,.content-grid,.bottom-stats{background:#fff;border:1px solid #dbe5ee;border-radius:14px;box-shadow:0 3px 10px rgba(15,23,42,.07)}
.top-header{display:grid;grid-template-columns:1fr 50px auto auto;align-items:center;gap:12px;padding:14px 18px}.top-header h1{margin:0;font-size:28px}.top-header h1 span{color:#6b7280}.top-header p{margin:3px 0;color:#475569;font-size:11px}.rocket{width:48px;height:48px;object-fit:contain}.scan-buttons,.top-actions{display:flex;gap:8px}.scan-buttons button:nth-child(1),.scan-buttons button:nth-child(2){background:#bbf7d0;color:#16a34a}.scan-buttons button:nth-child(3){background:#fff}.top-actions button{min-width:70px;font-size:12px;padding:8px}
.status-panel{display:grid;grid-template-columns:46px 1fr 60px;gap:12px;align-items:center;padding:12px 16px}.status-panel img{width:42px;height:42px}.status-panel p{margin:4px 0;color:#475569;font-size:12px}.progress-track{grid-column:1/-1;height:12px;background:#e8eef4;border-radius:20px;overflow:hidden}.progress-track div{height:100%;width:0;background:#071225;border-radius:20px;transition:.25s}
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.metric-card{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.metric-card span{font-size:12px;color:#475569}.metric-card strong{display:block;font-size:24px;margin:6px 0}.metric-card small{color:#64748b}
.feature-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.feature-tabs button{text-align:left;background:#fff}.feature-tabs button.active{background:#eafff1;border-color:#22c55e}.feature-tabs span{display:block;color:#64748b;font-size:11px;margin-top:4px}.search-row{display:grid;grid-template-columns:110px 1fr 90px 80px;gap:8px;align-items:center;padding:10px}.search-row input{padding:11px;border:1px solid #cfd9e4;border-radius:10px}.sort-row{display:flex;gap:8px;padding:10px;background:transparent;border:0;box-shadow:none}.sort-row button{padding:9px 12px}
.content-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:10px;background:transparent;border:0;box-shadow:none;min-height:430px}.database-panel,.detail-panel{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.database-panel h3{font-size:13px;margin:0 0 8px}.scan-table{height:390px;overflow:auto;border:1px solid #bbf7d0;border-radius:12px;background:#fff}.scan-table table{width:100%;border-collapse:collapse}.scan-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;text-align:left;padding:10px;font-size:12px}.scan-table td{border-top:1px solid #edf2f7;padding:8px;vertical-align:middle}.scan-table tr{cursor:pointer}.scan-table tr:hover,.scan-table tr.selected{background:#eafff1}.scan-table td img{width:42px;height:42px;object-fit:cover;border-radius:8px;margin-right:8px;vertical-align:middle}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#071225}.empty-state img{width:90px;height:90px;object-fit:contain}.empty-state p{color:#475569}
.detail-head{display:flex;justify-content:space-between;font-weight:900;margin-bottom:12px}.detail-head span{color:#0f172a}.selected-deal{background:linear-gradient(135deg,#ecfdf5,#f8fbff);border:1px solid #bbf7d0;border-radius:14px;min-height:355px;padding:18px}.selected-deal h2{margin:0 0 10px;color:#166534}.selected-deal h3{margin:0 0 12px}.selected-layout{display:grid;grid-template-columns:110px 1fr;gap:16px}.selected-layout img{width:110px;height:110px;object-fit:cover;border-radius:10px;background:#fff}.selected-layout p{margin:7px 0}.full-width{width:100%;margin-top:14px;background:#071225;color:#fff;border:0}
.bottom-stats{display:grid;grid-template-columns:110px 140px 1fr 140px;gap:8px;background:transparent;border:0;box-shadow:none}.bottom-stats>div{background:#fff;border:1px solid #dbe5ee;border-radius:12px;padding:10px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.bottom-stats strong{display:block;font-size:12px}.bottom-stats span{display:block;font-weight:900;margin:5px 0}.bottom-stats small{color:#475569}.mini-bar{height:10px;background:#e2e8f0;border-radius:20px;overflow:hidden}.mini-bar i{display:block;height:100%;width:0;background:#22c55e;border-radius:20px}
.radar-box{margin-bottom:12px}.mini-deal{display:grid;grid-template-columns:42px 1fr 28px;gap:8px;align-items:center;border:1px solid #dbe5ee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fff;cursor:pointer}.mini-deal:hover{background:#f0fdf4}.mini-deal img{width:42px;height:42px;object-fit:cover;border-radius:8px}.mini-deal strong{display:block;font-size:11px}.mini-deal span{display:block;color:#475569;font-size:11px}.mini-deal b{text-align:right;font-size:18px}.radar-box>button{width:100%;padding:9px}.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.quick-actions button{font-size:11px;padding:8px}
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;z-index:50}.modal-overlay.show{display:flex}.modal-box{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:680px;width:92%;max-height:88vh;overflow:auto;padding:24px;position:relative}.modal-close{position:absolute;top:10px;right:10px;border-radius:50%;width:34px;height:34px;padding:0}.modal-banner{width:100%;border-radius:14px;margin:10px 0}.ai-verdict{background:#eafff1;border:1px solid #22c55e;border-radius:12px;padding:12px;font-weight:900;margin:12px 0}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-grid label{font-weight:800}.calc-grid input{width:100%;padding:10px;border:1px solid #cfd9e4;border-radius:10px;margin-top:5px}.calc-result{margin-top:12px;background:#f8fafc;border-radius:12px;padding:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:180px minmax(760px,1fr);}.right-sidebar{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.feature-tabs{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.bottom-stats{grid-template-columns:1fr 1fr}.top-header{grid-template-columns:1fr}}


/* Patch 0.7 scan controls */
.scan-mode-buttons button{min-width:118px}
.scan-mode-buttons .active{background:#22c55e!important;color:#052e16!important;border-color:#16a34a!important}
.deep-scan-btn{background:#dbeafe!important;color:#0f172a!important}
.stop-scan-btn{background:#fff!important;color:#071225!important}
.search-row{grid-template-columns:110px 1fr 105px 105px 80px}

/* --- GrowFlow Tutorial Guide Popup Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }
}
/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- Patch 0.9 resale input additions --- */

.resale-input-box{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #dbe5ee;
    border-radius:14px;
    box-shadow:0 3px 10px rgba(15,23,42,.07);
    padding:10px;
    margin-top:8px;
}

.resale-input-box label{
    font-weight:900;
    color:#064e3b;
}

.resale-input-box input{
    width:110px;
    padding:9px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    font-weight:800;
}

.resale-input-box button{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.selected-layout hr{
    border:0;
    border-top:1px solid #bbf7d0;
    margin:8px 0;
}

/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .resale-input-box{
        flex-wrap:wrap;
    }

    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- GrowFlow Patch 1.1 Licence Splash / CD-Key Gate --- */

.gf-license-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.25), transparent 35%),
        linear-gradient(135deg,#052e16,#071225);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.gf-license-window{
    width:min(980px,96vw);
    min-height:560px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 30px 100px rgba(0,0,0,.5);
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
}

.gf-license-left{
    background:
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(220,252,231,.96)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-fruit-character{
    width:92px;
    height:92px;
    border-radius:24px;
    background:#dcfce7;
    border:2px solid #22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:54px;
    box-shadow:0 12px 28px rgba(22,163,74,.25);
    margin-bottom:18px;
}

.gf-license-left h1{
    margin:0;
    color:#064e3b;
    font-size:38px;
    line-height:1.05;
}

.gf-tagline{
    color:#0f172a;
    font-size:16px;
    margin:14px 0 20px;
}

.gf-splash-points{
    display:grid;
    gap:10px;
}

.gf-splash-points div{
    background:rgba(255,255,255,.8);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:12px;
    font-weight:800;
    color:#064e3b;
}

.gf-license-right{
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-license-right h2{
    margin:0 0 8px;
    color:#064e3b;
    font-size:28px;
}

.gf-license-right h3{
    margin:0 0 6px;
    color:#071225;
}

.gf-license-right p{
    color:#475569;
    line-height:1.45;
}

.gf-license-right label{
    color:#064e3b;
    font-weight:900;
    margin-bottom:6px;
}

.gf-trial-key-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
    margin:6px 0 4px;
}

.gf-trial-key-box code{
    background:#f8fafc;
    border:2px dashed #22c55e;
    color:#071225;
    font-size:24px;
    font-weight:900;
    letter-spacing:2px;
    padding:14px;
    border-radius:14px;
    text-align:center;
}

.gf-trial-key-box button,
.gf-start-trial,
.gf-unlock-btn,
.gf-buy-btn{
    border:0;
    border-radius:14px;
    padding:13px 16px;
    font-weight:900;
    cursor:pointer;
}

.gf-trial-key-box button{
    background:#071225;
    color:white;
}

.gf-start-trial{
    background:#16a34a;
    color:white;
    margin-top:10px;
    width:100%;
}

.gf-divider{
    height:1px;
    background:#e2e8f0;
    margin:22px 0;
}

.gf-license-input{
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:14px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
    margin:8px 0;
    width:100%;
}

.gf-unlock-btn{
    background:#071225;
    color:#fff;
    width:100%;
    margin-top:8px;
}

.gf-buy-btn{
    background:#facc15;
    color:#052e16;
    width:100%;
    margin-top:8px;
}

.gf-license-msg,
.gf-copy-msg{
    min-height:18px;
    color:#166534;
    font-weight:800;
}

.gf-license-badge{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:900;
    background:#071225;
    color:#fff;
    border-radius:999px;
    padding:8px 8px 8px 14px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    display:flex;
    gap:10px;
    align-items:center;
    font-weight:800;
}

.gf-license-badge button{
    border:0;
    background:#22c55e;
    color:#052e16;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}

.gf-locked-search{
    background:#f1f5f9 !important;
    color:#64748b !important;
    border-color:#cbd5e1 !important;
}

.gf-search-lock-note,
.gf-search-unlocked-note{
    background:#fff7ed;
    border:1px solid #fdba74;
    color:#7c2d12;
    border-radius:12px;
    padding:9px 12px;
    font-weight:800;
    margin:8px 0;
}

.gf-search-unlocked-note{
    background:#ecfdf5;
    border-color:#22c55e;
    color:#064e3b;
}

.gf-feature-locked-btn{
    background:#facc15 !important;
    color:#052e16 !important;
    border-color:#facc15 !important;
}

@media(max-width:800px){
    .gf-license-window{
        grid-template-columns:1fr;
        max-height:92vh;
        overflow:auto;
    }

    .gf-license-left,
    .gf-license-right{
        padding:24px;
    }

    .gf-license-left h1{
        font-size:30px;
    }

    .gf-trial-key-box{
        grid-template-columns:1fr;
    }

    .gf-license-badge{
        left:12px;
        right:12px;
        bottom:12px;
        justify-content:space-between;
    }
}
/* --- GrowFlow Patch 1.2 Logo Splash + Clear Tutorial --- */

.gf-logo-splash{
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(220,252,231,.98)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
}

.gf-splash-logo-wrap{
    background:white;
    border:2px solid #bbf7d0;
    border-radius:24px;
    padding:16px;
    width:220px;
    max-width:100%;
    box-shadow:0 12px 30px rgba(22,163,74,.22);
    margin-bottom:18px;
}

.gf-splash-logo{
    width:100%;
    height:150px;
    object-fit:contain;
    display:block;
}

.gf-small-character{
    width:64px;
    height:64px;
    font-size:38px;
    margin-bottom:14px;
}

.hydro-instructions-modal h2{
    font-size:30px;
    color:#064e3b;
}

.guide-alert{
    background:#ecfdf5;
    border:2px solid #22c55e;
    color:#064e3b;
    border-radius:14px;
    padding:12px 14px;
    font-weight:900;
    margin:12px 0 16px;
}

.hydro-instructions-modal .guide-tabs button{
    font-size:15px;
    padding:13px;
}

.hydro-instructions-modal .guide-tabs button.active{
    background:#16a34a;
    color:#fff;
    border-color:#16a34a;
}
/* ===== Patch 1.3 START HERE button ===== */

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    position:relative;
    background:linear-gradient(180deg,#34d399,#16a34a);
    color:#fff;
    border:2px solid #15803d;
    font-weight:900;
    transform:scale(1.06);
    box-shadow:0 6px 18px rgba(22,163,74,.35);
    overflow:hidden;
}

#towerGuideBtn strong{
    display:block;
    font-size:17px;
    letter-spacing:.5px;
}

#towerGuideBtn span{
    display:block;
    font-size:11px;
    opacity:.95;
}

#towerGuideBtn:hover,
button[onclick="openTutorialPopup()"]:hover{
    transform:scale(1.10);
}

.guideBadge{
    margin-top:6px;
    font-size:10px;
    background:rgba(255,255,255,.22);
    border-radius:999px;
    padding:3px 8px;
}

@keyframes guidePulse{
    0%{transform:scale(1.06);}
    50%{transform:scale(1.12);}
    100%{transform:scale(1.06);}
}

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    animation:guidePulse 2.8s infinite;
}

.hydro-instructions-modal h2:before{
    content:"🌱 ";
}
/*
Patch 1.3 - START HERE button

1. In your toolbar/index.html replace the old tutorial button with:

<button id="towerGuideBtn" onclick="openTutorialPopup()">
    <strong>🌱 START HERE</strong>
    <span>Hydro Tower Instructions</span>
</button>

2. Paste this block at the END of app.js
*/



.share-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:14px;
}

.share-grid button{
    padding:14px;
    border-radius:14px;
    font-weight:900;
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin-top:12px;
}

/* ===== GrowFlow Patch 1.5 — Premium Share Popup with fire.gif ===== */

.share-modal-premium{
    color:#071225;
    padding:4px;
}

.share-premium-hero{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:20px;
    align-items:center;
    background:
        radial-gradient(circle at 12% 15%, rgba(34,197,94,.18), transparent 28%),
        radial-gradient(circle at 85% 20%, rgba(59,130,246,.14), transparent 30%),
        linear-gradient(135deg,#ffffff,#f0fdf4);
    border:2px solid #86efac;
    border-radius:28px;
    padding:24px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
}

.share-fire-icon{
    width:96px;
    height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#ecfdf5,#dcfce7);
    border:2px solid #86efac;
    box-shadow:0 0 0 10px rgba(34,197,94,.10), 0 14px 34px rgba(34,197,94,.28);
    overflow:hidden;
}

.share-fire-icon img{
    width:78px;
    height:78px;
    object-fit:contain;
    display:block;
}

.share-premium-title h2{
    margin:0;
    font-size:44px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.share-premium-title h2 span{
    color:#16a34a;
}

.share-premium-title p{
    margin:12px 0 0;
    font-size:19px;
    color:#334155;
    max-width:620px;
}

.share-premium-mega{
    font-size:72px;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));
}

.share-callout{
    margin:18px auto;
    width:max-content;
    max-width:100%;
    background:rgba(236,253,245,.92);
    border:1px solid #bbf7d0;
    color:#047857;
    border-radius:999px;
    padding:11px 22px;
    font-size:17px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.share-button-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.brand-share{
    min-height:102px;
    border:0;
    border-radius:20px;
    color:white;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:16px;
    text-align:left;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.20);
    transition:transform .18s ease, box-shadow .18s ease;
    overflow:hidden;
    position:relative;
}

.brand-share:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 45%);
    pointer-events:none;
}

.brand-share:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 18px 38px rgba(15,23,42,.28);
}

.brand-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#071225;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:1000;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    z-index:1;
}

.brand-share strong{
    display:block;
    font-size:19px;
    z-index:1;
}

.brand-share span{
    display:block;
    font-size:13px;
    opacity:.94;
    margin-top:4px;
    z-index:1;
}

.brand-share em{
    font-style:normal;
    font-size:34px;
    opacity:.9;
    z-index:1;
}

.brand-share.whatsapp{background:linear-gradient(135deg,#25D366,#059669);}
.brand-share.facebook{background:linear-gradient(135deg,#1877F2,#075ac4);}
.brand-share.twitter{background:linear-gradient(135deg,#111827,#000000);}
.brand-share.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9);}
.brand-share.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);}
.brand-share.tiktok{background:linear-gradient(135deg,#000000,#111827);}
.brand-share.copy{background:linear-gradient(135deg,#22c55e,#0f766e);}
.brand-share.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    color:#0f172a;
    border:1px solid #dbe5ee;
}

.share-copy-panel{
    margin-top:20px;
    background:linear-gradient(135deg,#ecfdf5,#f8fffb);
    border:1px solid #86efac;
    border-radius:22px;
    padding:18px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
}

.copy-panel-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:linear-gradient(180deg,#22c55e,#15803d);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    box-shadow:0 10px 24px rgba(22,163,74,.25);
}

.copy-panel-text strong{
    display:block;
    color:#064e3b;
    font-size:18px;
    margin-bottom:8px;
}

.copy-panel-text input{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:13px;
    font-weight:800;
    color:#0f172a;
    background:white;
}

.share-copy-panel button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:14px;
    padding:14px 22px;
    font-weight:1000;
    box-shadow:0 8px 20px rgba(22,163,74,.22);
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin:12px 0 0;
}

.share-thanks{
    text-align:center;
    margin-top:16px;
    color:#166534;
    font-weight:900;
}

@media(max-width:1100px){
    .share-button-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px){
    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-premium-title h2{
        font-size:34px;
    }

    .share-button-grid{
        grid-template-columns:1fr;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }
}

/* ===== GrowFlow Patch 1.6 — Share modal less squashed =====
   Paste this at the very bottom of static/style.css.
   It overrides Patch 1.5 share modal sizing.
*/

.share-modal-premium{
    width:1100px;
    max-width:94vw;
}

.share-premium-hero{
    padding:22px 28px;
}

.share-premium-title h2{
    font-size:42px;
}

.share-premium-title p{
    font-size:18px;
    line-height:1.35;
}

.share-fire-icon{
    width:92px;
    height:92px;
}

.share-fire-icon img{
    width:76px;
    height:76px;
}

.share-premium-mega{
    font-size:66px;
}

.share-callout{
    margin:16px auto;
    padding:10px 22px;
    font-size:17px;
}

/* Main fix: two columns instead of four cramped columns */
.share-button-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px;
}

.brand-share{
    min-height:76px !important;
    padding:14px 18px !important;
    grid-template-columns:58px 1fr 24px;
}

.brand-icon{
    width:52px;
    height:52px;
    font-size:28px;
}

.brand-share strong{
    font-size:18px;
    line-height:1.1;
}

.brand-share span{
    white-space:nowrap;
    font-size:13px;
    line-height:1.2;
}

.brand-share em{
    font-size:28px;
}

/* Link panel gets more breathing room */
.share-copy-panel{
    grid-template-columns:64px 1fr 110px;
    gap:14px;
    padding:16px 18px;
}

.copy-panel-icon{
    width:58px;
    height:58px;
    font-size:30px;
}

.copy-panel-text strong{
    font-size:18px;
}

.copy-panel-text input{
    font-size:16px;
    padding:13px 14px;
}

.share-copy-panel button{
    padding:13px 20px;
}

.share-thanks{
    margin-top:14px;
    font-size:15px;
}

/* On smaller screens keep it tidy */
@media(max-width:760px){
    .share-modal-premium{
        width:auto;
    }

    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-button-grid{
        grid-template-columns:1fr !important;
    }

    .brand-share{
        min-height:74px !important;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }

    .brand-share span{
        white-space:normal;
    }
}

/*
GrowFlow Patch 1.5 — Premium Share Popup + fire.gif icon

Install:
1. Paste this file at the BOTTOM of static/app.js.
   It overrides your old openSharePopup() with the new design.

2. Paste style_share_firegif.css at the BOTTOM of static/style.css.

3. Make sure this file exists:
   static/assets/fire.gif

4. Hard refresh:
   Ctrl + F5
*/

/* ===== GrowFlow Patch 1.8 — Polished Share Popup Fix =====
   Paste at the VERY BOTTOM of style.css so it overrides older share styles.
*/

/* Force the existing modal shell to become the right size */
#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent,
.modal-content{
    box-sizing:border-box !important;
}

#modalContent:has(.gf-share-pro),
.modal-content:has(.gf-share-pro){
    width:min(1050px,94vw) !important;
    max-width:1050px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:26px !important;
    border-radius:26px !important;
}

/* Popup body */
.gf-share-pro{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    color:#071225 !important;
    font-family:inherit !important;
    overflow:hidden !important;
}

/* Hero */
.gf-share-hero{
    display:grid !important;
    grid-template-columns:88px 1fr 80px !important;
    gap:18px !important;
    align-items:center !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(34,197,94,.20), transparent 32%),
        linear-gradient(135deg,#ffffff,#f0fdf4) !important;
    border:2px solid #86efac !important;
    border-radius:22px !important;
    padding:18px 22px !important;
    margin:0 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.gf-share-fire{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    border-radius:50% !important;
    background:#dcfce7 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.22) !important;
}

.gf-share-fire img{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
}

.gf-share-title h2{
    margin:0 !important;
    padding:0 !important;
    font-size:40px !important;
    line-height:1 !important;
    letter-spacing:-.8px !important;
    color:#071225 !important;
    white-space:nowrap !important;
}

.gf-share-title h2 span{
    color:#16a34a !important;
}

.gf-share-title p{
    margin:8px 0 0 !important;
    padding:0 !important;
    font-size:16px !important;
    color:#334155 !important;
    line-height:1.25 !important;
    max-width:650px !important;
    white-space:normal !important;
}

.gf-share-mega{
    font-size:54px !important;
    line-height:1 !important;
    text-align:center !important;
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.14)) !important;
}

/* Callout */
.gf-share-strip{
    margin:14px auto !important;
    width:max-content !important;
    max-width:94% !important;
    text-align:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:999px !important;
    padding:9px 20px !important;
    font-size:16px !important;
    font-weight:1000 !important;
}

/* Cards */
.gf-share-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-btn{
    appearance:none !important;
    border:0 !important;
    border-radius:18px !important;
    min-height:88px !important;
    padding:12px !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:46px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:0 10px 22px rgba(15,23,42,.18) !important;
    transition:transform .14s ease, box-shadow .14s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.26) !important;
}

.gf-share-btn i{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:#071225 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-style:normal !important;
    font-size:23px !important;
    font-weight:1000 !important;
    box-shadow:0 6px 14px rgba(0,0,0,.14) !important;
}

.gf-share-btn div{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
    min-width:0 !important;
}

.gf-share-btn b{
    display:block !important;
    font-size:17px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.gf-share-btn span{
    display:block !important;
    font-size:12px !important;
    line-height:1.15 !important;
    opacity:.95 !important;
    white-space:normal !important;
}

.gf-share-btn.whatsapp{background:linear-gradient(135deg,#25D366,#059669) !important;}
.gf-share-btn.facebook{background:linear-gradient(135deg,#1877F2,#075ac4) !important;}
.gf-share-btn.twitter{background:linear-gradient(135deg,#111827,#000000) !important;}
.gf-share-btn.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9) !important;}
.gf-share-btn.instagram{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-btn.tiktok{background:linear-gradient(135deg,#020617,#111827) !important;}
.gf-share-btn.copy{background:linear-gradient(135deg,#22c55e,#0f766e) !important;}
.gf-share-btn.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc) !important;
    color:#0f172a !important;
    border:1px solid #dbe5ee !important;
}

/* Copy box */
.gf-share-copybox{
    margin-top:14px !important;
    display:grid !important;
    grid-template-columns:56px 1fr 100px !important;
    gap:12px !important;
    align-items:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:13px !important;
    box-sizing:border-box !important;
}

.gf-share-link-icon{
    width:50px !important;
    height:50px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:25px !important;
    box-shadow:0 8px 18px rgba(22,163,74,.22) !important;
}

.gf-share-copytext strong{
    display:block !important;
    color:#064e3b !important;
    font-size:16px !important;
    margin-bottom:7px !important;
}

.gf-share-copytext input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:11px 12px !important;
    font-weight:900 !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-copybox button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

.gf-share-message{
    text-align:center !important;
    margin-top:12px !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:20px !important;
}

.gf-share-message.copied{
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:7px 12px !important;
}

/* Medium screens */
@media(max-width:900px){
    #modalContent:has(.gf-share-pro),
    .modal-content:has(.gf-share-pro){
        overflow:auto !important;
    }

    .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-hero{
        grid-template-columns:76px 1fr !important;
    }

    .gf-share-mega{
        display:none !important;
    }

    .gf-share-title h2{
        font-size:34px !important;
    }
}

/* Phone */
@media(max-width:560px){
    .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-link-icon{
        margin:auto !important;
    }
}
/* ===== GrowFlow Patch 1.9 — Compact Desktop Share Popup =====
   Paste at the VERY BOTTOM of style.css.
*/

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent:has(.gf-share-compact),
.modal-content:has(.gf-share-compact){
    width:min(1040px,94vw) !important;
    max-width:1040px !important;
    max-height:88vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:20px !important;
    border-radius:24px !important;
}

/* body */
.gf-share-compact{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

/* smaller hero */
.gf-share-compact .gf-share-hero{
    padding:12px 18px !important;
    grid-template-columns:66px 1fr 58px !important;
    gap:14px !important;
    border-radius:20px !important;
}

.gf-share-compact .gf-share-fire{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
}

.gf-share-compact .gf-share-fire img{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
}

.gf-share-compact .gf-share-title h2{
    font-size:34px !important;
}

.gf-share-compact .gf-share-title p{
    font-size:14px !important;
    margin-top:5px !important;
    line-height:1.2 !important;
}

.gf-share-compact .gf-share-mega{
    font-size:42px !important;
}

/* smaller callout */
.gf-share-compact .gf-share-strip{
    margin:10px auto !important;
    padding:7px 16px !important;
    font-size:14px !important;
}

/* smaller cards */
.gf-share-compact .gf-share-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn{
    min-height:74px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    grid-template-columns:40px 1fr !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn i{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:20px !important;
}

.gf-share-compact .gf-share-btn b{
    font-size:15px !important;
}

.gf-share-compact .gf-share-btn span{
    font-size:11px !important;
    line-height:1.1 !important;
}

/* compact copy box */
.gf-share-compact .gf-share-copybox{
    margin-top:10px !important;
    grid-template-columns:46px 1fr 90px !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:16px !important;
}

.gf-share-compact .gf-share-link-icon{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
}

.gf-share-compact .gf-share-copytext strong{
    font-size:14px !important;
    margin-bottom:5px !important;
}

.gf-share-compact .gf-share-copytext input{
    padding:9px 10px !important;
    font-size:13px !important;
}

.gf-share-compact .gf-share-copybox button{
    padding:10px !important;
    font-size:13px !important;
}

/* message hidden until action */
.gf-share-compact .gf-share-message{
    min-height:0 !important;
    margin-top:8px !important;
    text-align:center !important;
    font-size:13px !important;
    color:#166534 !important;
    font-weight:1000 !important;
}

.gf-share-compact .gf-share-message:empty{
    display:none !important;
}

.gf-share-compact .gf-share-message.copied{
    display:block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:6px 10px !important;
}

/* medium */
@media(max-width:900px){
    #modalContent:has(.gf-share-compact),
    .modal-content:has(.gf-share-compact){
        max-height:92vh !important;
    }

    .gf-share-compact .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:58px 1fr !important;
    }

    .gf-share-compact .gf-share-mega{
        display:none !important;
    }
}

/* phone */
@media(max-width:560px){
    .gf-share-compact .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-compact .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-compact .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-link-icon{
        margin:auto !important;
    }
}

/* ===== GrowFlow Patch 2.1 — socialshare.png Share Window ===== */

#modalContent:has(.socialshare-window),
.modal-content:has(.socialshare-window){
    width:min(1320px,96vw) !important;
    max-width:1320px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
}

.socialshare-window{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:24px;
    color:#071225;
    overflow:hidden;
}

.socialshare-left{
    min-width:0;
}

.socialshare-hero{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:14px;
}

.socialshare-fire{
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    border:2px solid #86efac;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.20);
    overflow:hidden;
}

.socialshare-fire img{
    width:54px;
    height:54px;
    object-fit:contain;
}

.socialshare-hero h2{
    margin:0;
    font-size:42px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.socialshare-hero h2 span{
    color:#16a34a;
}

.socialshare-hero p{
    margin:8px 0 0;
    font-size:17px;
    color:#334155;
    line-height:1.25;
}

.socialshare-callout{
    background:#ecfdf5;
    border:1px solid #86efac;
    color:#047857;
    border-radius:16px;
    padding:11px 16px;
    font-weight:1000;
    text-align:center;
    margin-bottom:14px;
}

.socialshare-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.socialshare-card{
    position:relative;
    min-height:128px;
    border:1px solid #dbe5ee;
    background:#fff;
    border-radius:18px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(15,23,42,.10);
    transition:.16s ease;
    overflow:hidden;
}

.socialshare-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.18);
}

.socialshare-card i{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:28px;
    font-style:normal;
    font-weight:1000;
}

.socialshare-card b{
    font-size:17px;
    line-height:1;
    color:#071225;
}

.socialshare-card span{
    font-size:12px;
    color:#334155;
    text-align:center;
}

.socialshare-card small{
    position:absolute;
    left:12px;
    right:12px;
    bottom:9px;
    background:#16a34a;
    color:white;
    border-radius:999px;
    padding:5px;
    font-size:12px;
    font-weight:1000;
    opacity:0;
    transform:translateY(6px);
    transition:.16s ease;
}

.socialshare-card.copied small{
    opacity:1;
    transform:translateY(0);
}

.socialshare-card.whatsapp i{background:#25D366;}
.socialshare-card.facebook i{background:#1877F2;}
.socialshare-card.twitter i{background:#000;}
.socialshare-card.email i{background:#7c3aed;}
.socialshare-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea);}
.socialshare-card.tiktok i{background:#020617;}
.socialshare-card.copy i{background:#16a34a;}
.socialshare-card.more i{background:#f8fafc;color:#071225;border:1px solid #dbe5ee;}

.socialshare-copybox{
    margin-top:14px;
    background:#ecfdf5;
    border:1px solid #86efac;
    border-radius:18px;
    padding:14px;
    display:grid;
    grid-template-columns:54px 1fr 96px;
    gap:12px;
    align-items:center;
}

.copy-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#16a34a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.socialshare-copybox strong{
    display:block;
    color:#064e3b;
    margin-bottom:6px;
}

.socialshare-copybox input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:11px 12px;
    font-weight:900;
}

.socialshare-copybox button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:12px;
    padding:12px;
    font-weight:1000;
    cursor:pointer;
}

.socialshare-message{
    text-align:center;
    color:#166534;
    font-weight:1000;
    min-height:0;
    margin-top:10px;
}

.socialshare-message.show{
    background:#dcfce7;
    border:1px solid #86efac;
    border-radius:999px;
    padding:7px 12px;
}

.socialshare-right{
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at center, #fff7d6 0%, #f0fdf4 58%, #ffffff 100%);
    border-radius:24px;
    overflow:hidden;
    min-height:620px;
}

.socialshare-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Medium screens */
@media(max-width:1100px){
    .socialshare-window{
        grid-template-columns:1fr;
        max-height:88vh;
        overflow:auto;
    }

    .socialshare-right{
        min-height:300px;
        max-height:360px;
    }

    .socialshare-right img{
        object-fit:contain;
    }
}

/* Smaller */
@media(max-width:760px){
    #modalContent:has(.socialshare-window),
    .modal-content:has(.socialshare-window){
        overflow:auto !important;
        padding:18px !important;
    }

    .socialshare-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .socialshare-copybox{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-icon{
        margin:auto;
    }
}

/* Phone */
@media(max-width:500px){
    .socialshare-grid{
        grid-template-columns:1fr;
    }

    .socialshare-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .socialshare-fire{
        margin:auto;
    }

    .socialshare-hero h2{
        font-size:34px;
    }
}
/* ===== GrowFlow FINAL Share Popup Patch =====
   Paste at the VERY BOTTOM of static/style.css.
*/

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:min(1360px,96vw) !important;
    max-width:1360px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final{
    display:grid !important;
    grid-template-columns:minmax(620px,1fr) 440px !important;
    gap:24px !important;
    width:100% !important;
    color:#071225 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.gf-share-left{
    min-width:0 !important;
}

/* Hero */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:105px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:16px !important;
}

.gf-share-final-fire{
    width:95px !important;
    height:95px !important;
    border-radius:50% !important;
    background:#eefcf0 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 6px 20px rgba(34,197,94,.18) !important;
}

.gf-share-final-fire img{
    width:68px !important;
    height:68px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:52px !important;
    line-height:1 !important;
    letter-spacing:-1px !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:10px 0 0 !important;
    font-size:19px !important;
    line-height:1.28 !important;
    color:#334155 !important;
    max-width:620px !important;
}

/* Callout */
.gf-share-final-callout{
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:16px !important;
    padding:12px 16px !important;
    font-weight:1000 !important;
    text-align:center !important;
    font-size:17px !important;
    margin-bottom:16px !important;
}

/* Cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    position:relative !important;
    min-height:150px !important;
    border:1px solid #dbe5ee !important;
    background:#fff !important;
    border-radius:20px !important;
    padding:18px 14px 42px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    cursor:pointer !important;
    box-shadow:0 8px 22px rgba(15,23,42,.10) !important;
    transition:.16s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.18) !important;
}

.gf-share-final-card i{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:white !important;
    font-size:31px !important;
    font-style:normal !important;
    font-weight:1000 !important;
}

.gf-share-final-card b{
    color:#071225 !important;
    font-size:18px !important;
    line-height:1.05 !important;
    text-align:center !important;
    white-space:nowrap !important;
}

.gf-share-final-card span{
    color:#334155 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    bottom:12px !important;
    background:#16a34a !important;
    color:white !important;
    border-radius:999px !important;
    padding:7px !important;
    font-size:12px !important;
    font-weight:1000 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
    pointer-events:none !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Icon colours */
.gf-share-final-card.whatsapp i{background:#25D366 !important;}
.gf-share-final-card.facebook i{background:#1877F2 !important;}
.gf-share-final-card.twitter i{background:#000 !important;}
.gf-share-final-card.email i{background:#7c3aed !important;}
.gf-share-final-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-final-card.tiktok i{background:#020617 !important;}
.gf-share-final-card.copy i{background:#16a34a !important;}
.gf-share-final-card.more i{
    background:#f8fafc !important;
    color:#071225 !important;
    border:1px solid #dbe5ee !important;
}

/* Copy section */
.gf-share-final-copy{
    margin-top:16px !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:16px !important;
    display:grid !important;
    grid-template-columns:64px 1fr 120px !important;
    gap:12px !important;
    align-items:center !important;
}

.gf-share-final-copy-icon{
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:26px !important;
}

.gf-share-final-copy-main strong{
    display:block !important;
    color:#064e3b !important;
    font-size:17px !important;
    margin-bottom:7px !important;
}

.gf-share-final-copy-main input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:900 !important;
    font-size:15px !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-final-copy button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:14px 18px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

/* Floating feedback */
.gf-share-final-message{
    text-align:center !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:0 !important;
    margin-top:10px !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:8px 18px !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork */
.gf-share-right{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 60%,#fff 100%) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    min-height:620px !important;
    padding:6px !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    max-height:620px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Medium desktop/tablet */
@media(max-width:1150px){
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        overflow:auto !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
    }

    .gf-share-right{
        min-height:280px !important;
        max-height:360px !important;
    }

    .gf-share-right img{
        height:100% !important;
        width:auto !important;
    }
}

/* Smaller */
@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }
}

/* Phone */
@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:34px !important;
    }
}




/* ===== NO SCROLL SHARE POPUP OVERRIDE ===== */
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
width:1360px!important;
height:780px!important;
max-width:1360px!important;
max-height:780px!important;
overflow:hidden!important;
padding:22px!important;
box-sizing:border-box!important;
}

.gf-share-final{
display:grid!important;
grid-template-columns:820px 470px!important;
gap:18px!important;
height:100%!important;
overflow:hidden!important;
}

.gf-share-left,.gf-share-right{
height:100%!important;
overflow:hidden!important;
}

.gf-share-right img{
width:100%!important;
height:100%!important;
object-fit:contain!important;
}

.gf-share-final-grid{
grid-template-columns:repeat(4,1fr)!important;
gap:10px!important;
}

.gf-share-final-card{
min-height:128px!important;
padding:14px 10px 36px!important;
}

.gf-share-final-copy{
margin-top:10px!important;
padding:12px!important;
}

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final),
.gf-share-final,
.gf-share-left,
.gf-share-right{
overflow-x:hidden!important;
overflow-y:hidden!important;
}

#modalContent:has(.gf-share-final)::-webkit-scrollbar,
.modal-content:has(.gf-share-final)::-webkit-scrollbar,
.gf-share-final::-webkit-scrollbar,
.gf-share-left::-webkit-scrollbar,
.gf-share-right::-webkit-scrollbar{
display:none!important;
width:0!important;
height:0!important;
}

@media(max-width:1150px){
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
overflow:hidden!important;
}
}





/* ==========================================================
   GrowFlow Share Popup Final Polish Patch
   - Modern Inter/Segoe font
   - Smaller fixed-height no-scroll popup
   - Less bottom white space
   - Softer white social cards
   - Bigger fire badge
   - Chunkier copy box
   - Better right artwork fit
   Paste kept at the absolute bottom so it overrides old share CSS.
   ========================================================== */

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

/* REAL modal wrapper in this app */
.modal-box:has(.gf-share-final),
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:1300px !important;
    height:700px !important;
    max-width:1300px !important;
    max-height:700px !important;
    padding:26px !important;
    overflow:hidden !important;
    border-radius:28px !important;
    background:#ffffff !important;
    box-sizing:border-box !important;
}

/* Main layout */
.gf-share-final{
    width:100% !important;
    height:100% !important;
    display:grid !important;
    grid-template-columns:790px 430px !important;
    gap:24px !important;
    overflow:hidden !important;
    font-family:"Inter","Segoe UI",Arial,sans-serif !important;
    color:#071225 !important;
}

.gf-share-left,
.gf-share-right{
    height:100% !important;
    overflow:hidden !important;
}

/* Header */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:108px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:14px !important;
}

.gf-share-final-fire{
    width:98px !important;
    height:98px !important;
    border-radius:50% !important;
    background:#eefcf1 !important;
    border:2px solid #bbf7d0 !important;
    box-shadow:0 8px 20px rgba(34,197,94,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.gf-share-final-fire img{
    width:70px !important;
    height:70px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:54px !important;
    line-height:1 !important;
    letter-spacing:-1.4px !important;
    font-weight:850 !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:9px 0 0 !important;
    font-size:20px !important;
    line-height:1.35 !important;
    color:#374151 !important;
    max-width:610px !important;
}

/* Green banner */
.gf-share-final-callout{
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f0fdf4 !important;
    border:1px solid #bbf7d0 !important;
    color:#047857 !important;
    border-radius:18px !important;
    padding:10px 18px !important;
    font-size:18px !important;
    font-weight:800 !important;
    margin-bottom:14px !important;
}

/* Social cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    min-height:128px !important;
    border:none !important;
    background:#ffffff !important;
    border-radius:22px !important;
    padding:14px 12px 38px !important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.05),
        0 1px 3px rgba(0,0,0,.08) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    position:relative !important;
    overflow:hidden !important;
    transition:transform .15s ease, box-shadow .15s ease !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.08),
        0 2px 6px rgba(0,0,0,.08) !important;
}

.gf-share-final-card i{
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:30px !important;
    font-style:normal !important;
    font-weight:900 !important;
    color:#fff !important;
}

.gf-share-final-card b{
    font-size:19px !important;
    line-height:1 !important;
    color:#111827 !important;
    font-weight:850 !important;
    text-align:center !important;
}

.gf-share-final-card span{
    font-size:13px !important;
    line-height:1.15 !important;
    color:#111827 !important;
    opacity:.9 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    left:16px !important;
    right:16px !important;
    bottom:10px !important;
    background:#16a34a !important;
    color:#fff !important;
    border-radius:999px !important;
    padding:6px 8px !important;
    font-size:12px !important;
    font-weight:850 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Copy box */
.gf-share-final-copy{
    height:88px !important;
    margin-top:14px !important;
    padding:14px 16px !important;
    display:grid !important;
    grid-template-columns:62px 1fr 120px !important;
    gap:14px !important;
    align-items:center !important;
    background:#f0fdf4 !important;
    border:1px solid #bbf7d0 !important;
    border-radius:22px !important;
}

.gf-share-final-copy-icon{
    width:56px !important;
    height:56px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:28px !important;
}

.gf-share-final-copy-main strong{
    display:block !important;
    font-size:18px !important;
    font-weight:850 !important;
    color:#111827 !important;
    margin-bottom:7px !important;
}

.gf-share-final-copy-main input{
    width:100% !important;
    height:46px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:14px !important;
    padding:0 14px !important;
    font-size:18px !important;
    font-weight:650 !important;
    color:#111827 !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final-copy button{
    width:120px !important;
    height:52px !important;
    border-radius:16px !important;
    border:0 !important;
    background:#16a34a !important;
    color:#fff !important;
    font-size:20px !important;
    font-weight:850 !important;
    padding:0 !important;
}

/* Floating success pill */
.gf-share-final-message{
    min-height:0 !important;
    margin-top:6px !important;
    text-align:center !important;
    color:#166534 !important;
    font-weight:850 !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    background:#ecfdf5 !important;
    border:1px solid #bbf7d0 !important;
    border-radius:999px !important;
    padding:8px 20px !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork panel */
.gf-share-right{
    min-height:0 !important;
    padding:0 !important;
    border-radius:24px !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 58%,#fff 100%) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Hard kill all share popup scrollbars */
.modal-box:has(.gf-share-final),
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final),
.gf-share-final,
.gf-share-left,
.gf-share-right{
    overflow-x:hidden !important;
    overflow-y:hidden !important;
}

.modal-box:has(.gf-share-final)::-webkit-scrollbar,
#modalContent:has(.gf-share-final)::-webkit-scrollbar,
.modal-content:has(.gf-share-final)::-webkit-scrollbar,
.gf-share-final::-webkit-scrollbar,
.gf-share-left::-webkit-scrollbar,
.gf-share-right::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
}

/* Keep mobile/tablet usable without affecting desktop */
@media(max-width:1150px){
    .modal-box:has(.gf-share-final),
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        width:94vw !important;
        height:88vh !important;
        max-width:94vw !important;
        max-height:88vh !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .gf-share-right{
        display:none !important;
    }
}

@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        height:auto !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }

    .gf-share-final-copy button{
        width:100% !important;
    }
}

@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:36px !important;
    }
}
/* Copy URL box alignment fix */

.gf-share-final-copy{
    height:82px !important;
    padding:12px 14px !important;
    align-items:center !important;
}

.gf-share-final-copy-main{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.gf-share-final-copy-main input{
    height:40px !important;
    line-height:40px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-final-copy button{
    height:50px !important;
    align-self:center !important;
}
.gf-share-final-copy{
    margin-top:10px !important;
}

.gf-share-final-copy-main strong{
    margin-bottom:5px !important;
}
/* Lift title and URL box up */

.gf-share-final-copy-main{
    position:relative !important;
    top:-12px !important;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#eef4f7;color:#071225;font-size:13px;overflow-x:auto}
button{cursor:pointer;border:1px solid #d5dee8;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;color:#071225;box-shadow:0 2px 7px rgba(0,0,0,.08)}
button:hover{border-color:#4ade80;transform:translateY(-1px)}
.app-shell{display:grid;grid-template-columns:220px minmax(900px,1fr) 260px;gap:10px;padding:8px;min-width:1350px}
.left-sidebar,.right-sidebar,.main-area{min-height:calc(100vh - 16px)}
.left-sidebar,.right-sidebar{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:10px;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.logo-card{background:linear-gradient(135deg,#f4fff8,#fff);border:1px solid #b7f7ca;border-radius:16px;padding:10px;text-align:center;margin-bottom:10px;box-shadow:0 6px 12px rgba(22,163,74,.18)}
.logo-card img{width:100%;height:105px;object-fit:contain;border-radius:12px}.logo-card strong{display:block;margin-top:4px}.category-box{border-bottom:1px solid #edf2f7;padding-bottom:8px;margin-bottom:8px}.category-box h3,.radar-box h3{font-size:13px;margin:8px 0;text-transform:uppercase}.category-box button{display:flex;justify-content:space-between;width:100%;border:0;box-shadow:none;text-align:left;background:transparent;padding:8px 6px}.category-box button:hover{background:#e9fff0}.license-note{text-align:center;font-size:12px;margin:12px 0}.buy-btn{width:100%;background:#3ddc7a;color:#052e16;border:0}.donate-btn{width:100%;background:#071225;color:#fff;border:0;margin-top:8px}
.main-area{display:flex;flex-direction:column;gap:8px}.top-header,.status-panel,.metrics-grid,.feature-tabs,.search-row,.sort-row,.content-grid,.bottom-stats{background:#fff;border:1px solid #dbe5ee;border-radius:14px;box-shadow:0 3px 10px rgba(15,23,42,.07)}
.top-header{display:grid;grid-template-columns:1fr 50px auto auto;align-items:center;gap:12px;padding:14px 18px}.top-header h1{margin:0;font-size:28px}.top-header h1 span{color:#6b7280}.top-header p{margin:3px 0;color:#475569;font-size:11px}.rocket{width:48px;height:48px;object-fit:contain}.scan-buttons,.top-actions{display:flex;gap:8px}.scan-buttons button:nth-child(1),.scan-buttons button:nth-child(2){background:#bbf7d0;color:#16a34a}.scan-buttons button:nth-child(3){background:#fff}.top-actions button{min-width:70px;font-size:12px;padding:8px}
.status-panel{display:grid;grid-template-columns:46px 1fr 60px;gap:12px;align-items:center;padding:12px 16px}.status-panel img{width:42px;height:42px}.status-panel p{margin:4px 0;color:#475569;font-size:12px}.progress-track{grid-column:1/-1;height:12px;background:#e8eef4;border-radius:20px;overflow:hidden}.progress-track div{height:100%;width:0;background:#071225;border-radius:20px;transition:.25s}
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.metric-card{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.metric-card span{font-size:12px;color:#475569}.metric-card strong{display:block;font-size:24px;margin:6px 0}.metric-card small{color:#64748b}
.feature-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.feature-tabs button{text-align:left;background:#fff}.feature-tabs button.active{background:#eafff1;border-color:#22c55e}.feature-tabs span{display:block;color:#64748b;font-size:11px;margin-top:4px}.search-row{display:grid;grid-template-columns:110px 1fr 90px 80px;gap:8px;align-items:center;padding:10px}.search-row input{padding:11px;border:1px solid #cfd9e4;border-radius:10px}.sort-row{display:flex;gap:8px;padding:10px;background:transparent;border:0;box-shadow:none}.sort-row button{padding:9px 12px}
.content-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:10px;background:transparent;border:0;box-shadow:none;min-height:430px}.database-panel,.detail-panel{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.database-panel h3{font-size:13px;margin:0 0 8px}.scan-table{height:390px;overflow:auto;border:1px solid #bbf7d0;border-radius:12px;background:#fff}.scan-table table{width:100%;border-collapse:collapse}.scan-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;text-align:left;padding:10px;font-size:12px}.scan-table td{border-top:1px solid #edf2f7;padding:8px;vertical-align:middle}.scan-table tr{cursor:pointer}.scan-table tr:hover,.scan-table tr.selected{background:#eafff1}.scan-table td img{width:42px;height:42px;object-fit:cover;border-radius:8px;margin-right:8px;vertical-align:middle}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#071225}.empty-state img{width:90px;height:90px;object-fit:contain}.empty-state p{color:#475569}
.detail-head{display:flex;justify-content:space-between;font-weight:900;margin-bottom:12px}.detail-head span{color:#0f172a}.selected-deal{background:linear-gradient(135deg,#ecfdf5,#f8fbff);border:1px solid #bbf7d0;border-radius:14px;min-height:355px;padding:18px}.selected-deal h2{margin:0 0 10px;color:#166534}.selected-deal h3{margin:0 0 12px}.selected-layout{display:grid;grid-template-columns:110px 1fr;gap:16px}.selected-layout img{width:110px;height:110px;object-fit:cover;border-radius:10px;background:#fff}.selected-layout p{margin:7px 0}.full-width{width:100%;margin-top:14px;background:#071225;color:#fff;border:0}
.bottom-stats{display:grid;grid-template-columns:110px 140px 1fr 140px;gap:8px;background:transparent;border:0;box-shadow:none}.bottom-stats>div{background:#fff;border:1px solid #dbe5ee;border-radius:12px;padding:10px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.bottom-stats strong{display:block;font-size:12px}.bottom-stats span{display:block;font-weight:900;margin:5px 0}.bottom-stats small{color:#475569}.mini-bar{height:10px;background:#e2e8f0;border-radius:20px;overflow:hidden}.mini-bar i{display:block;height:100%;width:0;background:#22c55e;border-radius:20px}
.radar-box{margin-bottom:12px}.mini-deal{display:grid;grid-template-columns:42px 1fr 28px;gap:8px;align-items:center;border:1px solid #dbe5ee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fff;cursor:pointer}.mini-deal:hover{background:#f0fdf4}.mini-deal img{width:42px;height:42px;object-fit:cover;border-radius:8px}.mini-deal strong{display:block;font-size:11px}.mini-deal span{display:block;color:#475569;font-size:11px}.mini-deal b{text-align:right;font-size:18px}.radar-box>button{width:100%;padding:9px}.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.quick-actions button{font-size:11px;padding:8px}
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;z-index:50}.modal-overlay.show{display:flex}.modal-box{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:680px;width:92%;max-height:88vh;overflow:auto;padding:24px;position:relative}.modal-close{position:absolute;top:10px;right:10px;border-radius:50%;width:34px;height:34px;padding:0}.modal-banner{width:100%;border-radius:14px;margin:10px 0}.ai-verdict{background:#eafff1;border:1px solid #22c55e;border-radius:12px;padding:12px;font-weight:900;margin:12px 0}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-grid label{font-weight:800}.calc-grid input{width:100%;padding:10px;border:1px solid #cfd9e4;border-radius:10px;margin-top:5px}.calc-result{margin-top:12px;background:#f8fafc;border-radius:12px;padding:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:180px minmax(760px,1fr);}.right-sidebar{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.feature-tabs{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.bottom-stats{grid-template-columns:1fr 1fr}.top-header{grid-template-columns:1fr}}


/* Patch 0.7 scan controls */
.scan-mode-buttons button{min-width:118px}
.scan-mode-buttons .active{background:#22c55e!important;color:#052e16!important;border-color:#16a34a!important}
.deep-scan-btn{background:#dbeafe!important;color:#0f172a!important}
.stop-scan-btn{background:#fff!important;color:#071225!important}
.search-row{grid-template-columns:110px 1fr 105px 105px 80px}

/* --- GrowFlow Tutorial Guide Popup Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }
}
/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- Patch 0.9 resale input additions --- */

.resale-input-box{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #dbe5ee;
    border-radius:14px;
    box-shadow:0 3px 10px rgba(15,23,42,.07);
    padding:10px;
    margin-top:8px;
}

.resale-input-box label{
    font-weight:900;
    color:#064e3b;
}

.resale-input-box input{
    width:110px;
    padding:9px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    font-weight:800;
}

.resale-input-box button{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.selected-layout hr{
    border:0;
    border-top:1px solid #bbf7d0;
    margin:8px 0;
}

/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .resale-input-box{
        flex-wrap:wrap;
    }

    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- GrowFlow Patch 1.1 Licence Splash / CD-Key Gate --- */

.gf-license-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.25), transparent 35%),
        linear-gradient(135deg,#052e16,#071225);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.gf-license-window{
    width:min(980px,96vw);
    min-height:560px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 30px 100px rgba(0,0,0,.5);
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
}

.gf-license-left{
    background:
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(220,252,231,.96)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-fruit-character{
    width:92px;
    height:92px;
    border-radius:24px;
    background:#dcfce7;
    border:2px solid #22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:54px;
    box-shadow:0 12px 28px rgba(22,163,74,.25);
    margin-bottom:18px;
}

.gf-license-left h1{
    margin:0;
    color:#064e3b;
    font-size:38px;
    line-height:1.05;
}

.gf-tagline{
    color:#0f172a;
    font-size:16px;
    margin:14px 0 20px;
}

.gf-splash-points{
    display:grid;
    gap:10px;
}

.gf-splash-points div{
    background:rgba(255,255,255,.8);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:12px;
    font-weight:800;
    color:#064e3b;
}

.gf-license-right{
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-license-right h2{
    margin:0 0 8px;
    color:#064e3b;
    font-size:28px;
}

.gf-license-right h3{
    margin:0 0 6px;
    color:#071225;
}

.gf-license-right p{
    color:#475569;
    line-height:1.45;
}

.gf-license-right label{
    color:#064e3b;
    font-weight:900;
    margin-bottom:6px;
}

.gf-trial-key-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
    margin:6px 0 4px;
}

.gf-trial-key-box code{
    background:#f8fafc;
    border:2px dashed #22c55e;
    color:#071225;
    font-size:24px;
    font-weight:900;
    letter-spacing:2px;
    padding:14px;
    border-radius:14px;
    text-align:center;
}

.gf-trial-key-box button,
.gf-start-trial,
.gf-unlock-btn,
.gf-buy-btn{
    border:0;
    border-radius:14px;
    padding:13px 16px;
    font-weight:900;
    cursor:pointer;
}

.gf-trial-key-box button{
    background:#071225;
    color:white;
}

.gf-start-trial{
    background:#16a34a;
    color:white;
    margin-top:10px;
    width:100%;
}

.gf-divider{
    height:1px;
    background:#e2e8f0;
    margin:22px 0;
}

.gf-license-input{
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:14px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
    margin:8px 0;
    width:100%;
}

.gf-unlock-btn{
    background:#071225;
    color:#fff;
    width:100%;
    margin-top:8px;
}

.gf-buy-btn{
    background:#facc15;
    color:#052e16;
    width:100%;
    margin-top:8px;
}

.gf-license-msg,
.gf-copy-msg{
    min-height:18px;
    color:#166534;
    font-weight:800;
}

.gf-license-badge{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:900;
    background:#071225;
    color:#fff;
    border-radius:999px;
    padding:8px 8px 8px 14px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    display:flex;
    gap:10px;
    align-items:center;
    font-weight:800;
}

.gf-license-badge button{
    border:0;
    background:#22c55e;
    color:#052e16;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}

.gf-locked-search{
    background:#f1f5f9 !important;
    color:#64748b !important;
    border-color:#cbd5e1 !important;
}

.gf-search-lock-note,
.gf-search-unlocked-note{
    background:#fff7ed;
    border:1px solid #fdba74;
    color:#7c2d12;
    border-radius:12px;
    padding:9px 12px;
    font-weight:800;
    margin:8px 0;
}

.gf-search-unlocked-note{
    background:#ecfdf5;
    border-color:#22c55e;
    color:#064e3b;
}

.gf-feature-locked-btn{
    background:#facc15 !important;
    color:#052e16 !important;
    border-color:#facc15 !important;
}

@media(max-width:800px){
    .gf-license-window{
        grid-template-columns:1fr;
        max-height:92vh;
        overflow:auto;
    }

    .gf-license-left,
    .gf-license-right{
        padding:24px;
    }

    .gf-license-left h1{
        font-size:30px;
    }

    .gf-trial-key-box{
        grid-template-columns:1fr;
    }

    .gf-license-badge{
        left:12px;
        right:12px;
        bottom:12px;
        justify-content:space-between;
    }
}
/* --- GrowFlow Patch 1.2 Logo Splash + Clear Tutorial --- */

.gf-logo-splash{
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(220,252,231,.98)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
}

.gf-splash-logo-wrap{
    background:white;
    border:2px solid #bbf7d0;
    border-radius:24px;
    padding:16px;
    width:220px;
    max-width:100%;
    box-shadow:0 12px 30px rgba(22,163,74,.22);
    margin-bottom:18px;
}

.gf-splash-logo{
    width:100%;
    height:150px;
    object-fit:contain;
    display:block;
}

.gf-small-character{
    width:64px;
    height:64px;
    font-size:38px;
    margin-bottom:14px;
}

.hydro-instructions-modal h2{
    font-size:30px;
    color:#064e3b;
}

.guide-alert{
    background:#ecfdf5;
    border:2px solid #22c55e;
    color:#064e3b;
    border-radius:14px;
    padding:12px 14px;
    font-weight:900;
    margin:12px 0 16px;
}

.hydro-instructions-modal .guide-tabs button{
    font-size:15px;
    padding:13px;
}

.hydro-instructions-modal .guide-tabs button.active{
    background:#16a34a;
    color:#fff;
    border-color:#16a34a;
}
/* ===== Patch 1.3 START HERE button ===== */

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    position:relative;
    background:linear-gradient(180deg,#34d399,#16a34a);
    color:#fff;
    border:2px solid #15803d;
    font-weight:900;
    transform:scale(1.06);
    box-shadow:0 6px 18px rgba(22,163,74,.35);
    overflow:hidden;
}

#towerGuideBtn strong{
    display:block;
    font-size:17px;
    letter-spacing:.5px;
}

#towerGuideBtn span{
    display:block;
    font-size:11px;
    opacity:.95;
}

#towerGuideBtn:hover,
button[onclick="openTutorialPopup()"]:hover{
    transform:scale(1.10);
}

.guideBadge{
    margin-top:6px;
    font-size:10px;
    background:rgba(255,255,255,.22);
    border-radius:999px;
    padding:3px 8px;
}

@keyframes guidePulse{
    0%{transform:scale(1.06);}
    50%{transform:scale(1.12);}
    100%{transform:scale(1.06);}
}

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    animation:guidePulse 2.8s infinite;
}

.hydro-instructions-modal h2:before{
    content:"🌱 ";
}
/*
Patch 1.3 - START HERE button

1. In your toolbar/index.html replace the old tutorial button with:

<button id="towerGuideBtn" onclick="openTutorialPopup()">
    <strong>🌱 START HERE</strong>
    <span>Hydro Tower Instructions</span>
</button>

2. Paste this block at the END of app.js
*/



.share-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:14px;
}

.share-grid button{
    padding:14px;
    border-radius:14px;
    font-weight:900;
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin-top:12px;
}

/* ===== GrowFlow Patch 1.5 — Premium Share Popup with fire.gif ===== */

.share-modal-premium{
    color:#071225;
    padding:4px;
}

.share-premium-hero{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:20px;
    align-items:center;
    background:
        radial-gradient(circle at 12% 15%, rgba(34,197,94,.18), transparent 28%),
        radial-gradient(circle at 85% 20%, rgba(59,130,246,.14), transparent 30%),
        linear-gradient(135deg,#ffffff,#f0fdf4);
    border:2px solid #86efac;
    border-radius:28px;
    padding:24px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
}

.share-fire-icon{
    width:96px;
    height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#ecfdf5,#dcfce7);
    border:2px solid #86efac;
    box-shadow:0 0 0 10px rgba(34,197,94,.10), 0 14px 34px rgba(34,197,94,.28);
    overflow:hidden;
}

.share-fire-icon img{
    width:78px;
    height:78px;
    object-fit:contain;
    display:block;
}

.share-premium-title h2{
    margin:0;
    font-size:44px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.share-premium-title h2 span{
    color:#16a34a;
}

.share-premium-title p{
    margin:12px 0 0;
    font-size:19px;
    color:#334155;
    max-width:620px;
}

.share-premium-mega{
    font-size:72px;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));
}

.share-callout{
    margin:18px auto;
    width:max-content;
    max-width:100%;
    background:rgba(236,253,245,.92);
    border:1px solid #bbf7d0;
    color:#047857;
    border-radius:999px;
    padding:11px 22px;
    font-size:17px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.share-button-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.brand-share{
    min-height:102px;
    border:0;
    border-radius:20px;
    color:white;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:16px;
    text-align:left;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.20);
    transition:transform .18s ease, box-shadow .18s ease;
    overflow:hidden;
    position:relative;
}

.brand-share:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 45%);
    pointer-events:none;
}

.brand-share:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 18px 38px rgba(15,23,42,.28);
}

.brand-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#071225;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:1000;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    z-index:1;
}

.brand-share strong{
    display:block;
    font-size:19px;
    z-index:1;
}

.brand-share span{
    display:block;
    font-size:13px;
    opacity:.94;
    margin-top:4px;
    z-index:1;
}

.brand-share em{
    font-style:normal;
    font-size:34px;
    opacity:.9;
    z-index:1;
}

.brand-share.whatsapp{background:linear-gradient(135deg,#25D366,#059669);}
.brand-share.facebook{background:linear-gradient(135deg,#1877F2,#075ac4);}
.brand-share.twitter{background:linear-gradient(135deg,#111827,#000000);}
.brand-share.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9);}
.brand-share.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);}
.brand-share.tiktok{background:linear-gradient(135deg,#000000,#111827);}
.brand-share.copy{background:linear-gradient(135deg,#22c55e,#0f766e);}
.brand-share.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    color:#0f172a;
    border:1px solid #dbe5ee;
}

.share-copy-panel{
    margin-top:20px;
    background:linear-gradient(135deg,#ecfdf5,#f8fffb);
    border:1px solid #86efac;
    border-radius:22px;
    padding:18px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
}

.copy-panel-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:linear-gradient(180deg,#22c55e,#15803d);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    box-shadow:0 10px 24px rgba(22,163,74,.25);
}

.copy-panel-text strong{
    display:block;
    color:#064e3b;
    font-size:18px;
    margin-bottom:8px;
}

.copy-panel-text input{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:13px;
    font-weight:800;
    color:#0f172a;
    background:white;
}

.share-copy-panel button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:14px;
    padding:14px 22px;
    font-weight:1000;
    box-shadow:0 8px 20px rgba(22,163,74,.22);
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin:12px 0 0;
}

.share-thanks{
    text-align:center;
    margin-top:16px;
    color:#166534;
    font-weight:900;
}

@media(max-width:1100px){
    .share-button-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px){
    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-premium-title h2{
        font-size:34px;
    }

    .share-button-grid{
        grid-template-columns:1fr;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }
}

/* ===== GrowFlow Patch 1.6 — Share modal less squashed =====
   Paste this at the very bottom of static/style.css.
   It overrides Patch 1.5 share modal sizing.
*/

.share-modal-premium{
    width:1100px;
    max-width:94vw;
}

.share-premium-hero{
    padding:22px 28px;
}

.share-premium-title h2{
    font-size:42px;
}

.share-premium-title p{
    font-size:18px;
    line-height:1.35;
}

.share-fire-icon{
    width:92px;
    height:92px;
}

.share-fire-icon img{
    width:76px;
    height:76px;
}

.share-premium-mega{
    font-size:66px;
}

.share-callout{
    margin:16px auto;
    padding:10px 22px;
    font-size:17px;
}

/* Main fix: two columns instead of four cramped columns */
.share-button-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px;
}

.brand-share{
    min-height:76px !important;
    padding:14px 18px !important;
    grid-template-columns:58px 1fr 24px;
}

.brand-icon{
    width:52px;
    height:52px;
    font-size:28px;
}

.brand-share strong{
    font-size:18px;
    line-height:1.1;
}

.brand-share span{
    white-space:nowrap;
    font-size:13px;
    line-height:1.2;
}

.brand-share em{
    font-size:28px;
}

/* Link panel gets more breathing room */
.share-copy-panel{
    grid-template-columns:64px 1fr 110px;
    gap:14px;
    padding:16px 18px;
}

.copy-panel-icon{
    width:58px;
    height:58px;
    font-size:30px;
}

.copy-panel-text strong{
    font-size:18px;
}

.copy-panel-text input{
    font-size:16px;
    padding:13px 14px;
}

.share-copy-panel button{
    padding:13px 20px;
}

.share-thanks{
    margin-top:14px;
    font-size:15px;
}

/* On smaller screens keep it tidy */
@media(max-width:760px){
    .share-modal-premium{
        width:auto;
    }

    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-button-grid{
        grid-template-columns:1fr !important;
    }

    .brand-share{
        min-height:74px !important;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }

    .brand-share span{
        white-space:normal;
    }
}

/*
GrowFlow Patch 1.5 — Premium Share Popup + fire.gif icon

Install:
1. Paste this file at the BOTTOM of static/app.js.
   It overrides your old openSharePopup() with the new design.

2. Paste style_share_firegif.css at the BOTTOM of static/style.css.

3. Make sure this file exists:
   static/assets/fire.gif

4. Hard refresh:
   Ctrl + F5
*/

/* ===== GrowFlow Patch 1.8 — Polished Share Popup Fix =====
   Paste at the VERY BOTTOM of style.css so it overrides older share styles.
*/

/* Force the existing modal shell to become the right size */
#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent,
.modal-content{
    box-sizing:border-box !important;
}

#modalContent:has(.gf-share-pro),
.modal-content:has(.gf-share-pro){
    width:min(1050px,94vw) !important;
    max-width:1050px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:26px !important;
    border-radius:26px !important;
}

/* Popup body */
.gf-share-pro{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    color:#071225 !important;
    font-family:inherit !important;
    overflow:hidden !important;
}

/* Hero */
.gf-share-hero{
    display:grid !important;
    grid-template-columns:88px 1fr 80px !important;
    gap:18px !important;
    align-items:center !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(34,197,94,.20), transparent 32%),
        linear-gradient(135deg,#ffffff,#f0fdf4) !important;
    border:2px solid #86efac !important;
    border-radius:22px !important;
    padding:18px 22px !important;
    margin:0 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.gf-share-fire{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    border-radius:50% !important;
    background:#dcfce7 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.22) !important;
}

.gf-share-fire img{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
}

.gf-share-title h2{
    margin:0 !important;
    padding:0 !important;
    font-size:40px !important;
    line-height:1 !important;
    letter-spacing:-.8px !important;
    color:#071225 !important;
    white-space:nowrap !important;
}

.gf-share-title h2 span{
    color:#16a34a !important;
}

.gf-share-title p{
    margin:8px 0 0 !important;
    padding:0 !important;
    font-size:16px !important;
    color:#334155 !important;
    line-height:1.25 !important;
    max-width:650px !important;
    white-space:normal !important;
}

.gf-share-mega{
    font-size:54px !important;
    line-height:1 !important;
    text-align:center !important;
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.14)) !important;
}

/* Callout */
.gf-share-strip{
    margin:14px auto !important;
    width:max-content !important;
    max-width:94% !important;
    text-align:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:999px !important;
    padding:9px 20px !important;
    font-size:16px !important;
    font-weight:1000 !important;
}

/* Cards */
.gf-share-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-btn{
    appearance:none !important;
    border:0 !important;
    border-radius:18px !important;
    min-height:88px !important;
    padding:12px !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:46px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:0 10px 22px rgba(15,23,42,.18) !important;
    transition:transform .14s ease, box-shadow .14s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.26) !important;
}

.gf-share-btn i{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:#071225 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-style:normal !important;
    font-size:23px !important;
    font-weight:1000 !important;
    box-shadow:0 6px 14px rgba(0,0,0,.14) !important;
}

.gf-share-btn div{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
    min-width:0 !important;
}

.gf-share-btn b{
    display:block !important;
    font-size:17px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.gf-share-btn span{
    display:block !important;
    font-size:12px !important;
    line-height:1.15 !important;
    opacity:.95 !important;
    white-space:normal !important;
}

.gf-share-btn.whatsapp{background:linear-gradient(135deg,#25D366,#059669) !important;}
.gf-share-btn.facebook{background:linear-gradient(135deg,#1877F2,#075ac4) !important;}
.gf-share-btn.twitter{background:linear-gradient(135deg,#111827,#000000) !important;}
.gf-share-btn.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9) !important;}
.gf-share-btn.instagram{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-btn.tiktok{background:linear-gradient(135deg,#020617,#111827) !important;}
.gf-share-btn.copy{background:linear-gradient(135deg,#22c55e,#0f766e) !important;}
.gf-share-btn.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc) !important;
    color:#0f172a !important;
    border:1px solid #dbe5ee !important;
}

/* Copy box */
.gf-share-copybox{
    margin-top:14px !important;
    display:grid !important;
    grid-template-columns:56px 1fr 100px !important;
    gap:12px !important;
    align-items:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:13px !important;
    box-sizing:border-box !important;
}

.gf-share-link-icon{
    width:50px !important;
    height:50px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:25px !important;
    box-shadow:0 8px 18px rgba(22,163,74,.22) !important;
}

.gf-share-copytext strong{
    display:block !important;
    color:#064e3b !important;
    font-size:16px !important;
    margin-bottom:7px !important;
}

.gf-share-copytext input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:11px 12px !important;
    font-weight:900 !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-copybox button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

.gf-share-message{
    text-align:center !important;
    margin-top:12px !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:20px !important;
}

.gf-share-message.copied{
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:7px 12px !important;
}

/* Medium screens */
@media(max-width:900px){
    #modalContent:has(.gf-share-pro),
    .modal-content:has(.gf-share-pro){
        overflow:auto !important;
    }

    .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-hero{
        grid-template-columns:76px 1fr !important;
    }

    .gf-share-mega{
        display:none !important;
    }

    .gf-share-title h2{
        font-size:34px !important;
    }
}

/* Phone */
@media(max-width:560px){
    .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-link-icon{
        margin:auto !important;
    }
}
/* ===== GrowFlow Patch 1.9 — Compact Desktop Share Popup =====
   Paste at the VERY BOTTOM of style.css.
*/

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent:has(.gf-share-compact),
.modal-content:has(.gf-share-compact){
    width:min(1040px,94vw) !important;
    max-width:1040px !important;
    max-height:88vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:20px !important;
    border-radius:24px !important;
}

/* body */
.gf-share-compact{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

/* smaller hero */
.gf-share-compact .gf-share-hero{
    padding:12px 18px !important;
    grid-template-columns:66px 1fr 58px !important;
    gap:14px !important;
    border-radius:20px !important;
}

.gf-share-compact .gf-share-fire{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
}

.gf-share-compact .gf-share-fire img{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
}

.gf-share-compact .gf-share-title h2{
    font-size:34px !important;
}

.gf-share-compact .gf-share-title p{
    font-size:14px !important;
    margin-top:5px !important;
    line-height:1.2 !important;
}

.gf-share-compact .gf-share-mega{
    font-size:42px !important;
}

/* smaller callout */
.gf-share-compact .gf-share-strip{
    margin:10px auto !important;
    padding:7px 16px !important;
    font-size:14px !important;
}

/* smaller cards */
.gf-share-compact .gf-share-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn{
    min-height:74px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    grid-template-columns:40px 1fr !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn i{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:20px !important;
}

.gf-share-compact .gf-share-btn b{
    font-size:15px !important;
}

.gf-share-compact .gf-share-btn span{
    font-size:11px !important;
    line-height:1.1 !important;
}

/* compact copy box */
.gf-share-compact .gf-share-copybox{
    margin-top:10px !important;
    grid-template-columns:46px 1fr 90px !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:16px !important;
}

.gf-share-compact .gf-share-link-icon{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
}

.gf-share-compact .gf-share-copytext strong{
    font-size:14px !important;
    margin-bottom:5px !important;
}

.gf-share-compact .gf-share-copytext input{
    padding:9px 10px !important;
    font-size:13px !important;
}

.gf-share-compact .gf-share-copybox button{
    padding:10px !important;
    font-size:13px !important;
}

/* message hidden until action */
.gf-share-compact .gf-share-message{
    min-height:0 !important;
    margin-top:8px !important;
    text-align:center !important;
    font-size:13px !important;
    color:#166534 !important;
    font-weight:1000 !important;
}

.gf-share-compact .gf-share-message:empty{
    display:none !important;
}

.gf-share-compact .gf-share-message.copied{
    display:block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:6px 10px !important;
}

/* medium */
@media(max-width:900px){
    #modalContent:has(.gf-share-compact),
    .modal-content:has(.gf-share-compact){
        max-height:92vh !important;
    }

    .gf-share-compact .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:58px 1fr !important;
    }

    .gf-share-compact .gf-share-mega{
        display:none !important;
    }
}

/* phone */
@media(max-width:560px){
    .gf-share-compact .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-compact .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-compact .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-link-icon{
        margin:auto !important;
    }
}

/* ===== GrowFlow Patch 2.1 — socialshare.png Share Window ===== */

#modalContent:has(.socialshare-window),
.modal-content:has(.socialshare-window){
    width:min(1320px,96vw) !important;
    max-width:1320px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
}

.socialshare-window{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:24px;
    color:#071225;
    overflow:hidden;
}

.socialshare-left{
    min-width:0;
}

.socialshare-hero{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:14px;
}

.socialshare-fire{
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    border:2px solid #86efac;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.20);
    overflow:hidden;
}

.socialshare-fire img{
    width:54px;
    height:54px;
    object-fit:contain;
}

.socialshare-hero h2{
    margin:0;
    font-size:42px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.socialshare-hero h2 span{
    color:#16a34a;
}

.socialshare-hero p{
    margin:8px 0 0;
    font-size:17px;
    color:#334155;
    line-height:1.25;
}

.socialshare-callout{
    background:#ecfdf5;
    border:1px solid #86efac;
    color:#047857;
    border-radius:16px;
    padding:11px 16px;
    font-weight:1000;
    text-align:center;
    margin-bottom:14px;
}

.socialshare-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.socialshare-card{
    position:relative;
    min-height:128px;
    border:1px solid #dbe5ee;
    background:#fff;
    border-radius:18px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(15,23,42,.10);
    transition:.16s ease;
    overflow:hidden;
}

.socialshare-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.18);
}

.socialshare-card i{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:28px;
    font-style:normal;
    font-weight:1000;
}

.socialshare-card b{
    font-size:17px;
    line-height:1;
    color:#071225;
}

.socialshare-card span{
    font-size:12px;
    color:#334155;
    text-align:center;
}

.socialshare-card small{
    position:absolute;
    left:12px;
    right:12px;
    bottom:9px;
    background:#16a34a;
    color:white;
    border-radius:999px;
    padding:5px;
    font-size:12px;
    font-weight:1000;
    opacity:0;
    transform:translateY(6px);
    transition:.16s ease;
}

.socialshare-card.copied small{
    opacity:1;
    transform:translateY(0);
}

.socialshare-card.whatsapp i{background:#25D366;}
.socialshare-card.facebook i{background:#1877F2;}
.socialshare-card.twitter i{background:#000;}
.socialshare-card.email i{background:#7c3aed;}
.socialshare-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea);}
.socialshare-card.tiktok i{background:#020617;}
.socialshare-card.copy i{background:#16a34a;}
.socialshare-card.more i{background:#f8fafc;color:#071225;border:1px solid #dbe5ee;}

.socialshare-copybox{
    margin-top:14px;
    background:#ecfdf5;
    border:1px solid #86efac;
    border-radius:18px;
    padding:14px;
    display:grid;
    grid-template-columns:54px 1fr 96px;
    gap:12px;
    align-items:center;
}

.copy-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#16a34a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.socialshare-copybox strong{
    display:block;
    color:#064e3b;
    margin-bottom:6px;
}

.socialshare-copybox input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:11px 12px;
    font-weight:900;
}

.socialshare-copybox button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:12px;
    padding:12px;
    font-weight:1000;
    cursor:pointer;
}

.socialshare-message{
    text-align:center;
    color:#166534;
    font-weight:1000;
    min-height:0;
    margin-top:10px;
}

.socialshare-message.show{
    background:#dcfce7;
    border:1px solid #86efac;
    border-radius:999px;
    padding:7px 12px;
}

.socialshare-right{
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at center, #fff7d6 0%, #f0fdf4 58%, #ffffff 100%);
    border-radius:24px;
    overflow:hidden;
    min-height:620px;
}

.socialshare-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Medium screens */
@media(max-width:1100px){
    .socialshare-window{
        grid-template-columns:1fr;
        max-height:88vh;
        overflow:auto;
    }

    .socialshare-right{
        min-height:300px;
        max-height:360px;
    }

    .socialshare-right img{
        object-fit:contain;
    }
}

/* Smaller */
@media(max-width:760px){
    #modalContent:has(.socialshare-window),
    .modal-content:has(.socialshare-window){
        overflow:auto !important;
        padding:18px !important;
    }

    .socialshare-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .socialshare-copybox{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-icon{
        margin:auto;
    }
}

/* Phone */
@media(max-width:500px){
    .socialshare-grid{
        grid-template-columns:1fr;
    }

    .socialshare-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .socialshare-fire{
        margin:auto;
    }

    .socialshare-hero h2{
        font-size:34px;
    }
}
/* ===== GrowFlow FINAL Share Popup Patch =====
   Paste at the VERY BOTTOM of static/style.css.
*/

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:min(1360px,96vw) !important;
    max-width:1360px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final{
    display:grid !important;
    grid-template-columns:minmax(620px,1fr) 440px !important;
    gap:24px !important;
    width:100% !important;
    color:#071225 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.gf-share-left{
    min-width:0 !important;
}

/* Hero */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:105px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:16px !important;
}

.gf-share-final-fire{
    width:95px !important;
    height:95px !important;
    border-radius:50% !important;
    background:#eefcf0 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 6px 20px rgba(34,197,94,.18) !important;
}

.gf-share-final-fire img{
    width:68px !important;
    height:68px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:52px !important;
    line-height:1 !important;
    letter-spacing:-1px !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:10px 0 0 !important;
    font-size:19px !important;
    line-height:1.28 !important;
    color:#334155 !important;
    max-width:620px !important;
}

/* Callout */
.gf-share-final-callout{
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:16px !important;
    padding:12px 16px !important;
    font-weight:1000 !important;
    text-align:center !important;
    font-size:17px !important;
    margin-bottom:16px !important;
}

/* Cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    position:relative !important;
    min-height:150px !important;
    border:1px solid #dbe5ee !important;
    background:#fff !important;
    border-radius:20px !important;
    padding:18px 14px 42px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    cursor:pointer !important;
    box-shadow:0 8px 22px rgba(15,23,42,.10) !important;
    transition:.16s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.18) !important;
}

.gf-share-final-card i{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:white !important;
    font-size:31px !important;
    font-style:normal !important;
    font-weight:1000 !important;
}

.gf-share-final-card b{
    color:#071225 !important;
    font-size:18px !important;
    line-height:1.05 !important;
    text-align:center !important;
    white-space:nowrap !important;
}

.gf-share-final-card span{
    color:#334155 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    bottom:12px !important;
    background:#16a34a !important;
    color:white !important;
    border-radius:999px !important;
    padding:7px !important;
    font-size:12px !important;
    font-weight:1000 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
    pointer-events:none !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Icon colours */
.gf-share-final-card.whatsapp i{background:#25D366 !important;}
.gf-share-final-card.facebook i{background:#1877F2 !important;}
.gf-share-final-card.twitter i{background:#000 !important;}
.gf-share-final-card.email i{background:#7c3aed !important;}
.gf-share-final-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-final-card.tiktok i{background:#020617 !important;}
.gf-share-final-card.copy i{background:#16a34a !important;}
.gf-share-final-card.more i{
    background:#f8fafc !important;
    color:#071225 !important;
    border:1px solid #dbe5ee !important;
}

/* Copy section */
/* Final copy bar alignment fix */

.gf-share-final-copy{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;

    height:76px !important;
    padding:12px 16px !important;

    box-sizing:border-box !important;
}

.gf-share-final-copy-icon{
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
}

.gf-share-final-copy-main{
    flex:1 !important;
    min-width:0 !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.gf-share-final-copy-main strong{
    margin:0 0 4px 0 !important;
    line-height:1.1 !important;
}

.gf-share-final-copy-main input{
    height:38px !important;
    margin:0 !important;
    padding:0 14px !important;

    line-height:38px !important;
    box-sizing:border-box !important;
}

.gf-share-final-copy button{
    flex:0 0 120px !important;

    width:120px !important;
    height:50px !important;

    margin:0 !important;
    padding:0 !important;

    align-self:center !important;
}

/* Floating feedback */
.gf-share-final-message{
    text-align:center !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:0 !important;
    margin-top:10px !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:8px 18px !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork */
.gf-share-right{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 60%,#fff 100%) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    min-height:620px !important;
    padding:6px !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    max-height:620px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Medium desktop/tablet */
@media(max-width:1150px){
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        overflow:auto !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
    }

    .gf-share-right{
        min-height:280px !important;
        max-height:360px !important;
    }

    .gf-share-right img{
        height:100% !important;
        width:auto !important;
    }
}

/* Smaller */
@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }
}

/* Phone */
@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:34px !important;
    }
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#eef4f7;color:#071225;font-size:13px;overflow-x:auto}
button{cursor:pointer;border:1px solid #d5dee8;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;color:#071225;box-shadow:0 2px 7px rgba(0,0,0,.08)}
button:hover{border-color:#4ade80;transform:translateY(-1px)}
.app-shell{display:grid;grid-template-columns:220px minmax(900px,1fr) 260px;gap:10px;padding:8px;min-width:1350px}
.left-sidebar,.right-sidebar,.main-area{min-height:calc(100vh - 16px)}
.left-sidebar,.right-sidebar{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:10px;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.logo-card{background:linear-gradient(135deg,#f4fff8,#fff);border:1px solid #b7f7ca;border-radius:16px;padding:10px;text-align:center;margin-bottom:10px;box-shadow:0 6px 12px rgba(22,163,74,.18)}
.logo-card img{width:100%;height:105px;object-fit:contain;border-radius:12px}.logo-card strong{display:block;margin-top:4px}.category-box{border-bottom:1px solid #edf2f7;padding-bottom:8px;margin-bottom:8px}.category-box h3,.radar-box h3{font-size:13px;margin:8px 0;text-transform:uppercase}.category-box button{display:flex;justify-content:space-between;width:100%;border:0;box-shadow:none;text-align:left;background:transparent;padding:8px 6px}.category-box button:hover{background:#e9fff0}.license-note{text-align:center;font-size:12px;margin:12px 0}.buy-btn{width:100%;background:#3ddc7a;color:#052e16;border:0}.donate-btn{width:100%;background:#071225;color:#fff;border:0;margin-top:8px}
.main-area{display:flex;flex-direction:column;gap:8px}.top-header,.status-panel,.metrics-grid,.feature-tabs,.search-row,.sort-row,.content-grid,.bottom-stats{background:#fff;border:1px solid #dbe5ee;border-radius:14px;box-shadow:0 3px 10px rgba(15,23,42,.07)}
.top-header{display:grid;grid-template-columns:1fr 50px auto auto;align-items:center;gap:12px;padding:14px 18px}.top-header h1{margin:0;font-size:28px}.top-header h1 span{color:#6b7280}.top-header p{margin:3px 0;color:#475569;font-size:11px}.rocket{width:48px;height:48px;object-fit:contain}.scan-buttons,.top-actions{display:flex;gap:8px}.scan-buttons button:nth-child(1),.scan-buttons button:nth-child(2){background:#bbf7d0;color:#16a34a}.scan-buttons button:nth-child(3){background:#fff}.top-actions button{min-width:70px;font-size:12px;padding:8px}
.status-panel{display:grid;grid-template-columns:46px 1fr 60px;gap:12px;align-items:center;padding:12px 16px}.status-panel img{width:42px;height:42px}.status-panel p{margin:4px 0;color:#475569;font-size:12px}.progress-track{grid-column:1/-1;height:12px;background:#e8eef4;border-radius:20px;overflow:hidden}.progress-track div{height:100%;width:0;background:#071225;border-radius:20px;transition:.25s}
.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.metric-card{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.metric-card span{font-size:12px;color:#475569}.metric-card strong{display:block;font-size:24px;margin:6px 0}.metric-card small{color:#64748b}
.feature-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:transparent;border:0;box-shadow:none}.feature-tabs button{text-align:left;background:#fff}.feature-tabs button.active{background:#eafff1;border-color:#22c55e}.feature-tabs span{display:block;color:#64748b;font-size:11px;margin-top:4px}.search-row{display:grid;grid-template-columns:110px 1fr 90px 80px;gap:8px;align-items:center;padding:10px}.search-row input{padding:11px;border:1px solid #cfd9e4;border-radius:10px}.sort-row{display:flex;gap:8px;padding:10px;background:transparent;border:0;box-shadow:none}.sort-row button{padding:9px 12px}
.content-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:10px;background:transparent;border:0;box-shadow:none;min-height:430px}.database-panel,.detail-panel{background:#fff;border:1px solid #dbe5ee;border-radius:14px;padding:12px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.database-panel h3{font-size:13px;margin:0 0 8px}.scan-table{height:390px;overflow:auto;border:1px solid #bbf7d0;border-radius:12px;background:#fff}.scan-table table{width:100%;border-collapse:collapse}.scan-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;text-align:left;padding:10px;font-size:12px}.scan-table td{border-top:1px solid #edf2f7;padding:8px;vertical-align:middle}.scan-table tr{cursor:pointer}.scan-table tr:hover,.scan-table tr.selected{background:#eafff1}.scan-table td img{width:42px;height:42px;object-fit:cover;border-radius:8px;margin-right:8px;vertical-align:middle}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#071225}.empty-state img{width:90px;height:90px;object-fit:contain}.empty-state p{color:#475569}
.detail-head{display:flex;justify-content:space-between;font-weight:900;margin-bottom:12px}.detail-head span{color:#0f172a}.selected-deal{background:linear-gradient(135deg,#ecfdf5,#f8fbff);border:1px solid #bbf7d0;border-radius:14px;min-height:355px;padding:18px}.selected-deal h2{margin:0 0 10px;color:#166534}.selected-deal h3{margin:0 0 12px}.selected-layout{display:grid;grid-template-columns:110px 1fr;gap:16px}.selected-layout img{width:110px;height:110px;object-fit:cover;border-radius:10px;background:#fff}.selected-layout p{margin:7px 0}.full-width{width:100%;margin-top:14px;background:#071225;color:#fff;border:0}
.bottom-stats{display:grid;grid-template-columns:110px 140px 1fr 140px;gap:8px;background:transparent;border:0;box-shadow:none}.bottom-stats>div{background:#fff;border:1px solid #dbe5ee;border-radius:12px;padding:10px;box-shadow:0 3px 10px rgba(15,23,42,.08)}.bottom-stats strong{display:block;font-size:12px}.bottom-stats span{display:block;font-weight:900;margin:5px 0}.bottom-stats small{color:#475569}.mini-bar{height:10px;background:#e2e8f0;border-radius:20px;overflow:hidden}.mini-bar i{display:block;height:100%;width:0;background:#22c55e;border-radius:20px}
.radar-box{margin-bottom:12px}.mini-deal{display:grid;grid-template-columns:42px 1fr 28px;gap:8px;align-items:center;border:1px solid #dbe5ee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fff;cursor:pointer}.mini-deal:hover{background:#f0fdf4}.mini-deal img{width:42px;height:42px;object-fit:cover;border-radius:8px}.mini-deal strong{display:block;font-size:11px}.mini-deal span{display:block;color:#475569;font-size:11px}.mini-deal b{text-align:right;font-size:18px}.radar-box>button{width:100%;padding:9px}.quick-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.quick-actions button{font-size:11px;padding:8px}
.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;z-index:50}.modal-overlay.show{display:flex}.modal-box{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-width:680px;width:92%;max-height:88vh;overflow:auto;padding:24px;position:relative}.modal-close{position:absolute;top:10px;right:10px;border-radius:50%;width:34px;height:34px;padding:0}.modal-banner{width:100%;border-radius:14px;margin:10px 0}.ai-verdict{background:#eafff1;border:1px solid #22c55e;border-radius:12px;padding:12px;font-weight:900;margin:12px 0}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-grid label{font-weight:800}.calc-grid input{width:100%;padding:10px;border:1px solid #cfd9e4;border-radius:10px;margin-top:5px}.calc-result{margin-top:12px;background:#f8fafc;border-radius:12px;padding:12px}
@media(max-width:1100px){.app-shell{grid-template-columns:180px minmax(760px,1fr);}.right-sidebar{display:none}.metrics-grid{grid-template-columns:repeat(2,1fr)}.feature-tabs{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.bottom-stats{grid-template-columns:1fr 1fr}.top-header{grid-template-columns:1fr}}


/* Patch 0.7 scan controls */
.scan-mode-buttons button{min-width:118px}
.scan-mode-buttons .active{background:#22c55e!important;color:#052e16!important;border-color:#16a34a!important}
.deep-scan-btn{background:#dbeafe!important;color:#0f172a!important}
.stop-scan-btn{background:#fff!important;color:#071225!important}
.search-row{grid-template-columns:110px 1fr 105px 105px 80px}

/* --- GrowFlow Tutorial Guide Popup Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }
}
/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- Patch 0.9 resale input additions --- */

.resale-input-box{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #dbe5ee;
    border-radius:14px;
    box-shadow:0 3px 10px rgba(15,23,42,.07);
    padding:10px;
    margin-top:8px;
}

.resale-input-box label{
    font-weight:900;
    color:#064e3b;
}

.resale-input-box input{
    width:110px;
    padding:9px;
    border:1px solid #bbf7d0;
    border-radius:10px;
    font-weight:800;
}

.resale-input-box button{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.selected-layout hr{
    border:0;
    border-top:1px solid #bbf7d0;
    margin:8px 0;
}

/* --- GrowFlow Tutorial Guide Popup + Images Tab Additions --- */

.guide-modal h2{
    margin-top:0;
    color:#064e3b;
    font-size:26px;
}

.guide-subtitle{
    color:#475569;
    margin-bottom:18px;
}

.guide-tabs{
    display:flex;
    gap:10px;
    margin-bottom:18px;
}

.guide-tabs button{
    flex:1;
    background:#f8fafc;
}

.guide-tabs button.active{
    background:#dcfce7;
    border-color:#22c55e;
    color:#064e3b;
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.guide-step{
    background:linear-gradient(135deg,#ffffff,#f0fdf4);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:14px;
}

.guide-step b{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#166534;
    color:white;
    margin-bottom:8px;
}

.guide-step h3{
    margin:4px 0 6px;
    color:#064e3b;
}

.guide-step p{
    margin:0;
    line-height:1.45;
}

.guide-step ul{
    margin:8px 0 0 18px;
    padding:0;
}

.guide-step li{
    margin:4px 0;
}

.guide-step.warning{
    background:#fff7ed;
    border-color:#fdba74;
}

.guide-step.warning b{
    background:#f97316;
}

.distributor-step{
    grid-column:span 2;
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:2px solid #22c55e;
}

.water-flow-box{
    margin-top:14px;
    padding:16px;
    border-radius:16px;
    border:1px solid #bbf7d0;
    background:#f8fff9;
}

.water-flow-box h3{
    margin:0 0 10px;
    color:#064e3b;
}

.flow-chain{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:10px 0;
}

.flow-chain span{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#064e3b;
    padding:7px 10px;
    border-radius:999px;
    font-weight:800;
}

.flow-chain i{
    font-style:normal;
    color:#166534;
    font-weight:900;
}

.image-guide{
    padding:10px;
}

.image-guide h2{
    color:#064e3b;
    margin-top:0;
}

.guide-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:14px;
}

.guide-card{
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:16px;
    padding:12px;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}

.guide-card:hover{
    transform:scale(1.02);
    box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.guide-card img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    object-position:top;
    border-radius:10px;
    border:1px solid #ddd;
    background:#f8fafc;
}

.guide-card h3{
    margin:10px 0 0;
    text-align:center;
    color:#064e3b;
}

@media(max-width:700px){
    .resale-input-box{
        flex-wrap:wrap;
    }

    .guide-grid{
        grid-template-columns:1fr;
    }

    .distributor-step{
        grid-column:span 1;
    }

    .guide-tabs{
        flex-direction:column;
    }

    .guide-gallery{
        grid-template-columns:1fr;
    }
}

/* --- GrowFlow Patch 1.1 Licence Splash / CD-Key Gate --- */

.gf-license-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.25), transparent 35%),
        linear-gradient(135deg,#052e16,#071225);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.gf-license-window{
    width:min(980px,96vw);
    min-height:560px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 30px 100px rgba(0,0,0,.5);
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
}

.gf-license-left{
    background:
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(220,252,231,.96)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-fruit-character{
    width:92px;
    height:92px;
    border-radius:24px;
    background:#dcfce7;
    border:2px solid #22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:54px;
    box-shadow:0 12px 28px rgba(22,163,74,.25);
    margin-bottom:18px;
}

.gf-license-left h1{
    margin:0;
    color:#064e3b;
    font-size:38px;
    line-height:1.05;
}

.gf-tagline{
    color:#0f172a;
    font-size:16px;
    margin:14px 0 20px;
}

.gf-splash-points{
    display:grid;
    gap:10px;
}

.gf-splash-points div{
    background:rgba(255,255,255,.8);
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:12px;
    font-weight:800;
    color:#064e3b;
}

.gf-license-right{
    padding:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gf-license-right h2{
    margin:0 0 8px;
    color:#064e3b;
    font-size:28px;
}

.gf-license-right h3{
    margin:0 0 6px;
    color:#071225;
}

.gf-license-right p{
    color:#475569;
    line-height:1.45;
}

.gf-license-right label{
    color:#064e3b;
    font-weight:900;
    margin-bottom:6px;
}

.gf-trial-key-box{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
    margin:6px 0 4px;
}

.gf-trial-key-box code{
    background:#f8fafc;
    border:2px dashed #22c55e;
    color:#071225;
    font-size:24px;
    font-weight:900;
    letter-spacing:2px;
    padding:14px;
    border-radius:14px;
    text-align:center;
}

.gf-trial-key-box button,
.gf-start-trial,
.gf-unlock-btn,
.gf-buy-btn{
    border:0;
    border-radius:14px;
    padding:13px 16px;
    font-weight:900;
    cursor:pointer;
}

.gf-trial-key-box button{
    background:#071225;
    color:white;
}

.gf-start-trial{
    background:#16a34a;
    color:white;
    margin-top:10px;
    width:100%;
}

.gf-divider{
    height:1px;
    background:#e2e8f0;
    margin:22px 0;
}

.gf-license-input{
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:14px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
    margin:8px 0;
    width:100%;
}

.gf-unlock-btn{
    background:#071225;
    color:#fff;
    width:100%;
    margin-top:8px;
}

.gf-buy-btn{
    background:#facc15;
    color:#052e16;
    width:100%;
    margin-top:8px;
}

.gf-license-msg,
.gf-copy-msg{
    min-height:18px;
    color:#166534;
    font-weight:800;
}

.gf-license-badge{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:900;
    background:#071225;
    color:#fff;
    border-radius:999px;
    padding:8px 8px 8px 14px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    display:flex;
    gap:10px;
    align-items:center;
    font-weight:800;
}

.gf-license-badge button{
    border:0;
    background:#22c55e;
    color:#052e16;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
}

.gf-locked-search{
    background:#f1f5f9 !important;
    color:#64748b !important;
    border-color:#cbd5e1 !important;
}

.gf-search-lock-note,
.gf-search-unlocked-note{
    background:#fff7ed;
    border:1px solid #fdba74;
    color:#7c2d12;
    border-radius:12px;
    padding:9px 12px;
    font-weight:800;
    margin:8px 0;
}

.gf-search-unlocked-note{
    background:#ecfdf5;
    border-color:#22c55e;
    color:#064e3b;
}

.gf-feature-locked-btn{
    background:#facc15 !important;
    color:#052e16 !important;
    border-color:#facc15 !important;
}

@media(max-width:800px){
    .gf-license-window{
        grid-template-columns:1fr;
        max-height:92vh;
        overflow:auto;
    }

    .gf-license-left,
    .gf-license-right{
        padding:24px;
    }

    .gf-license-left h1{
        font-size:30px;
    }

    .gf-trial-key-box{
        grid-template-columns:1fr;
    }

    .gf-license-badge{
        left:12px;
        right:12px;
        bottom:12px;
        justify-content:space-between;
    }
}
/* --- GrowFlow Patch 1.2 Logo Splash + Clear Tutorial --- */

.gf-logo-splash{
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(220,252,231,.98)),
        url("/static/assets/HeaderImage.png");
    background-position:center;
    background-size:cover;
}

.gf-splash-logo-wrap{
    background:white;
    border:2px solid #bbf7d0;
    border-radius:24px;
    padding:16px;
    width:220px;
    max-width:100%;
    box-shadow:0 12px 30px rgba(22,163,74,.22);
    margin-bottom:18px;
}

.gf-splash-logo{
    width:100%;
    height:150px;
    object-fit:contain;
    display:block;
}

.gf-small-character{
    width:64px;
    height:64px;
    font-size:38px;
    margin-bottom:14px;
}

.hydro-instructions-modal h2{
    font-size:30px;
    color:#064e3b;
}

.guide-alert{
    background:#ecfdf5;
    border:2px solid #22c55e;
    color:#064e3b;
    border-radius:14px;
    padding:12px 14px;
    font-weight:900;
    margin:12px 0 16px;
}

.hydro-instructions-modal .guide-tabs button{
    font-size:15px;
    padding:13px;
}

.hydro-instructions-modal .guide-tabs button.active{
    background:#16a34a;
    color:#fff;
    border-color:#16a34a;
}
/* ===== Patch 1.3 START HERE button ===== */

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    position:relative;
    background:linear-gradient(180deg,#34d399,#16a34a);
    color:#fff;
    border:2px solid #15803d;
    font-weight:900;
    transform:scale(1.06);
    box-shadow:0 6px 18px rgba(22,163,74,.35);
    overflow:hidden;
}

#towerGuideBtn strong{
    display:block;
    font-size:17px;
    letter-spacing:.5px;
}

#towerGuideBtn span{
    display:block;
    font-size:11px;
    opacity:.95;
}

#towerGuideBtn:hover,
button[onclick="openTutorialPopup()"]:hover{
    transform:scale(1.10);
}

.guideBadge{
    margin-top:6px;
    font-size:10px;
    background:rgba(255,255,255,.22);
    border-radius:999px;
    padding:3px 8px;
}

@keyframes guidePulse{
    0%{transform:scale(1.06);}
    50%{transform:scale(1.12);}
    100%{transform:scale(1.06);}
}

#towerGuideBtn,
button[onclick="openTutorialPopup()"]{
    animation:guidePulse 2.8s infinite;
}

.hydro-instructions-modal h2:before{
    content:"🌱 ";
}
/*
Patch 1.3 - START HERE button

1. In your toolbar/index.html replace the old tutorial button with:

<button id="towerGuideBtn" onclick="openTutorialPopup()">
    <strong>🌱 START HERE</strong>
    <span>Hydro Tower Instructions</span>
</button>

2. Paste this block at the END of app.js
*/



.share-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:14px;
}

.share-grid button{
    padding:14px;
    border-radius:14px;
    font-weight:900;
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin-top:12px;
}

/* ===== GrowFlow Patch 1.5 — Premium Share Popup with fire.gif ===== */

.share-modal-premium{
    color:#071225;
    padding:4px;
}

.share-premium-hero{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:20px;
    align-items:center;
    background:
        radial-gradient(circle at 12% 15%, rgba(34,197,94,.18), transparent 28%),
        radial-gradient(circle at 85% 20%, rgba(59,130,246,.14), transparent 30%),
        linear-gradient(135deg,#ffffff,#f0fdf4);
    border:2px solid #86efac;
    border-radius:28px;
    padding:24px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
}

.share-fire-icon{
    width:96px;
    height:96px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,#ecfdf5,#dcfce7);
    border:2px solid #86efac;
    box-shadow:0 0 0 10px rgba(34,197,94,.10), 0 14px 34px rgba(34,197,94,.28);
    overflow:hidden;
}

.share-fire-icon img{
    width:78px;
    height:78px;
    object-fit:contain;
    display:block;
}

.share-premium-title h2{
    margin:0;
    font-size:44px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.share-premium-title h2 span{
    color:#16a34a;
}

.share-premium-title p{
    margin:12px 0 0;
    font-size:19px;
    color:#334155;
    max-width:620px;
}

.share-premium-mega{
    font-size:72px;
    filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));
}

.share-callout{
    margin:18px auto;
    width:max-content;
    max-width:100%;
    background:rgba(236,253,245,.92);
    border:1px solid #bbf7d0;
    color:#047857;
    border-radius:999px;
    padding:11px 22px;
    font-size:17px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
}

.share-button-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.brand-share{
    min-height:102px;
    border:0;
    border-radius:20px;
    color:white;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
    padding:16px;
    text-align:left;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.20);
    transition:transform .18s ease, box-shadow .18s ease;
    overflow:hidden;
    position:relative;
}

.brand-share:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 45%);
    pointer-events:none;
}

.brand-share:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 18px 38px rgba(15,23,42,.28);
}

.brand-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#071225;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:1000;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
    z-index:1;
}

.brand-share strong{
    display:block;
    font-size:19px;
    z-index:1;
}

.brand-share span{
    display:block;
    font-size:13px;
    opacity:.94;
    margin-top:4px;
    z-index:1;
}

.brand-share em{
    font-style:normal;
    font-size:34px;
    opacity:.9;
    z-index:1;
}

.brand-share.whatsapp{background:linear-gradient(135deg,#25D366,#059669);}
.brand-share.facebook{background:linear-gradient(135deg,#1877F2,#075ac4);}
.brand-share.twitter{background:linear-gradient(135deg,#111827,#000000);}
.brand-share.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9);}
.brand-share.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);}
.brand-share.tiktok{background:linear-gradient(135deg,#000000,#111827);}
.brand-share.copy{background:linear-gradient(135deg,#22c55e,#0f766e);}
.brand-share.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    color:#0f172a;
    border:1px solid #dbe5ee;
}

.share-copy-panel{
    margin-top:20px;
    background:linear-gradient(135deg,#ecfdf5,#f8fffb);
    border:1px solid #86efac;
    border-radius:22px;
    padding:18px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
}

.copy-panel-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:linear-gradient(180deg,#22c55e,#15803d);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    box-shadow:0 10px 24px rgba(22,163,74,.25);
}

.copy-panel-text strong{
    display:block;
    color:#064e3b;
    font-size:18px;
    margin-bottom:8px;
}

.copy-panel-text input{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:13px;
    font-weight:800;
    color:#0f172a;
    background:white;
}

.share-copy-panel button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:14px;
    padding:14px 22px;
    font-weight:1000;
    box-shadow:0 8px 20px rgba(22,163,74,.22);
}

.share-copy-msg{
    color:#166534;
    font-weight:900;
    margin:12px 0 0;
}

.share-thanks{
    text-align:center;
    margin-top:16px;
    color:#166534;
    font-weight:900;
}

@media(max-width:1100px){
    .share-button-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px){
    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-premium-title h2{
        font-size:34px;
    }

    .share-button-grid{
        grid-template-columns:1fr;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }
}

/* ===== GrowFlow Patch 1.6 — Share modal less squashed =====
   Paste this at the very bottom of static/style.css.
   It overrides Patch 1.5 share modal sizing.
*/

.share-modal-premium{
    width:1100px;
    max-width:94vw;
}

.share-premium-hero{
    padding:22px 28px;
}

.share-premium-title h2{
    font-size:42px;
}

.share-premium-title p{
    font-size:18px;
    line-height:1.35;
}

.share-fire-icon{
    width:92px;
    height:92px;
}

.share-fire-icon img{
    width:76px;
    height:76px;
}

.share-premium-mega{
    font-size:66px;
}

.share-callout{
    margin:16px auto;
    padding:10px 22px;
    font-size:17px;
}

/* Main fix: two columns instead of four cramped columns */
.share-button-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px;
}

.brand-share{
    min-height:76px !important;
    padding:14px 18px !important;
    grid-template-columns:58px 1fr 24px;
}

.brand-icon{
    width:52px;
    height:52px;
    font-size:28px;
}

.brand-share strong{
    font-size:18px;
    line-height:1.1;
}

.brand-share span{
    white-space:nowrap;
    font-size:13px;
    line-height:1.2;
}

.brand-share em{
    font-size:28px;
}

/* Link panel gets more breathing room */
.share-copy-panel{
    grid-template-columns:64px 1fr 110px;
    gap:14px;
    padding:16px 18px;
}

.copy-panel-icon{
    width:58px;
    height:58px;
    font-size:30px;
}

.copy-panel-text strong{
    font-size:18px;
}

.copy-panel-text input{
    font-size:16px;
    padding:13px 14px;
}

.share-copy-panel button{
    padding:13px 20px;
}

.share-thanks{
    margin-top:14px;
    font-size:15px;
}

/* On smaller screens keep it tidy */
@media(max-width:760px){
    .share-modal-premium{
        width:auto;
    }

    .share-premium-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .share-fire-icon{
        margin:auto;
    }

    .share-button-grid{
        grid-template-columns:1fr !important;
    }

    .brand-share{
        min-height:74px !important;
    }

    .share-copy-panel{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-panel-icon{
        margin:auto;
    }

    .brand-share span{
        white-space:normal;
    }
}

/*
GrowFlow Patch 1.5 — Premium Share Popup + fire.gif icon

Install:
1. Paste this file at the BOTTOM of static/app.js.
   It overrides your old openSharePopup() with the new design.

2. Paste style_share_firegif.css at the BOTTOM of static/style.css.

3. Make sure this file exists:
   static/assets/fire.gif

4. Hard refresh:
   Ctrl + F5
*/

/* ===== GrowFlow Patch 1.8 — Polished Share Popup Fix =====
   Paste at the VERY BOTTOM of style.css so it overrides older share styles.
*/

/* Force the existing modal shell to become the right size */
#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent,
.modal-content{
    box-sizing:border-box !important;
}

#modalContent:has(.gf-share-pro),
.modal-content:has(.gf-share-pro){
    width:min(1050px,94vw) !important;
    max-width:1050px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:26px !important;
    border-radius:26px !important;
}

/* Popup body */
.gf-share-pro{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    color:#071225 !important;
    font-family:inherit !important;
    overflow:hidden !important;
}

/* Hero */
.gf-share-hero{
    display:grid !important;
    grid-template-columns:88px 1fr 80px !important;
    gap:18px !important;
    align-items:center !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(34,197,94,.20), transparent 32%),
        linear-gradient(135deg,#ffffff,#f0fdf4) !important;
    border:2px solid #86efac !important;
    border-radius:22px !important;
    padding:18px 22px !important;
    margin:0 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.gf-share-fire{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    border-radius:50% !important;
    background:#dcfce7 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.22) !important;
}

.gf-share-fire img{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
}

.gf-share-title h2{
    margin:0 !important;
    padding:0 !important;
    font-size:40px !important;
    line-height:1 !important;
    letter-spacing:-.8px !important;
    color:#071225 !important;
    white-space:nowrap !important;
}

.gf-share-title h2 span{
    color:#16a34a !important;
}

.gf-share-title p{
    margin:8px 0 0 !important;
    padding:0 !important;
    font-size:16px !important;
    color:#334155 !important;
    line-height:1.25 !important;
    max-width:650px !important;
    white-space:normal !important;
}

.gf-share-mega{
    font-size:54px !important;
    line-height:1 !important;
    text-align:center !important;
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.14)) !important;
}

/* Callout */
.gf-share-strip{
    margin:14px auto !important;
    width:max-content !important;
    max-width:94% !important;
    text-align:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:999px !important;
    padding:9px 20px !important;
    font-size:16px !important;
    font-weight:1000 !important;
}

/* Cards */
.gf-share-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-btn{
    appearance:none !important;
    border:0 !important;
    border-radius:18px !important;
    min-height:88px !important;
    padding:12px !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:46px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    text-align:left !important;
    cursor:pointer !important;
    box-shadow:0 10px 22px rgba(15,23,42,.18) !important;
    transition:transform .14s ease, box-shadow .14s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-btn:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.26) !important;
}

.gf-share-btn i{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.95) !important;
    color:#071225 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-style:normal !important;
    font-size:23px !important;
    font-weight:1000 !important;
    box-shadow:0 6px 14px rgba(0,0,0,.14) !important;
}

.gf-share-btn div{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
    min-width:0 !important;
}

.gf-share-btn b{
    display:block !important;
    font-size:17px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.gf-share-btn span{
    display:block !important;
    font-size:12px !important;
    line-height:1.15 !important;
    opacity:.95 !important;
    white-space:normal !important;
}

.gf-share-btn.whatsapp{background:linear-gradient(135deg,#25D366,#059669) !important;}
.gf-share-btn.facebook{background:linear-gradient(135deg,#1877F2,#075ac4) !important;}
.gf-share-btn.twitter{background:linear-gradient(135deg,#111827,#000000) !important;}
.gf-share-btn.email{background:linear-gradient(135deg,#8b5cf6,#6d28d9) !important;}
.gf-share-btn.instagram{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-btn.tiktok{background:linear-gradient(135deg,#020617,#111827) !important;}
.gf-share-btn.copy{background:linear-gradient(135deg,#22c55e,#0f766e) !important;}
.gf-share-btn.more{
    background:linear-gradient(135deg,#ffffff,#f8fafc) !important;
    color:#0f172a !important;
    border:1px solid #dbe5ee !important;
}

/* Copy box */
.gf-share-copybox{
    margin-top:14px !important;
    display:grid !important;
    grid-template-columns:56px 1fr 100px !important;
    gap:12px !important;
    align-items:center !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:13px !important;
    box-sizing:border-box !important;
}

.gf-share-link-icon{
    width:50px !important;
    height:50px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:25px !important;
    box-shadow:0 8px 18px rgba(22,163,74,.22) !important;
}

.gf-share-copytext strong{
    display:block !important;
    color:#064e3b !important;
    font-size:16px !important;
    margin-bottom:7px !important;
}

.gf-share-copytext input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:11px 12px !important;
    font-weight:900 !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-copybox button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

.gf-share-message{
    text-align:center !important;
    margin-top:12px !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:20px !important;
}

.gf-share-message.copied{
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:7px 12px !important;
}

/* Medium screens */
@media(max-width:900px){
    #modalContent:has(.gf-share-pro),
    .modal-content:has(.gf-share-pro){
        overflow:auto !important;
    }

    .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-hero{
        grid-template-columns:76px 1fr !important;
    }

    .gf-share-mega{
        display:none !important;
    }

    .gf-share-title h2{
        font-size:34px !important;
    }
}

/* Phone */
@media(max-width:560px){
    .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-link-icon{
        margin:auto !important;
    }
}
/* ===== GrowFlow Patch 1.9 — Compact Desktop Share Popup =====
   Paste at the VERY BOTTOM of style.css.
*/

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

#modalContent:has(.gf-share-compact),
.modal-content:has(.gf-share-compact){
    width:min(1040px,94vw) !important;
    max-width:1040px !important;
    max-height:88vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:20px !important;
    border-radius:24px !important;
}

/* body */
.gf-share-compact{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

/* smaller hero */
.gf-share-compact .gf-share-hero{
    padding:12px 18px !important;
    grid-template-columns:66px 1fr 58px !important;
    gap:14px !important;
    border-radius:20px !important;
}

.gf-share-compact .gf-share-fire{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
}

.gf-share-compact .gf-share-fire img{
    width:44px !important;
    height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
}

.gf-share-compact .gf-share-title h2{
    font-size:34px !important;
}

.gf-share-compact .gf-share-title p{
    font-size:14px !important;
    margin-top:5px !important;
    line-height:1.2 !important;
}

.gf-share-compact .gf-share-mega{
    font-size:42px !important;
}

/* smaller callout */
.gf-share-compact .gf-share-strip{
    margin:10px auto !important;
    padding:7px 16px !important;
    font-size:14px !important;
}

/* smaller cards */
.gf-share-compact .gf-share-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn{
    min-height:74px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    grid-template-columns:40px 1fr !important;
    gap:8px !important;
}

.gf-share-compact .gf-share-btn i{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:20px !important;
}

.gf-share-compact .gf-share-btn b{
    font-size:15px !important;
}

.gf-share-compact .gf-share-btn span{
    font-size:11px !important;
    line-height:1.1 !important;
}

/* compact copy box */
.gf-share-compact .gf-share-copybox{
    margin-top:10px !important;
    grid-template-columns:46px 1fr 90px !important;
    gap:10px !important;
    padding:10px !important;
    border-radius:16px !important;
}

.gf-share-compact .gf-share-link-icon{
    width:42px !important;
    height:42px !important;
    font-size:22px !important;
}

.gf-share-compact .gf-share-copytext strong{
    font-size:14px !important;
    margin-bottom:5px !important;
}

.gf-share-compact .gf-share-copytext input{
    padding:9px 10px !important;
    font-size:13px !important;
}

.gf-share-compact .gf-share-copybox button{
    padding:10px !important;
    font-size:13px !important;
}

/* message hidden until action */
.gf-share-compact .gf-share-message{
    min-height:0 !important;
    margin-top:8px !important;
    text-align:center !important;
    font-size:13px !important;
    color:#166534 !important;
    font-weight:1000 !important;
}

.gf-share-compact .gf-share-message:empty{
    display:none !important;
}

.gf-share-compact .gf-share-message.copied{
    display:block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:6px 10px !important;
}

/* medium */
@media(max-width:900px){
    #modalContent:has(.gf-share-compact),
    .modal-content:has(.gf-share-compact){
        max-height:92vh !important;
    }

    .gf-share-compact .gf-share-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:58px 1fr !important;
    }

    .gf-share-compact .gf-share-mega{
        display:none !important;
    }
}

/* phone */
@media(max-width:560px){
    .gf-share-compact .gf-share-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-compact .gf-share-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-fire{
        margin:auto !important;
    }

    .gf-share-compact .gf-share-title h2{
        white-space:normal !important;
    }

    .gf-share-compact .gf-share-copybox{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-compact .gf-share-link-icon{
        margin:auto !important;
    }
}

/* ===== GrowFlow Patch 2.1 — socialshare.png Share Window ===== */

#modalContent:has(.socialshare-window),
.modal-content:has(.socialshare-window){
    width:min(1320px,96vw) !important;
    max-width:1320px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
}

.socialshare-window{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:24px;
    color:#071225;
    overflow:hidden;
}

.socialshare-left{
    min-width:0;
}

.socialshare-hero{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:14px;
}

.socialshare-fire{
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    border:2px solid #86efac;
    box-shadow:0 0 0 8px rgba(34,197,94,.10),0 12px 28px rgba(22,163,74,.20);
    overflow:hidden;
}

.socialshare-fire img{
    width:54px;
    height:54px;
    object-fit:contain;
}

.socialshare-hero h2{
    margin:0;
    font-size:42px;
    line-height:1;
    letter-spacing:-1px;
    color:#071225;
}

.socialshare-hero h2 span{
    color:#16a34a;
}

.socialshare-hero p{
    margin:8px 0 0;
    font-size:17px;
    color:#334155;
    line-height:1.25;
}

.socialshare-callout{
    background:#ecfdf5;
    border:1px solid #86efac;
    color:#047857;
    border-radius:16px;
    padding:11px 16px;
    font-weight:1000;
    text-align:center;
    margin-bottom:14px;
}

.socialshare-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.socialshare-card{
    position:relative;
    min-height:128px;
    border:1px solid #dbe5ee;
    background:#fff;
    border-radius:18px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(15,23,42,.10);
    transition:.16s ease;
    overflow:hidden;
}

.socialshare-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.18);
}

.socialshare-card i{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    font-size:28px;
    font-style:normal;
    font-weight:1000;
}

.socialshare-card b{
    font-size:17px;
    line-height:1;
    color:#071225;
}

.socialshare-card span{
    font-size:12px;
    color:#334155;
    text-align:center;
}

.socialshare-card small{
    position:absolute;
    left:12px;
    right:12px;
    bottom:9px;
    background:#16a34a;
    color:white;
    border-radius:999px;
    padding:5px;
    font-size:12px;
    font-weight:1000;
    opacity:0;
    transform:translateY(6px);
    transition:.16s ease;
}

.socialshare-card.copied small{
    opacity:1;
    transform:translateY(0);
}

.socialshare-card.whatsapp i{background:#25D366;}
.socialshare-card.facebook i{background:#1877F2;}
.socialshare-card.twitter i{background:#000;}
.socialshare-card.email i{background:#7c3aed;}
.socialshare-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea);}
.socialshare-card.tiktok i{background:#020617;}
.socialshare-card.copy i{background:#16a34a;}
.socialshare-card.more i{background:#f8fafc;color:#071225;border:1px solid #dbe5ee;}

.socialshare-copybox{
    margin-top:14px;
    background:#ecfdf5;
    border:1px solid #86efac;
    border-radius:18px;
    padding:14px;
    display:grid;
    grid-template-columns:54px 1fr 96px;
    gap:12px;
    align-items:center;
}

.copy-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#16a34a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.socialshare-copybox strong{
    display:block;
    color:#064e3b;
    margin-bottom:6px;
}

.socialshare-copybox input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:11px 12px;
    font-weight:900;
}

.socialshare-copybox button{
    background:#16a34a;
    color:white;
    border:0;
    border-radius:12px;
    padding:12px;
    font-weight:1000;
    cursor:pointer;
}

.socialshare-message{
    text-align:center;
    color:#166534;
    font-weight:1000;
    min-height:0;
    margin-top:10px;
}

.socialshare-message.show{
    background:#dcfce7;
    border:1px solid #86efac;
    border-radius:999px;
    padding:7px 12px;
}

.socialshare-right{
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at center, #fff7d6 0%, #f0fdf4 58%, #ffffff 100%);
    border-radius:24px;
    overflow:hidden;
    min-height:620px;
}

.socialshare-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Medium screens */
@media(max-width:1100px){
    .socialshare-window{
        grid-template-columns:1fr;
        max-height:88vh;
        overflow:auto;
    }

    .socialshare-right{
        min-height:300px;
        max-height:360px;
    }

    .socialshare-right img{
        object-fit:contain;
    }
}

/* Smaller */
@media(max-width:760px){
    #modalContent:has(.socialshare-window),
    .modal-content:has(.socialshare-window){
        overflow:auto !important;
        padding:18px !important;
    }

    .socialshare-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .socialshare-copybox{
        grid-template-columns:1fr;
        text-align:center;
    }

    .copy-icon{
        margin:auto;
    }
}

/* Phone */
@media(max-width:500px){
    .socialshare-grid{
        grid-template-columns:1fr;
    }

    .socialshare-hero{
        grid-template-columns:1fr;
        text-align:center;
    }

    .socialshare-fire{
        margin:auto;
    }

    .socialshare-hero h2{
        font-size:34px;
    }
}
/* ===== GrowFlow FINAL Share Popup Patch =====
   Paste at the VERY BOTTOM of static/style.css.
*/

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:min(1360px,96vw) !important;
    max-width:1360px !important;
    max-height:92vh !important;
    overflow:hidden !important;
    padding:28px !important;
    border-radius:26px !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final{
    display:grid !important;
    grid-template-columns:minmax(620px,1fr) 440px !important;
    gap:24px !important;
    width:100% !important;
    color:#071225 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.gf-share-left{
    min-width:0 !important;
}

/* Hero */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:105px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:16px !important;
}

.gf-share-final-fire{
    width:95px !important;
    height:95px !important;
    border-radius:50% !important;
    background:#eefcf0 !important;
    border:2px solid #86efac !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 6px 20px rgba(34,197,94,.18) !important;
}

.gf-share-final-fire img{
    width:68px !important;
    height:68px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:52px !important;
    line-height:1 !important;
    letter-spacing:-1px !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:10px 0 0 !important;
    font-size:19px !important;
    line-height:1.28 !important;
    color:#334155 !important;
    max-width:620px !important;
}

/* Callout */
.gf-share-final-callout{
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    color:#047857 !important;
    border-radius:16px !important;
    padding:12px 16px !important;
    font-weight:1000 !important;
    text-align:center !important;
    font-size:17px !important;
    margin-bottom:16px !important;
}

/* Cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    position:relative !important;
    min-height:150px !important;
    border:1px solid #dbe5ee !important;
    background:#fff !important;
    border-radius:20px !important;
    padding:18px 14px 42px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    cursor:pointer !important;
    box-shadow:0 8px 22px rgba(15,23,42,.10) !important;
    transition:.16s ease !important;
    overflow:hidden !important;
    font-family:inherit !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 30px rgba(15,23,42,.18) !important;
}

.gf-share-final-card i{
    width:62px !important;
    height:62px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:white !important;
    font-size:31px !important;
    font-style:normal !important;
    font-weight:1000 !important;
}

.gf-share-final-card b{
    color:#071225 !important;
    font-size:18px !important;
    line-height:1.05 !important;
    text-align:center !important;
    white-space:nowrap !important;
}

.gf-share-final-card span{
    color:#334155 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    bottom:12px !important;
    background:#16a34a !important;
    color:white !important;
    border-radius:999px !important;
    padding:7px !important;
    font-size:12px !important;
    font-weight:1000 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
    pointer-events:none !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Icon colours */
.gf-share-final-card.whatsapp i{background:#25D366 !important;}
.gf-share-final-card.facebook i{background:#1877F2 !important;}
.gf-share-final-card.twitter i{background:#000 !important;}
.gf-share-final-card.email i{background:#7c3aed !important;}
.gf-share-final-card.instagram i{background:linear-gradient(135deg,#f97316,#db2777,#9333ea) !important;}
.gf-share-final-card.tiktok i{background:#020617 !important;}
.gf-share-final-card.copy i{background:#16a34a !important;}
.gf-share-final-card.more i{
    background:#f8fafc !important;
    color:#071225 !important;
    border:1px solid #dbe5ee !important;
}

/* Copy section */
.gf-share-final-copy{
    margin-top:16px !important;
    background:#ecfdf5 !important;
    border:1px solid #86efac !important;
    border-radius:18px !important;
    padding:16px !important;
    display:grid !important;
    grid-template-columns:64px 1fr 120px !important;
    gap:12px !important;
    align-items:center !important;
}

.gf-share-final-copy-icon{
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:26px !important;
}

.gf-share-final-copy-main strong{
    display:block !important;
    color:#064e3b !important;
    font-size:17px !important;
    margin-bottom:7px !important;
}

.gf-share-final-copy-main input{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #cbd5e1 !important;
    border-radius:12px !important;
    padding:12px !important;
    font-weight:900 !important;
    font-size:15px !important;
    color:#0f172a !important;
    background:white !important;
}

.gf-share-final-copy button{
    background:#16a34a !important;
    color:white !important;
    border:0 !important;
    border-radius:12px !important;
    padding:14px 18px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
}

/* Floating feedback */
.gf-share-final-message{
    text-align:center !important;
    color:#166534 !important;
    font-weight:1000 !important;
    min-height:0 !important;
    margin-top:10px !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    background:#dcfce7 !important;
    border:1px solid #86efac !important;
    border-radius:999px !important;
    padding:8px 18px !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork */
.gf-share-right{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 60%,#fff 100%) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    min-height:620px !important;
    padding:6px !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    max-height:620px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Medium desktop/tablet */
@media(max-width:1150px){
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        overflow:auto !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
    }

    .gf-share-right{
        min-height:280px !important;
        max-height:360px !important;
    }

    .gf-share-right img{
        height:100% !important;
        width:auto !important;
    }
}

/* Smaller */
@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }
}

/* Phone */
@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:34px !important;
    }
}




/* ===== NO SCROLL SHARE POPUP OVERRIDE ===== */
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
width:1360px!important;
height:780px!important;
max-width:1360px!important;
max-height:780px!important;
overflow:hidden!important;
padding:22px!important;
box-sizing:border-box!important;
}

.gf-share-final{
display:grid!important;
grid-template-columns:820px 470px!important;
gap:18px!important;
height:100%!important;
overflow:hidden!important;
}

.gf-share-left,.gf-share-right{
height:100%!important;
overflow:hidden!important;
}

.gf-share-right img{
width:100%!important;
height:100%!important;
object-fit:contain!important;
}

.gf-share-final-grid{
grid-template-columns:repeat(4,1fr)!important;
gap:10px!important;
}

.gf-share-final-card{
min-height:128px!important;
padding:14px 10px 36px!important;
}

.gf-share-final-copy{
margin-top:10px!important;
padding:12px!important;
}

#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final),
.gf-share-final,
.gf-share-left,
.gf-share-right{
overflow-x:hidden!important;
overflow-y:hidden!important;
}

#modalContent:has(.gf-share-final)::-webkit-scrollbar,
.modal-content:has(.gf-share-final)::-webkit-scrollbar,
.gf-share-final::-webkit-scrollbar,
.gf-share-left::-webkit-scrollbar,
.gf-share-right::-webkit-scrollbar{
display:none!important;
width:0!important;
height:0!important;
}

@media(max-width:1150px){
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
overflow:hidden!important;
}
}





/* ==========================================================
   GrowFlow Share Popup Final Polish Patch
   - Modern Inter/Segoe font
   - Smaller fixed-height no-scroll popup
   - Less bottom white space
   - Softer white social cards
   - Bigger fire badge
   - Chunkier copy box
   - Better right artwork fit
   Paste kept at the absolute bottom so it overrides old share CSS.
   ========================================================== */

#modalOverlay.show,
.modal-overlay.show{
    align-items:center !important;
    justify-content:center !important;
}

/* REAL modal wrapper in this app */
.modal-box:has(.gf-share-final),
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final){
    width:1300px !important;
    height:700px !important;
    max-width:1300px !important;
    max-height:700px !important;
    padding:26px !important;
    overflow:hidden !important;
    border-radius:28px !important;
    background:#ffffff !important;
    box-sizing:border-box !important;
}

/* Main layout */
.gf-share-final{
    width:100% !important;
    height:100% !important;
    display:grid !important;
    grid-template-columns:790px 430px !important;
    gap:24px !important;
    overflow:hidden !important;
    font-family:"Inter","Segoe UI",Arial,sans-serif !important;
    color:#071225 !important;
}

.gf-share-left,
.gf-share-right{
    height:100% !important;
    overflow:hidden !important;
}

/* Header */
.gf-share-final-hero{
    display:grid !important;
    grid-template-columns:108px 1fr !important;
    gap:18px !important;
    align-items:center !important;
    margin-bottom:14px !important;
}

.gf-share-final-fire{
    width:98px !important;
    height:98px !important;
    border-radius:50% !important;
    background:#eefcf1 !important;
    border:2px solid #bbf7d0 !important;
    box-shadow:0 8px 20px rgba(34,197,94,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.gf-share-final-fire img{
    width:70px !important;
    height:70px !important;
    object-fit:contain !important;
}

.gf-share-final-hero h2{
    margin:0 !important;
    font-size:54px !important;
    line-height:1 !important;
    letter-spacing:-1.4px !important;
    font-weight:850 !important;
    color:#071225 !important;
}

.gf-share-final-hero h2 span{
    color:#16a34a !important;
}

.gf-share-final-hero p{
    margin:9px 0 0 !important;
    font-size:20px !important;
    line-height:1.35 !important;
    color:#374151 !important;
    max-width:610px !important;
}

/* Green banner */
.gf-share-final-callout{
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f0fdf4 !important;
    border:1px solid #bbf7d0 !important;
    color:#047857 !important;
    border-radius:18px !important;
    padding:10px 18px !important;
    font-size:18px !important;
    font-weight:800 !important;
    margin-bottom:14px !important;
}

/* Social cards */
.gf-share-final-grid{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:12px !important;
}

.gf-share-final-card{
    min-height:128px !important;
    border:none !important;
    background:#ffffff !important;
    border-radius:22px !important;
    padding:14px 12px 38px !important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.05),
        0 1px 3px rgba(0,0,0,.08) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    position:relative !important;
    overflow:hidden !important;
    transition:transform .15s ease, box-shadow .15s ease !important;
}

.gf-share-final-card:hover{
    transform:translateY(-2px) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.08),
        0 2px 6px rgba(0,0,0,.08) !important;
}

.gf-share-final-card i{
    width:58px !important;
    height:58px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:30px !important;
    font-style:normal !important;
    font-weight:900 !important;
    color:#fff !important;
}

.gf-share-final-card b{
    font-size:19px !important;
    line-height:1 !important;
    color:#111827 !important;
    font-weight:850 !important;
    text-align:center !important;
}

.gf-share-final-card span{
    font-size:13px !important;
    line-height:1.15 !important;
    color:#111827 !important;
    opacity:.9 !important;
    text-align:center !important;
}

.gf-share-final-card small{
    left:16px !important;
    right:16px !important;
    bottom:10px !important;
    background:#16a34a !important;
    color:#fff !important;
    border-radius:999px !important;
    padding:6px 8px !important;
    font-size:12px !important;
    font-weight:850 !important;
    opacity:0 !important;
    transform:translateY(8px) !important;
    transition:.16s ease !important;
}

.gf-share-final-card.copied small{
    opacity:1 !important;
    transform:translateY(0) !important;
}

/* Copy box */
.gf-share-final-copy{
    height:88px !important;
    margin-top:14px !important;
    padding:14px 16px !important;
    display:grid !important;
    grid-template-columns:62px 1fr 120px !important;
    gap:14px !important;
    align-items:center !important;
    background:#f0fdf4 !important;
    border:1px solid #bbf7d0 !important;
    border-radius:22px !important;
}

.gf-share-final-copy-icon{
    width:56px !important;
    height:56px !important;
    border-radius:50% !important;
    background:#16a34a !important;
    color:white !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:28px !important;
}

.gf-share-final-copy-main strong{
    display:block !important;
    font-size:18px !important;
    font-weight:850 !important;
    color:#111827 !important;
    margin-bottom:7px !important;
}

.gf-share-final-copy-main input{
    width:100% !important;
    height:46px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:14px !important;
    padding:0 14px !important;
    font-size:18px !important;
    font-weight:650 !important;
    color:#111827 !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.gf-share-final-copy button{
    width:120px !important;
    height:52px !important;
    border-radius:16px !important;
    border:0 !important;
    background:#16a34a !important;
    color:#fff !important;
    font-size:20px !important;
    font-weight:850 !important;
    padding:0 !important;
}

/* Floating success pill */
.gf-share-final-message{
    min-height:0 !important;
    margin-top:6px !important;
    text-align:center !important;
    color:#166534 !important;
    font-weight:850 !important;
}

.gf-share-final-message.show{
    display:inline-block !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    background:#ecfdf5 !important;
    border:1px solid #bbf7d0 !important;
    border-radius:999px !important;
    padding:8px 20px !important;
    box-shadow:0 8px 22px rgba(22,163,74,.18) !important;
}

/* Right artwork panel */
.gf-share-right{
    min-height:0 !important;
    padding:0 !important;
    border-radius:24px !important;
    background:radial-gradient(circle at center,#fff7d6 0%,#f0fdf4 58%,#fff 100%) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.gf-share-right img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

/* Hard kill all share popup scrollbars */
.modal-box:has(.gf-share-final),
#modalContent:has(.gf-share-final),
.modal-content:has(.gf-share-final),
.gf-share-final,
.gf-share-left,
.gf-share-right{
    overflow-x:hidden !important;
    overflow-y:hidden !important;
}

.modal-box:has(.gf-share-final)::-webkit-scrollbar,
#modalContent:has(.gf-share-final)::-webkit-scrollbar,
.modal-content:has(.gf-share-final)::-webkit-scrollbar,
.gf-share-final::-webkit-scrollbar,
.gf-share-left::-webkit-scrollbar,
.gf-share-right::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
}

/* Keep mobile/tablet usable without affecting desktop */
@media(max-width:1150px){
    .modal-box:has(.gf-share-final),
    #modalContent:has(.gf-share-final),
    .modal-content:has(.gf-share-final){
        width:94vw !important;
        height:88vh !important;
        max-width:94vw !important;
        max-height:88vh !important;
    }

    .gf-share-final{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .gf-share-right{
        display:none !important;
    }
}

@media(max-width:760px){
    .gf-share-final-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .gf-share-final-copy{
        grid-template-columns:1fr !important;
        height:auto !important;
        text-align:center !important;
    }

    .gf-share-final-copy-icon{
        margin:auto !important;
    }

    .gf-share-final-copy button{
        width:100% !important;
    }
}

@media(max-width:500px){
    .gf-share-final-grid{
        grid-template-columns:1fr !important;
    }

    .gf-share-final-hero{
        grid-template-columns:1fr !important;
        text-align:center !important;
    }

    .gf-share-final-fire{
        margin:auto !important;
    }

    .gf-share-final-hero h2{
        font-size:36px !important;
    }
}
/* Copy URL box alignment fix */

.gf-share-final-copy{
    height:82px !important;
    padding:12px 14px !important;
    align-items:center !important;
}

.gf-share-final-copy-main{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.gf-share-final-copy-main input{
    height:40px !important;
    line-height:40px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    margin:0 !important;
}

.gf-share-final-copy button{
    height:50px !important;
    align-self:center !important;
}
.gf-share-final-copy{
    margin-top:10px !important;
}

.gf-share-final-copy-main strong{
    margin-bottom:5px !important;
}
/* Lift title and URL box up */

.gf-share-final-copy-main{
    position:relative !important;
    top:-12px !important;
}

/* ==========================================================
   GrowFlow Shop Popup Patch CSS — SAFE APPEND ONLY
   ========================================================== */

.gf-shop-logo-card{
    position:relative !important;
    cursor:pointer !important;
    overflow:hidden !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
}

.gf-shop-logo-card:hover{
    transform:translateY(-2px) scale(1.03) !important;
    box-shadow:0 12px 28px rgba(22,163,74,.28) !important;
}

.gf-shop-logo-card strong{
    color:#064e3b !important;
    font-size:15px !important;
    line-height:1.05 !important;
    text-transform:uppercase !important;
}

.gf-shop-pulse-ring{
    position:absolute;
    inset:6px;
    border:2px solid rgba(34,197,94,.45);
    border-radius:16px;
    pointer-events:none;
    animation:gfShopPulse 2.2s infinite;
}

.gf-shop-click-hint{
    position:absolute;
    left:8px;
    right:8px;
    bottom:5px;
    background:#16a34a;
    color:white;
    border-radius:999px;
    padding:3px 6px;
    font-size:10px;
    font-weight:900;
    box-shadow:0 4px 10px rgba(22,163,74,.25);
}

.gf-shop-pop{ animation:gfShopPop .42s ease; }

@keyframes gfShopPulse{
    0%{opacity:.65; transform:scale(.96);}
    50%{opacity:.15; transform:scale(1.04);}
    100%{opacity:.65; transform:scale(.96);}
}

@keyframes gfShopPop{
    0%{transform:scale(1);}
    45%{transform:scale(1.12) rotate(-1deg);}
    100%{transform:scale(1);}
}

.modal-box:has(.gf-shop-modal),
#modalContent:has(.gf-shop-modal),
.modal-content:has(.gf-shop-modal){
    width:min(1240px,95vw) !important;
    max-width:1240px !important;
    max-height:90vh !important;
    overflow:hidden !important;
    padding:18px !important;
    border-radius:26px !important;
    background:#ffffff !important;
}

.gf-shop-modal{
    display:grid;
    grid-template-columns:430px 1fr;
    gap:22px;
    min-height:650px;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    color:#071225;
}

.gf-shop-visual{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    background:radial-gradient(circle at bottom, rgba(132,204,22,.22), transparent 40%),linear-gradient(135deg,#f8fff9,#ffffff);
    border:1px solid #bbf7d0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
}

.gf-shop-visual img{
    max-width:100%;
    max-height:560px;
    object-fit:contain;
    filter:drop-shadow(0 18px 24px rgba(15,23,42,.18));
}

.gf-shop-visual.missing-shop-image:after{
    content:"Add your tower image as static/assets/shop_tower.png";
    color:#064e3b;
    font-weight:900;
    text-align:center;
    max-width:260px;
    line-height:1.35;
}

.gf-shop-badge{
    position:absolute;
    top:28px;
    left:28px;
    width:112px;
    height:112px;
    border:2px solid #4d7c3b;
    border-radius:50%;
    background:rgba(255,255,255,.82);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#1f3d1f;
    font-size:22px;
    font-weight:900;
    line-height:1.15;
}

.gf-shop-badge span{ font-size:14px; font-weight:700; }

.gf-shop-free-app{
    position:absolute;
    left:30px;
    bottom:32px;
    background:#4f7d3d;
    color:white;
    border-radius:16px;
    padding:16px 18px;
    text-align:center;
    font-weight:900;
    font-size:16px;
    box-shadow:0 12px 26px rgba(15,23,42,.18);
}

.gf-shop-content{
    background:linear-gradient(135deg,#ffffff,#f8fff9);
    border:1px solid #e5efe8;
    border-radius:24px;
    padding:26px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.gf-shop-head span{
    display:block;
    color:#4f7d3d;
    letter-spacing:4px;
    font-weight:800;
    font-size:15px;
    margin-bottom:4px;
}

.gf-shop-head h2{
    margin:0;
    color:#102915;
    font-family:Georgia,"Times New Roman",serif;
    font-size:56px;
    line-height:1;
    letter-spacing:-2px;
}

.gf-shop-head p{
    margin:12px 0 20px;
    color:#475569;
    font-size:18px;
    line-height:1.3;
}

.gf-shop-panels{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.gf-shop-panel{
    background:white;
    border:1px solid #e3eadf;
    border-radius:18px;
    padding:16px;
    box-shadow:0 4px 14px rgba(15,23,42,.05);
}

.gf-shop-panel h3{
    margin:0 0 12px;
    color:#20351e;
    font-size:20px;
}

.gf-tier-card{
    width:100%;
    display:block;
    text-align:left;
    margin-bottom:10px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:linear-gradient(135deg,#ffffff,#f9fafb);
    box-shadow:0 3px 8px rgba(15,23,42,.04);
    padding:12px 14px;
}

.gf-tier-card:hover{
    border-color:#86efac;
    background:#f0fdf4;
}

.gf-tier-card b{ display:block; color:#102915; font-size:17px; }
.gf-tier-card span{ display:block; color:#475569; margin-top:3px; font-size:13px; line-height:1.25; }

.gf-shop-list{
    list-style:none;
    padding:0;
    margin:0 0 14px;
    display:grid;
    gap:12px;
}

.gf-shop-list li{
    position:relative;
    padding-left:34px;
    font-size:15px;
    color:#1f2937;
}

.gf-shop-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:-2px;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#5d7f43;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

.gf-secure-box{
    border:1px solid #a3c08a;
    background:#fbfff7;
    border-radius:16px;
    padding:14px;
    text-align:center;
}

.gf-secure-box b,
.gf-secure-box span,
.gf-secure-box small{ display:block; }

.gf-secure-box b{ color:#20351e; font-size:17px; }
.gf-secure-box span{ color:#4f7d3d; margin:3px 0 8px; }

.gf-secure-box button{
    width:100%;
    background:#ffc439;
    border:0;
    color:#003087;
    font-size:30px;
    font-weight:1000;
    border-radius:10px;
    padding:12px;
    box-shadow:none;
}

.gf-secure-box small{ margin-top:8px; color:#64748b; }

.gf-shop-selected{
    margin-top:14px;
    background:#ecfdf5;
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:11px 14px;
    color:#064e3b;
    font-weight:800;
}

.gf-shop-actions{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:10px;
    margin-top:14px;
}

.gf-shop-actions button{
    border:0;
    border-radius:14px;
    padding:13px;
    font-weight:900;
    background:#eef6ea;
    color:#20351e;
}

.gf-shop-actions .gf-buy-main{
    background:#16a34a;
    color:white;
}

@media(max-width:900px){
    .modal-box:has(.gf-shop-modal),
    #modalContent:has(.gf-shop-modal),
    .modal-content:has(.gf-shop-modal){
        overflow:auto !important;
    }

    .gf-shop-modal{
        grid-template-columns:1fr;
    }

    .gf-shop-visual{
        min-height:340px;
    }

    .gf-shop-panels,
    .gf-shop-actions{
        grid-template-columns:1fr;
    }

    .gf-shop-head h2{
        font-size:38px;
    }
}


/* --- Safe patch: keep top action buttons readable and tutorial CTA visible --- */
.top-actions button{white-space:normal;line-height:1.15;}
#towerGuideBtn{min-width:120px;}
#towerGuideBtn .guideBadge{margin-top:4px;font-size:10px;background:rgba(255,255,255,.22);border-radius:999px;padding:3px 7px;}
.modal-box{max-width:1120px;}
.scan-table td:first-child{min-width:260px;}


/* ===== Patch 1.8 — Clean shop-window image =====
   Removes old overlay label/button spacing and makes the tower image fill the visual card. */
.gf-shop-badge,
.gf-shop-free-app{
    display:none !important;
}

.gf-shop-visual{
    padding:0 !important;
    min-height:640px;
}

.gf-shop-visual img{
    width:100% !important;
    height:100% !important;
    min-height:640px;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center;
    display:block;
    filter:none !important;
}

@media(max-width:900px){
    .gf-shop-visual{
        min-height:520px;
    }

    .gf-shop-visual img{
        min-height:520px;
    }
}


/* ===== GrowFlow Patch 2.1 — top toolbar button polish =====
   START HERE drawn 6px smaller. SHARE button made matching gold. */

.top-actions{
    align-items:center;
}

#towerGuideBtn{
    min-width:214px !important;
    height:74px !important;
    padding:7px 13px !important;
    border-radius:13px !important;
    transform:scale(0.94) !important;
    transform-origin:center !important;
    box-shadow:0 5px 14px rgba(22,163,74,.30) !important;
}

#towerGuideBtn strong{
    font-size:16px !important;
    line-height:1.05 !important;
}

#towerGuideBtn span{
    font-size:10px !important;
    line-height:1.1 !important;
}

#towerGuideBtn .guideBadge{
    margin-top:4px !important;
    padding:2px 7px !important;
    font-size:9px !important;
}

@keyframes guidePulseSmall{
    0%{transform:scale(0.94) !important;}
    50%{transform:scale(1.00) !important;}
    100%{transform:scale(0.94) !important;}
}

#towerGuideBtn{
    animation:guidePulseSmall 2.8s infinite !important;
}

#towerGuideBtn:hover{
    transform:scale(1.00) !important;
}

#shareAppBtn,
button[onclick="openSharePopup()"]{
    position:relative;
    min-width:164px !important;
    height:74px !important;
    padding:9px 14px !important;
    border-radius:13px !important;
    border:2px solid #b7791f !important;
    background:linear-gradient(180deg,#fde68a,#f59e0b) !important;
    color:#3b2500 !important;
    font-weight:900 !important;
    box-shadow:0 6px 18px rgba(245,158,11,.34) !important;
    overflow:hidden;
}

#shareAppBtn:before,
button[onclick="openSharePopup()"]:before{
    content:"✨";
    position:absolute;
    left:10px;
    top:8px;
    font-size:17px;
}

#shareAppBtn strong,
button[onclick="openSharePopup()"] strong{
    display:block;
    font-size:15px !important;
    line-height:1.05;
    letter-spacing:.25px;
}

#shareAppBtn span,
button[onclick="openSharePopup()"] span{
    display:block;
    font-size:10px !important;
    line-height:1.15;
    margin-top:2px;
}

#shareAppBtn:after,
button[onclick="openSharePopup()"]:after{
    content:"Share shop + app";
    display:inline-block;
    margin-top:4px;
    background:rgba(255,255,255,.35);
    border-radius:999px;
    padding:2px 7px;
    font-size:9px;
    color:#3b2500;
}

#shareAppBtn:hover,
button[onclick="openSharePopup()"]:hover{
    transform:translateY(-1px) scale(1.03) !important;
    box-shadow:0 8px 22px rgba(245,158,11,.42) !important;
}


/* ===== GrowFlow Patch 2.2 — keep toolbar pulsing + WhatsApp picture button ===== */
@keyframes gfPulseGreenFinal{
    0%{transform:scale(.94); box-shadow:0 5px 14px rgba(22,163,74,.30);}
    50%{transform:scale(1.00); box-shadow:0 9px 24px rgba(22,163,74,.48);}
    100%{transform:scale(.94); box-shadow:0 5px 14px rgba(22,163,74,.30);}
}

@keyframes gfPulseGoldFinal{
    0%{transform:scale(.98); box-shadow:0 6px 18px rgba(245,158,11,.34);}
    50%{transform:scale(1.035); box-shadow:0 10px 28px rgba(245,158,11,.58);}
    100%{transform:scale(.98); box-shadow:0 6px 18px rgba(245,158,11,.34);}
}

#towerGuideBtn,
#towerGuideBtn.gf-pulse-green-final{
    animation:gfPulseGreenFinal 2.8s infinite ease-in-out !important;
}

#shareAppBtn,
#shareAppBtn.gf-pulse-gold-final,
button[onclick="openSharePopup()"]{
    animation:gfPulseGoldFinal 2.8s infinite ease-in-out !important;
}

#towerGuideBtn:hover,
#shareAppBtn:hover{
    animation-play-state:paused !important;
}

.gf-shop-visual{ position:relative !important; }

.gf-whatsapp-picture-btn{
    position:absolute;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    z-index:5;
    min-width:270px;
    border:0 !important;
    border-radius:999px !important;
    padding:12px 18px 12px 64px !important;
    background:linear-gradient(135deg,#25D366,#128C7E) !important;
    color:white !important;
    text-align:left !important;
    font-weight:1000 !important;
    box-shadow:0 12px 30px rgba(18,140,126,.42) !important;
    overflow:visible !important;
    isolation:isolate;
    animation:gfWhatsappFloat 1.9s infinite ease-in-out;
}

.gf-whatsapp-picture-btn:before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:999px;
    border:2px solid rgba(37,211,102,.55);
    animation:gfWhatsappRing 1.9s infinite ease-out;
    z-index:-1;
}

.gf-whatsapp-picture-btn .gf-wa-logo{
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border-radius:50%;
    background:white;
    color:#128C7E;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    line-height:1;
    font-weight:1000;
    box-shadow:0 5px 14px rgba(0,0,0,.22);
}

.gf-whatsapp-picture-btn strong{
    display:block;
    font-size:16px;
    line-height:1.05;
}

.gf-whatsapp-picture-btn small{
    display:block;
    font-size:11px;
    opacity:.94;
    margin-top:2px;
}

.gf-whatsapp-picture-btn:hover{
    animation-play-state:paused;
    transform:translateX(-50%) scale(1.04) !important;
}

@keyframes gfWhatsappFloat{
    0%,100%{bottom:24px;}
    50%{bottom:31px;}
}

@keyframes gfWhatsappRing{
    0%{opacity:.75; transform:scale(.96);}
    100%{opacity:0; transform:scale(1.18);}
}

@media(max-width:700px){
    .gf-whatsapp-picture-btn{
        min-width:220px;
        bottom:16px;
        padding-left:58px !important;
    }
}


/* ==========================================================
   GrowFlow Patch 2.3 — final licence popup + real toolbar pulse
   ========================================================== */
#towerGuideBtn.gf-start-real-pulse{
    scale:.94;
    animation:gfStartHereRealPulse 2.2s infinite ease-in-out !important;
    will-change:scale, box-shadow, filter;
}
#shareAppBtn.gf-share-real-pulse{
    scale:.98;
    animation:gfShareGoldRealPulse 2.2s infinite ease-in-out !important;
    will-change:scale, box-shadow, filter;
}
@keyframes gfStartHereRealPulse{
    0%,100%{scale:.94; box-shadow:0 5px 14px rgba(22,163,74,.30); filter:saturate(1);}
    50%{scale:1.015; box-shadow:0 0 0 5px rgba(34,197,94,.16),0 12px 28px rgba(22,163,74,.55); filter:saturate(1.18);}
}
@keyframes gfShareGoldRealPulse{
    0%,100%{scale:.98; box-shadow:0 6px 18px rgba(245,158,11,.34); filter:saturate(1);}
    50%{scale:1.035; box-shadow:0 0 0 5px rgba(250,204,21,.20),0 12px 30px rgba(245,158,11,.62); filter:saturate(1.2);}
}
.gf-search-lock-note-clickable{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.gf-search-lock-note-clickable button{background:#16a34a !important;color:#fff !important;border:0 !important;border-radius:999px !important;padding:8px 14px !important;box-shadow:0 6px 16px rgba(22,163,74,.22) !important;white-space:nowrap;}
.modal-box:has(.gf-full-licence-popup),#modalContent:has(.gf-full-licence-popup){max-width:1180px !important;width:min(1180px,94vw) !important;padding:0 !important;border-radius:28px !important;overflow:hidden !important;background:transparent !important;box-shadow:0 35px 100px rgba(2,6,23,.38) !important;}
.gf-full-licence-popup{position:relative;min-height:660px;padding:44px 54px 28px;background:radial-gradient(circle at 82% 20%, rgba(34,197,94,.12), transparent 17%),radial-gradient(circle at 8% 24%, rgba(250,204,21,.14), transparent 13%),linear-gradient(135deg,#ffffff 0%,#fbfffd 58%,#f4fff7 100%);border:1px solid rgba(15,23,42,.08);border-radius:28px;color:#071225;font-family:Arial,Helvetica,sans-serif;}
.gf-licence-x{position:absolute;top:22px;right:24px;width:48px;height:48px;border-radius:50% !important;border:0 !important;background:#fff !important;color:#071225 !important;font-size:34px !important;line-height:1 !important;box-shadow:0 8px 22px rgba(15,23,42,.12) !important;padding:0 !important;}
.gf-licence-top-row{display:grid;grid-template-columns:92px 1fr 190px;gap:22px;align-items:start;}
.gf-star-medal{width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;background:linear-gradient(180deg,#fff8db,#fff2b9);box-shadow:0 10px 28px rgba(250,204,21,.22);}
.gf-licence-top-row h2{margin:0;font-size:44px;letter-spacing:-1px;color:#071225;}
.gf-licence-status{margin:10px 0 0;font-size:22px;color:#0f172a;}.gf-licence-status b{color:#16a34a;}
.gf-price-sticker{justify-self:end;width:168px;height:168px;margin-top:50px;border-radius:34px;background:linear-gradient(145deg,#fff7b8,#facc15 58%,#f59e0b);border:4px solid #fff2a5;outline:3px solid rgba(250,204,21,.55);color:#064e3b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(2deg);box-shadow:0 18px 34px rgba(245,158,11,.26);}
.gf-price-sticker span{font-size:22px;font-weight:900;line-height:1;}.gf-price-sticker strong{font-size:74px;line-height:.9;color:#16a34a;text-shadow:0 3px 0 rgba(255,255,255,.55);}.gf-price-sticker em{font-style:normal;background:#16a34a;color:white;margin-top:8px;padding:7px 12px;border-radius:999px;font-size:15px;font-weight:1000;}
.gf-licence-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:30px;align-items:center;}.gf-licence-copy{position:relative;padding-left:58px;}.gf-cute-plant{position:absolute;left:-4px;top:-10px;font-size:74px;filter:drop-shadow(0 10px 14px rgba(22,163,74,.18));}.gf-licence-copy h3{margin:0;font-size:36px;line-height:1.18;letter-spacing:-.4px;}.gf-licence-copy h3 span{color:#16a34a;}.gf-licence-copy p{margin:16px 0 0;max-width:520px;color:#334155;font-size:22px;line-height:1.45;}
.gf-search-unlock-art{position:relative;height:205px;display:flex;align-items:center;justify-content:center;}.gf-search-unlock-art:before{content:"";position:absolute;right:40px;width:225px;height:225px;border-radius:50%;background:#e8f8e8;}.gf-magnify-mascot{position:absolute;left:35px;top:0;z-index:2;font-size:86px;filter:drop-shadow(0 14px 18px rgba(15,23,42,.18));}.gf-fake-search{position:absolute;right:84px;top:82px;z-index:1;width:260px;height:76px;border:2px solid #22c55e;border-radius:28px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.08);}.gf-fake-search span{font-size:44px;color:#94a3b8;position:absolute;left:28px;top:13px;}.gf-lock-bubble{position:absolute;right:38px;top:64px;z-index:3;width:86px;height:86px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#70d34d,#16a34a);font-size:42px;box-shadow:0 14px 30px rgba(22,163,74,.34);}
.gf-spark{position:absolute;color:#facc15;font-style:normal;font-size:28px;animation:gfSparkle 2s infinite ease-in-out;}.gf-spark.one{left:250px;top:8px}.gf-spark.two{right:18px;top:20px;animation-delay:.4s}.gf-spark.three{right:98px;bottom:18px;animation-delay:.8s}@keyframes gfSparkle{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.gf-benefit-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 42px 22px;}.gf-benefit-strip div{background:linear-gradient(135deg,#f0fdf4,#ffffff);border:1px solid #dcfce7;border-radius:18px;padding:18px 20px;box-shadow:0 8px 20px rgba(15,23,42,.05);}.gf-benefit-strip b{display:block;font-size:17px;color:#0f172a;margin-bottom:8px;}.gf-benefit-strip span{display:block;color:#475569;font-size:15px;}
.gf-licence-detail-box{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;margin:0 22px 24px;padding:30px 34px;border:1px solid #e2e8f0;border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 8px 28px rgba(15,23,42,.06) inset;font-size:21px;}.gf-licence-detail-box b{color:#0f172a;}.gf-budget-pill{position:absolute;right:24px;bottom:20px;background:#dcfce7;color:#16a34a;border:1px solid #22c55e;border-radius:999px;padding:8px 16px;font-weight:900;font-size:16px;}
.gf-licence-actions-new{display:grid;grid-template-columns:1fr 235px;gap:20px;align-items:center;margin:0 48px;}.gf-unlock-now{min-height:78px;border:0 !important;border-radius:18px !important;background:linear-gradient(180deg,#22c55e,#16a34a) !important;color:#fff !important;font-size:22px !important;font-weight:1000 !important;box-shadow:0 14px 32px rgba(22,163,74,.32) !important;}.gf-unlock-now small{display:inline-block;margin-left:12px;background:#facc15;color:#064e3b;border-radius:999px;padding:7px 12px;font-size:15px;vertical-align:middle;}.gf-continue-trial{min-height:74px;background:#fff !important;color:#16a34a !important;border:2px solid #16a34a !important;border-radius:18px !important;font-size:20px !important;font-weight:1000 !important;box-shadow:none !important;}.gf-licence-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:24px;color:#64748b;font-size:16px;font-weight:800;}
@media(max-width:900px){.gf-full-licence-popup{padding:28px;min-height:auto;}.gf-licence-top-row{grid-template-columns:70px 1fr;}.gf-price-sticker{grid-column:1/-1;justify-self:center;margin-top:8px;width:145px;height:145px;}.gf-price-sticker strong{font-size:58px;}.gf-licence-hero-grid,.gf-benefit-strip,.gf-licence-detail-box,.gf-licence-actions-new{grid-template-columns:1fr;margin-left:0;margin-right:0;}.gf-licence-copy{padding-left:0;text-align:center;}.gf-cute-plant{position:static;display:block;}.gf-licence-copy h3{font-size:28px}.gf-licence-copy p{font-size:18px;}.gf-search-unlock-art{display:none;}.gf-budget-pill{position:static;display:inline-block;width:max-content;}}


/* ===== GrowFlow Patch 2.4 — fun fruit/plant mascots for licence popup ===== */
.gf-full-licence-popup-fun{overflow:hidden;isolation:isolate;}
.gf-full-licence-popup-fun:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 5% 96%, rgba(34,197,94,.11), transparent 16%),radial-gradient(circle at 98% 70%, rgba(250,204,21,.10), transparent 18%);z-index:0;}
.gf-full-licence-popup-fun>*{position:relative;z-index:2;}
.gf-mascot{position:absolute;z-index:4;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffffff,#ecfdf5);border:2px solid rgba(187,247,208,.72);box-shadow:0 16px 34px rgba(15,23,42,.14);pointer-events:none;animation:gfMascotFloat 4.4s ease-in-out infinite;}
.gf-mascot span{font-size:44px;filter:drop-shadow(0 7px 8px rgba(15,23,42,.12));}
.gf-mascot:before,.gf-mascot:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.78);}
.gf-mascot:before{width:13px;height:13px;right:15px;top:13px;}.gf-mascot:after{width:8px;height:8px;right:29px;top:9px;}
.gf-mascot-strawberry{left:22px;top:18px;transform:rotate(-10deg);animation-delay:.2s;}
.gf-mascot-orange{right:116px;top:20px;width:66px;height:66px;transform:rotate(9deg);animation-delay:.6s;}
.gf-mascot-turnip{left:18px;top:238px;width:105px;height:105px;border-radius:38% 50% 46% 44%;background:linear-gradient(160deg,#fff,#fee2e2 62%,#ecfdf5);box-shadow:0 18px 38px rgba(22,163,74,.14);animation-delay:1s;}
.gf-mascot-turnip span{font-size:62px;}
.gf-mascot-leaf{left:26px;bottom:142px;width:62px;height:62px;animation-delay:1.4s;}
.gf-mascot-pot{right:338px;bottom:61px;width:68px;height:68px;animation-delay:.8s;}
.gf-mascot-lock{right:54px;bottom:128px;width:70px;height:70px;animation-delay:1.8s;}
.gf-price-sticker-fun{z-index:5;}
.gf-price-sticker-fun:before{content:"";position:absolute;left:18px;right:18px;top:-22px;height:28px;border-radius:999px;background:rgba(255,255,255,.38);}
.gf-star-medal{position:relative;z-index:5;}
.gf-cute-plant-fun{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#dcfce7);box-shadow:0 14px 30px rgba(22,163,74,.18);left:-22px !important;top:-24px !important;font-size:56px !important;}
.gf-search-unlock-art-fun{z-index:3;}.gf-magnify-mascot-fun{font-size:74px !important;animation:gfLookAround 3.8s ease-in-out infinite;}
.gf-licence-detail-box-fun:after{content:"🍀";position:absolute;right:-20px;top:-40px;font-size:54px;filter:drop-shadow(0 10px 12px rgba(22,163,74,.13));animation:gfMascotFloat 4.8s ease-in-out infinite .5s;}
.gf-licence-actions-fun{position:relative;z-index:6;}.gf-licence-actions-fun:after{content:"✨";position:absolute;left:110px;top:-28px;font-size:28px;animation:gfSparkle 2.1s ease-in-out infinite;}
@keyframes gfMascotFloat{0%,100%{translate:0 0;}50%{translate:0 -8px;}}
@keyframes gfLookAround{0%,100%{transform:rotate(-7deg) scale(1);}50%{transform:rotate(7deg) scale(1.06);}}
@media(max-width:900px){.gf-mascot{display:none;}.gf-cute-plant-fun{position:static !important;margin:0 auto 10px;}.gf-licence-detail-box-fun:after{display:none;}}

/* Keep the two main toolbar buttons alive and pulsing after all overrides. */
@keyframes gfFinalToolbarPulse{0%,100%{scale:1;}50%{scale:1.055;}}
#towerGuideBtn,button[onclick="openTutorialPopup()"]{animation:gfFinalToolbarPulse 2.6s ease-in-out infinite !important;}
#shareShopBtn,.gf-gold-share-btn,button[onclick="openSharePopup()"]{animation:gfFinalToolbarPulse 2.4s ease-in-out infinite !important;}


/* ===== GrowFlow Patch 2.5 — Exact mascot licence popup skin =====
   Reference art size: 1374 x 1145px.
   Modal keeps exact 6:5 proportions while scaling down responsively.
   Hit-zone measurements below are percentages copied from that artwork size.
*/
.modal-box:has(.gf-image-licence-popup),
#modalContent:has(.gf-image-licence-popup){
    width:min(1374px,96vw) !important;
    max-width:min(1374px,96vw) !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:32px !important;
    overflow:visible !important;
    box-shadow:none !important;
}

.gf-image-licence-popup{
    position:relative;
    width:100%;
    aspect-ratio:1374 / 1145;
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 34px 90px rgba(2,6,23,.42);
    background:#f8fff9;
}

.gf-image-licence-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    user-select:none;
    pointer-events:none;
}

.gf-image-hotspot{
    position:absolute;
    z-index:20;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:rgba(255,255,255,0) !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    box-shadow:none !important;
    border-radius:18px !important;
    transform:none !important;
}

.gf-image-hotspot:hover{
    background:rgba(34,197,94,.10) !important;
    outline:2px solid rgba(34,197,94,.18);
}

.gf-image-hotspot:focus-visible{
    outline:3px solid #22c55e !important;
    background:rgba(34,197,94,.12) !important;
}

/* Close X: artwork approx x=1274 y=30 w=74 h=74 */
.gf-image-close{
    left:92.72%;
    top:2.62%;
    width:5.39%;
    height:6.46%;
    border-radius:50% !important;
}

/* Green buy button: artwork approx x=90 y=957 w=839 h=88 */
.gf-image-buy{
    left:6.55%;
    top:83.58%;
    width:61.06%;
    height:7.69%;
    border-radius:18px !important;
}

/* Continue Trial button: artwork approx x=955 y=957 w=320 h=88 */
.gf-image-continue{
    left:69.50%;
    top:83.58%;
    width:23.29%;
    height:7.69%;
    border-radius:18px !important;
}

@media(max-width:760px){
    .modal-box:has(.gf-image-licence-popup),
    #modalContent:has(.gf-image-licence-popup){
        width:98vw !important;
    }
    .gf-image-licence-popup{
        border-radius:20px;
    }
}

/* ===== GrowFlow Patch 2.6 — Three-font clean typography system =====
   Three fonts only:
   1) Title font: friendly headings
   2) Body font: readable normal text
   3) UI font: buttons, labels, badges, stats
*/
:root{
    --gf-font-title:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    --gf-font-body:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --gf-font-ui:Verdana,"Segoe UI",Arial,sans-serif;

    --gf-title-weight:700;
    --gf-heading-weight:700;
    --gf-ui-weight:700;
    --gf-body-weight:400;
}

html,body,
input,textarea,select{
    font-family:var(--gf-font-body) !important;
    font-weight:var(--gf-body-weight);
    letter-spacing:.01em;
}

h1,h2,
.top-header h1,
.gf-license-left h1,
.gf-license-right h2,
.guide-modal h2,
.hydro-instructions-modal h2,
.image-guide h2,
.share-premium-title h2,
.modal-box h1,
.modal-box h2{
    font-family:var(--gf-font-title) !important;
    font-weight:var(--gf-title-weight) !important;
    letter-spacing:-.035em;
    line-height:1.08;
}

h3,h4,
.category-box h3,
.radar-box h3,
.database-panel h3,
.guide-step h3,
.guide-card h3,
.selected-deal h2,
.selected-deal h3,
.detail-head,
.metric-card strong,
.bottom-stats strong,
.bottom-stats span{
    font-family:var(--gf-font-title) !important;
    font-weight:var(--gf-heading-weight) !important;
    letter-spacing:-.015em;
}

button,
label,
strong,
b,
.metric-card span,
.feature-tabs button,
.feature-tabs strong,
.category-box button,
.logo-card strong,
.license-note,
.buy-btn,
.donate-btn,
.top-actions button,
.scan-buttons button,
.sort-row button,
.mini-deal,
.gf-license-badge,
.gf-trial-key-box code,
.gf-unlock-btn,
.gf-buy-btn,
.gf-start-trial,
.share-callout,
.brand-share,
.copy-panel-text strong,
.guide-step b,
.flow-chain span,
.ai-verdict,
.calc-grid label,
.resale-input-box label,
.resale-input-box button{
    font-family:var(--gf-font-ui) !important;
    font-weight:var(--gf-ui-weight) !important;
    letter-spacing:-.005em;
}

p,li,small,span,
td,th,
.selected-deal p,
.guide-step p,
.guide-step li,
.modal-box p,
.gf-license-right p,
.gf-tagline,
.gf-splash-points div{
    font-family:var(--gf-font-body) !important;
}

/* Make instruction/tutorial headings less shouty and cleaner */
.guide-modal h2,
.hydro-instructions-modal h2,
.image-guide h2{
    font-size:28px !important;
    font-weight:700 !important;
}

.guide-step h3,
.guide-card h3{
    font-size:18px !important;
    font-weight:700 !important;
}

.guide-step p,
.guide-step li,
.guide-subtitle,
.water-flow-box p{
    font-size:15px;
    line-height:1.55;
    font-weight:400 !important;
}

/* Reduce the overly-heavy look across cards and popups */
button,
.category-box button,
.top-actions button,
.scan-buttons button,
.sort-row button{
    font-weight:700 !important;
}

.metric-card strong,
.bottom-stats span{
    font-weight:700 !important;
}

/* Keep the exact licence-image popup untouched visually; only hotspots remain invisible */
.gf-image-licence-popup,
.gf-image-licence-popup *{
    letter-spacing:normal;
}

/* ===== Patch 2.7 — soften tutorial tab typography =====
   The Planting & Care tab was still inheriting the heavy generic button style.
   Guide tabs now use the BODY font, lighter weight, and cleaner spacing. */
.guide-tabs button,
.hydro-instructions-modal .guide-tabs button,
.guide-modal .guide-tabs button,
button[id^="guide"]{
    font-family:var(--gf-font-body) !important;
    font-weight:600 !important;
    font-size:15px !important;
    line-height:1.15 !important;
    letter-spacing:-.01em !important;
}

.guide-tabs button.active,
.hydro-instructions-modal .guide-tabs button.active,
.guide-modal .guide-tabs button.active,
button[id^="guide"].active{
    font-family:var(--gf-font-body) !important;
    font-weight:700 !important;
}

/* Instruction section titles: friendly title font, not harsh dashboard bold */
.guide-modal h2,
.hydro-instructions-modal h2,
.image-guide h2,
.water-flow-box h3,
.guide-step h3,
.guide-card h3{
    font-family:var(--gf-font-title) !important;
    font-weight:650 !important;
    letter-spacing:-.025em !important;
}

/* Body copy inside the instructions stays readable and calm */
.guide-subtitle,
.guide-step p,
.guide-step li,
.water-flow-box p,
.flow-chain span{
    font-family:var(--gf-font-body) !important;
}

/* ===== Patch 2.7 — Softer bold sidebar/category font =====
   Replaces the heavy Verdana-style category labels such as Philodendron.
   Keeps the text bold, but makes it friendlier and less dated.
*/
.category-box button,
.left-sidebar .category-box button{
    font-family:"Trebuchet MS", "Segoe UI", Arial, sans-serif !important;
    font-weight:700 !important;
    font-size:13.5px !important;
    letter-spacing:.1px !important;
    line-height:1.2 !important;
}

.category-box h3,
.left-sidebar .category-box h3{
    font-family:"Trebuchet MS", "Segoe UI", Arial, sans-serif !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;
}

/* ===== Patch 2.8 — Popup font cleanup =====
   Keeps the app to three font roles and removes the chunky Verdana-bold popup look.
   Title: Trebuchet MS | Body: Segoe UI | UI/buttons: Trebuchet MS
*/
:root{
    --gf-font-title:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    --gf-font-body:"Segoe UI",Arial,sans-serif;
    --gf-font-ui:"Trebuchet MS","Segoe UI",Arial,sans-serif;
}

/* All normal popup text */
.modal-box,
.modal-box p,
.modal-box li,
.modal-box span,
.modal-box small,
.modal-box input,
.modal-box textarea,
.modal-box select,
.guide-modal,
.hydro-instructions-modal,
.gf-license-window,
.gf-license-right,
.gf-share-final,
.share-modal-premium,
.gf-exact-licence-modal{
    font-family:var(--gf-font-body)!important;
    font-weight:400;
    letter-spacing:0;
}

/* Popup titles — bold enough, but not blocky */
.modal-box h1,
.modal-box h2,
.modal-box h3,
.guide-modal h2,
.guide-modal h3,
.hydro-instructions-modal h2,
.hydro-instructions-modal h3,
.gf-license-left h1,
.gf-license-right h2,
.gf-license-right h3,
.share-premium-title h2,
.gf-share-final h2,
.gf-share-final h3{
    font-family:var(--gf-font-title)!important;
    font-weight:700!important;
    letter-spacing:-0.025em;
    line-height:1.12;
}

/* Buttons / badges / labels inside popups */
.modal-box button,
.modal-close,
.guide-tabs button,
.hydro-instructions-modal .guide-tabs button,
.gf-trial-key-box button,
.gf-start-trial,
.gf-unlock-btn,
.gf-buy-btn,
.gf-license-badge,
.gf-license-badge button,
.brand-share,
.share-copy-panel button,
.gf-share-final button,
.gf-exact-close-zone,
.gf-exact-buy-zone,
.gf-exact-trial-zone,
.ai-verdict,
.guide-alert,
.flow-chain span,
.gf-feature-locked-btn{
    font-family:var(--gf-font-ui)!important;
    font-weight:700!important;
    letter-spacing:0;
}

/* Share popup: remove harsh chunky heading/text */
.share-premium-title h2,
.gf-share-final h2{
    font-weight:700!important;
    letter-spacing:-0.035em;
}

.share-premium-title p,
.brand-share span,
.copy-panel-text strong,
.copy-panel-text input,
.share-thanks,
.share-copy-msg,
.gf-share-final p,
.gf-share-final .gf-share-subtitle{
    font-family:var(--gf-font-body)!important;
    font-weight:400!important;
}

.brand-share strong,
.copy-panel-text strong,
.gf-share-final strong{
    font-family:var(--gf-font-ui)!important;
    font-weight:700!important;
}

/* Tutorial / instruction popup: softer titles */
.guide-step h3,
.guide-card h3,
.image-guide h2,
.water-flow-box h3{
    font-family:var(--gf-font-title)!important;
    font-weight:650!important;
    letter-spacing:-0.015em;
}

.guide-step p,
.guide-step li,
.water-flow-box p,
.image-guide p{
    font-family:var(--gf-font-body)!important;
    font-weight:400!important;
}

/* Calculator/report/about popups */
.calc-grid label,
.calc-result,
.ai-verdict{
    font-family:var(--gf-font-body)!important;
}
.calc-grid label{
    font-weight:600!important;
}

/* Exact image licence popup still uses image artwork, but any fallback/live controls stay clean */
.gf-exact-licence-wrap,
.gf-exact-licence-wrap button{
    font-family:var(--gf-font-ui)!important;
    font-weight:700!important;
}

/* ===== GrowFlow Patch 3.0 — PayPal return URL success popup ===== */
.gf-payment-return-popup{
    max-width:680px;
    width:min(680px,92vw);
    background:
        radial-gradient(circle at top right, rgba(34,197,94,.18), transparent 38%),
        linear-gradient(135deg,#ffffff,#f3fff7);
    border:1px solid #bbf7d0;
    border-radius:26px;
    padding:28px;
    color:#071225;
    box-shadow:0 24px 70px rgba(2,6,23,.28);
    position:relative;
    font-family:var(--gf-body-font,"Segoe UI",Arial,sans-serif);
}
.gf-payment-return-popup h2,
.gf-payment-return-popup h3{
    font-family:var(--gf-title-font,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    color:#071225;
    margin:0;
    font-weight:700;
}
.gf-return-close{
    top:14px!important;
    right:14px!important;
}
.gf-return-hero{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:20px;
}
.gf-return-star{
    width:76px;
    height:76px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fef3c7;
    border:1px solid #fde68a;
    font-size:42px;
    box-shadow:0 10px 26px rgba(250,204,21,.28);
}
.gf-return-status{
    margin:8px 0 0;
    color:#334155;
    font-size:17px;
    line-height:1.45;
}
.gf-return-card{
    background:rgba(255,255,255,.88);
    border:1px solid #bbf7d0;
    border-radius:20px;
    padding:18px;
    margin:16px 0;
}
.gf-return-card p{
    color:#475569;
    line-height:1.45;
}
.gf-return-key-row{
    display:grid;
    grid-template-columns:1fr 130px;
    gap:10px;
    align-items:center;
}
.gf-return-key-row button,
.gf-return-actions button{
    font-family:var(--gf-ui-font,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-weight:700;
    border-radius:14px;
}
.gf-return-key-row button{
    background:#16a34a;
    color:#fff;
    border:0;
    height:48px;
}
.gf-return-actions{
    display:flex;
    gap:12px;
    margin-top:16px;
}
.gf-return-actions button:first-child{
    background:#16a34a;
    color:white;
    border:0;
}
.gf-return-actions button:last-child{
    background:white;
    color:#166534;
    border:1px solid #22c55e;
}
.gf-return-note{
    display:block;
    margin-top:14px;
    color:#64748b;
    line-height:1.4;
}
@media(max-width:650px){
    .gf-return-hero{grid-template-columns:1fr;text-align:center;}
    .gf-return-star{margin:auto;}
    .gf-return-key-row{grid-template-columns:1fr;}
    .gf-return-actions{flex-direction:column;}
}


/* ===== GrowFlow Patch 3.1 — PayPal paid/pending ACTIVATE toolbar button ===== */
.gf-activate-paid-btn{
    display:none !important;
    position:relative;
    min-width:108px !important;
    padding:8px 12px !important;
    border:2px solid #f59e0b !important;
    border-radius:12px !important;
    background:linear-gradient(180deg,#fde68a,#facc15) !important;
    color:#3b2500 !important;
    box-shadow:0 8px 22px rgba(245,158,11,.32) !important;
    overflow:hidden;
}

.gf-activate-paid-btn.show{
    display:block !important;
    animation:gfActivatePulse 1.55s ease-in-out infinite !important;
}

.gf-activate-paid-btn strong{
    display:block;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.05;
}

.gf-activate-paid-btn span{
    display:block;
    margin-top:3px;
    font-family:"Segoe UI",Arial,sans-serif !important;
    font-size:10px !important;
    font-weight:650 !important;
    opacity:.92;
}

.gf-activate-paid-btn:after{
    content:"";
    position:absolute;
    inset:-40% auto -40% -70%;
    width:46%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
    transform:rotate(18deg);
    animation:gfActivateShine 2.4s linear infinite;
}

@keyframes gfActivatePulse{
    0%,100%{scale:1; box-shadow:0 8px 22px rgba(245,158,11,.30);}
    50%{scale:1.065; box-shadow:0 12px 32px rgba(245,158,11,.55);}
}

@keyframes gfActivateShine{
    0%{left:-70%;}
    55%{left:135%;}
    100%{left:135%;}
}

/* Cleaner activation modal when launched from PayPal return or ACTIVATE button */
.gf-payment-return-popup-clean{
    width:min(760px,94vw) !important;
    max-width:760px !important;
    background:linear-gradient(135deg,#ffffff,#f0fdf4) !important;
    border:1px solid #bbf7d0 !important;
    border-radius:28px !important;
    padding:28px !important;
    box-shadow:0 28px 80px rgba(2,6,23,.35) !important;
}

.gf-payment-return-popup-clean .gf-return-hero{
    display:grid;
    grid-template-columns:76px 1fr 88px;
    gap:18px;
    align-items:center;
}

.gf-payment-return-popup-clean .gf-return-star{
    width:76px;
    height:76px;
    border-radius:22px;
    background:linear-gradient(180deg,#fef3c7,#dcfce7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:38px;
    box-shadow:0 10px 22px rgba(22,163,74,.16);
}

.gf-payment-return-popup-clean h2{
    margin:0 0 8px;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif !important;
    font-size:34px;
    color:#071225;
}

.gf-payment-return-popup-clean .gf-return-status{
    margin:0;
    font-size:16px;
    line-height:1.45;
    color:#334155;
}

.gf-return-paid-badge{
    width:86px;
    height:86px;
    border-radius:24px;
    background:linear-gradient(180deg,#fde047,#facc15);
    border:3px solid #fef08a;
    color:#16a34a;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-weight:900;
    font-size:32px;
    line-height:.95;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 26px rgba(250,204,21,.32);
}

.gf-return-paid-badge span{
    color:#047857;
    font-size:14px;
}

.gf-payment-return-popup-clean .gf-return-card{
    margin-top:22px;
    background:#fff;
    border:1px solid #bbf7d0;
    border-radius:22px;
    padding:20px;
}

.gf-payment-return-popup-clean .gf-return-key-row{
    display:grid;
    grid-template-columns:1fr 130px;
    gap:12px;
    align-items:center;
    margin-top:14px;
}

.gf-payment-return-popup-clean .gf-return-key-row input{
    height:52px;
    border:2px solid #dbe5ee;
    border-radius:16px;
    padding:0 16px;
    font-size:17px;
    font-weight:800;
    letter-spacing:1px;
}

.gf-payment-return-popup-clean .gf-return-key-row button{
    height:52px;
    border:0;
    border-radius:16px;
    background:#16a34a;
    color:#fff;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-weight:900;
}

.gf-payment-return-popup-clean .gf-return-actions{
    display:flex;
    gap:12px;
    margin-top:18px;
}

.gf-payment-return-popup-clean .gf-return-actions button:first-child{
    background:#071225;
    color:#fff;
    border:0;
}

.gf-payment-return-popup-clean .gf-return-actions button:last-child{
    background:#fff;
    color:#166534;
    border:1px solid #22c55e;
}

.gf-return-trust-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
    margin-top:18px;
    color:#64748b;
    font-family:"Segoe UI",Arial,sans-serif;
    font-weight:700;
}

@media(max-width:720px){
    .gf-payment-return-popup-clean .gf-return-hero{grid-template-columns:1fr;text-align:center;}
    .gf-return-paid-badge,.gf-payment-return-popup-clean .gf-return-star{margin:auto;}
    .gf-payment-return-popup-clean .gf-return-key-row{grid-template-columns:1fr;}
    .gf-payment-return-popup-clean .gf-return-actions{flex-direction:column;}
}


/* ===== GrowFlow Patch 3.2 — PayPal return popup gently docks into ACTIVATE button ===== */
#modalOverlay.gf-return-overlay-docking{
    background:rgba(2,6,23,.36)!important;
    transition:background .8s ease;
}

.gf-payment-return-popup.gf-return-docking{
    animation:gfReturnDockToToolbar 1.35s cubic-bezier(.18,.88,.22,1) forwards;
    transform-origin:92% 5%;
    pointer-events:none;
}

@keyframes gfReturnDockToToolbar{
    0%{
        opacity:1;
        transform:translate(0,0) scale(1);
        filter:blur(0);
    }
    55%{
        opacity:.92;
        transform:translate(210px,-120px) scale(.64);
        filter:blur(0);
    }
    100%{
        opacity:0;
        transform:translate(430px,-260px) scale(.16);
        filter:blur(2px);
    }
}

.gf-activate-paid-btn.gf-activate-target-glow,
.gf-activate-paid-btn.gf-activate-arrived{
    display:inline-flex!important;
    outline:3px solid rgba(250,204,21,.55)!important;
    box-shadow:0 0 0 8px rgba(250,204,21,.20),0 12px 30px rgba(22,163,74,.36)!important;
}

.gf-activate-paid-btn.gf-activate-arrived{
    animation:gfActivateArrivedPop 1.8s ease both, gfActivatePaidPulse 1.9s ease-in-out infinite!important;
}

@keyframes gfActivateArrivedPop{
    0%{transform:scale(.86);}
    25%{transform:scale(1.15);}
    55%{transform:scale(.98);}
    100%{transform:scale(1);}
}

.gf-payment-return-popup-clean .gf-return-status:after{
    content:" After a few seconds this window will tuck itself into the ACTIVATE button while you wait for your emailed CD key.";
    display:block;
    margin-top:6px;
    color:#16a34a;
    font-weight:700;
}


/* ===== GrowFlow Patch 3.3 — polished PayPal return splash + real dock animation ===== */
#modalOverlay.gf-return-mode{
    background:rgba(2,6,23,.58)!important;
    backdrop-filter:blur(3px);
}

#modalOverlay.gf-return-mode .modal-box{
    width:min(780px,94vw)!important;
    max-width:780px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    border-radius:30px!important;
}

#modalOverlay.gf-return-mode .modal-box > .modal-close{
    display:none!important;
}

.gf-payment-return-popup-v2{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:30px;
    padding:26px 28px 22px;
    background:
        radial-gradient(circle at 8% 0%, rgba(250,204,21,.22), transparent 24%),
        radial-gradient(circle at 91% 8%, rgba(34,197,94,.22), transparent 28%),
        linear-gradient(135deg,#ffffff 0%,#f7fff9 64%,#ecfdf5 100%);
    border:1px solid #bbf7d0;
    box-shadow:0 30px 90px rgba(2,6,23,.38);
    font-family:"Segoe UI",Arial,sans-serif;
    color:#071225;
}

.gf-payment-return-popup-v2:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.55) 42%,transparent 60%);
    transform:translateX(-90%);
    animation:gfReturnSheen 3.4s ease-in-out infinite;
    pointer-events:none;
}

@keyframes gfReturnSheen{
    0%,38%{transform:translateX(-95%);}
    72%,100%{transform:translateX(120%);}
}

.gf-return-v2-close{
    position:absolute;
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    padding:0!important;
    border-radius:50%!important;
    background:#fff!important;
    border:1px solid #dbe5ee!important;
    box-shadow:0 8px 20px rgba(15,23,42,.12)!important;
    font-size:22px!important;
    line-height:1!important;
    z-index:3;
}

.gf-return-v2-top{
    display:grid;
    grid-template-columns:92px 1fr 112px;
    gap:18px;
    align-items:center;
    padding-right:34px;
}

.gf-return-v2-mascot{
    position:relative;
    width:90px;
    height:90px;
}

.gf-return-v2-star{
    position:absolute;
    left:10px;
    bottom:4px;
    width:66px;
    height:66px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    background:#fef3c7;
    border:1px solid #fde68a;
    font-size:40px;
    box-shadow:0 14px 28px rgba(250,204,21,.28);
}

.gf-return-v2-strawberry{
    position:absolute;
    left:0;
    top:-2px;
    z-index:2;
    font-size:34px;
    filter:drop-shadow(0 8px 10px rgba(15,23,42,.14));
    animation:gfTinyBob 2.2s ease-in-out infinite;
}

@keyframes gfTinyBob{
    0%,100%{transform:translateY(0) rotate(-4deg);}
    50%{transform:translateY(-5px) rotate(3deg);}
}

.gf-return-v2-kicker{
    display:inline-flex;
    gap:6px;
    align-items:center;
    background:#dcfce7;
    color:#166534;
    border:1px solid #86efac;
    border-radius:999px;
    padding:5px 10px;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size:12px;
    font-weight:800;
    margin-bottom:8px;
}

.gf-return-v2-copy h2{
    margin:0;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size:36px;
    line-height:1;
    font-weight:800;
    color:#071225;
}

.gf-return-v2-copy p{
    margin:10px 0 0;
    color:#334155;
    font-size:16px;
    line-height:1.45;
}

.gf-return-v2-badge{
    width:104px;
    height:104px;
    border-radius:28px;
    background:linear-gradient(180deg,#fde047,#facc15);
    border:3px solid #fef08a;
    box-shadow:0 14px 30px rgba(250,204,21,.32);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    transform:rotate(2deg);
}

.gf-return-v2-badge b{
    color:#16a34a;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size:38px;
    line-height:.9;
}

.gf-return-v2-badge span{
    margin-top:4px;
    color:#047857;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.gf-return-v2-journey{
    display:grid;
    grid-template-columns:auto 1fr auto 1fr auto;
    gap:10px;
    align-items:center;
    margin:22px 0 16px;
}

.gf-return-v2-step{
    background:#fff;
    border:1px solid #dbe5ee;
    border-radius:999px;
    padding:8px 12px;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-weight:800;
    color:#475569;
    white-space:nowrap;
}

.gf-return-v2-step.done{background:#ecfdf5;border-color:#86efac;color:#166534;}
.gf-return-v2-step.active{background:#fef3c7;border-color:#facc15;color:#713f12;animation:gfStepPulse 1.8s ease-in-out infinite;}
.gf-return-v2-line{height:3px;border-radius:999px;background:linear-gradient(90deg,#86efac,#facc15);}

@keyframes gfStepPulse{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.035);}
}

.gf-return-v2-card{
    background:rgba(255,255,255,.94);
    border:1px solid #bbf7d0;
    border-radius:24px;
    padding:18px;
    box-shadow:0 10px 30px rgba(15,23,42,.06);
}

.gf-return-v2-card h3{
    margin:0 0 6px;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;
    font-size:20px;
    font-weight:800;
    color:#071225;
}

.gf-return-v2-card p{
    margin:0;
    color:#475569;
    line-height:1.45;
}

.gf-return-v2-keyrow{
    display:grid;
    grid-template-columns:1fr 132px;
    gap:12px;
    margin-top:14px;
}

.gf-return-v2-keyrow input{
    height:52px;
    border:2px solid #071225!important;
    border-radius:16px!important;
    font-size:17px!important;
    font-weight:750!important;
    letter-spacing:1px;
}

.gf-return-v2-keyrow button,
.gf-return-v2-actions button{
    border-radius:16px!important;
    font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif!important;
    font-weight:800!important;
}

.gf-return-v2-keyrow button,
.gf-return-v2-primary{
    background:linear-gradient(180deg,#22c55e,#16a34a)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 10px 24px rgba(22,163,74,.25)!important;
}

.gf-return-v2-actions{
    display:flex;
    gap:12px;
    margin-top:16px;
}

.gf-return-v2-actions button{
    min-height:46px;
    padding:11px 16px!important;
}

.gf-return-v2-secondary{
    background:#fff!important;
    color:#166534!important;
    border:1px solid #22c55e!important;
}

.gf-return-v2-note{
    margin-top:14px;
    text-align:center;
    color:#64748b;
    font-size:12px;
    line-height:1.35;
    font-weight:650;
}

#modalOverlay.gf-return-docking-overlay{
    background:rgba(2,6,23,.22)!important;
    transition:background .7s ease;
}

#modalOverlay.gf-return-mode .modal-box.gf-return-docking-live{
    animation:gfReturnDockLive 1.75s cubic-bezier(.16,.84,.22,1) forwards!important;
    transform-origin:center center!important;
    pointer-events:none!important;
}

@keyframes gfReturnDockLive{
    0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);}
    45%{opacity:.96;transform:translate3d(calc(var(--gfDockX) * .42),calc(var(--gfDockY) * .42),0) scale(.72);filter:blur(0);}
    78%{opacity:.62;transform:translate3d(calc(var(--gfDockX) * .82),calc(var(--gfDockY) * .82),0) scale(.34);filter:blur(.6px);}
    100%{opacity:0;transform:translate3d(var(--gfDockX),var(--gfDockY),0) scale(var(--gfDockScale));filter:blur(1.6px);}
}

.gf-activate-paid-btn.gf-activate-target-glow{
    display:block!important;
    animation:gfActivatePulse 1.2s ease-in-out infinite!important;
    outline:4px solid rgba(250,204,21,.60)!important;
    box-shadow:0 0 0 10px rgba(250,204,21,.20),0 14px 34px rgba(245,158,11,.55)!important;
}

.gf-activate-paid-btn.gf-activate-arrived{
    display:block!important;
    animation:gfActivateArrive 1.6s ease both, gfActivatePulse 1.5s ease-in-out infinite!important;
}

@keyframes gfActivateArrive{
    0%{transform:scale(.78) rotate(-2deg);}
    30%{transform:scale(1.18) rotate(2deg);}
    60%{transform:scale(.96) rotate(0);}
    100%{transform:scale(1);}
}

@media(max-width:760px){
    .gf-return-v2-top{grid-template-columns:1fr;text-align:center;padding-right:0;}
    .gf-return-v2-mascot,.gf-return-v2-badge{margin:auto;}
    .gf-return-v2-journey{grid-template-columns:1fr;}
    .gf-return-v2-line{display:none;}
    .gf-return-v2-keyrow{grid-template-columns:1fr;}
    .gf-return-v2-actions{flex-direction:column;}
}

/* ===== GrowFlow Patch 3.4 — reliable fly-to-ACTIVATE animation support ===== */
.gf-return-fly-ghost{
    box-sizing:border-box!important;
    overflow:hidden!important;
    border-radius:30px!important;
    box-shadow:0 30px 90px rgba(2,6,23,.38)!important;
}
.gf-return-original-hide{
    opacity:.08!important;
    transition:opacity .25s ease!important;
}
#modalOverlay.gf-return-docking-overlay{
    background:rgba(2,6,23,.18)!important;
    transition:background .45s ease!important;
}
.gf-activate-paid-btn.gf-activate-target-glow,
.gf-activate-paid-btn.gf-activate-arrived{
    display:inline-flex!important;
    outline:4px solid rgba(250,204,21,.68)!important;
    box-shadow:0 0 0 10px rgba(250,204,21,.22),0 14px 34px rgba(245,158,11,.55)!important;
}

/* ===== Patch 3.0 — smaller full licence artwork popup =====
   The full licence popup is an image-based skin, so reducing the modal size
   scales every element and all text evenly without breaking the click zones.
   Keeps the original 1374 x 1145 proportions. */
.modal-box:has(.gf-image-licence-popup),
#modalContent:has(.gf-image-licence-popup){
    width:min(1240px,88vw,calc(88vh * 1.2)) !important;
    max-width:min(1240px,88vw,calc(88vh * 1.2)) !important;
}

.gf-image-licence-popup{
    border-radius:28px !important;
    box-shadow:0 28px 72px rgba(2,6,23,.38) !important;
}

@media(max-width:900px){
    .modal-box:has(.gf-image-licence-popup),
    #modalContent:has(.gf-image-licence-popup){
        width:min(96vw,calc(88vh * 1.2)) !important;
        max-width:min(96vw,calc(88vh * 1.2)) !important;
    }
}


/* ==========================================================
   GrowFlow Patch 4.0 — Productised £10 Search Unlock UI
   ========================================================== */
.gf-search-unlock-shell{
    background:
        radial-gradient(circle at 95% 12%, rgba(250,204,21,.18), transparent 16%),
        radial-gradient(circle at 8% 28%, rgba(34,197,94,.12), transparent 18%),
        linear-gradient(135deg,#ffffff,#f7fff9);
    border:1px solid #bbf7d0;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
    display:grid;
    gap:10px;
}
.gf-search-unlock-top{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:start;
}
.gf-search-kicker{
    display:inline-block;
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-weight:700;
    color:#16a34a;
    font-size:12px;
    margin-bottom:3px;
}
.gf-search-unlock-top h2{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    margin:0;
    font-size:22px;
    line-height:1.05;
    color:#071225;
    letter-spacing:-.025em;
}
.gf-search-unlock-top p{
    margin:5px 0 0;
    max-width:780px;
    color:#475569;
    line-height:1.35;
    font-size:13px;
}
.gf-search-state-pill{
    white-space:nowrap;
    border-radius:999px;
    padding:8px 12px;
    background:#fff7ed;
    color:#7c2d12;
    border:1px solid #fdba74;
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-weight:700;
    box-shadow:0 5px 14px rgba(15,23,42,.06);
}
.gf-search-state-pill.unlocked{
    background:#ecfdf5;
    color:#064e3b;
    border-color:#22c55e;
}
.gf-search-drop-zone .search-row{
    margin:0;
    box-shadow:none;
    border-color:#d8f7df;
    background:rgba(255,255,255,.92);
}
.gf-search-live-layer{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    color:#166534;
    font-size:12px;
    font-family:var(--gf-font-body,"Segoe UI",Arial,sans-serif);
    background:rgba(236,253,245,.72);
    border:1px solid rgba(134,239,172,.7);
    border-radius:14px;
    padding:9px 11px;
    overflow:hidden;
}
.gf-search-live-layer span{
    animation:gfSearchTextPulse 2.4s ease-in-out infinite;
}
.gf-search-live-layer span:nth-child(2){animation-delay:.35s;}
.gf-search-live-layer span:nth-child(3){animation-delay:.7s;}
@keyframes gfSearchTextPulse{
    0%,100%{opacity:.42;transform:translateY(0)}
    50%{opacity:1;transform:translateY(-1px)}
}
.gf-search-example-row{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:10px;
    font-size:12px;
    color:#475569;
}
.gf-search-example-row b{
    color:#064e3b;
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif);
}
.gf-search-example-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.gf-search-example-buttons button{
    padding:6px 9px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid #dbe5ee!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:650!important;
    color:#064e3b!important;
}
.gf-search-example-buttons button:hover{
    background:#ecfdf5!important;
    border-color:#22c55e!important;
}
.gf-search-unlock-offer{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    border-radius:16px;
    background:linear-gradient(135deg,#071225,#064e3b);
    color:#fff;
    padding:13px 14px;
    box-shadow:0 10px 24px rgba(6,78,59,.24);
}
.gf-search-unlock-shell.is-unlocked .gf-search-unlock-offer{
    background:linear-gradient(135deg,#ecfdf5,#ffffff);
    border:1px solid #22c55e;
    color:#064e3b;
}
.gf-search-unlock-offer strong,
.gf-search-unlock-offer span{
    display:block;
}
.gf-search-unlock-offer strong{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-size:16px;
    letter-spacing:-.01em;
}
.gf-search-unlock-offer span{
    color:rgba(255,255,255,.78);
    font-size:12px;
    margin-top:3px;
}
.gf-search-unlock-shell.is-unlocked .gf-search-unlock-offer span{
    color:#166534;
}
.gf-search-unlock-offer button{
    background:#22c55e!important;
    color:#052e16!important;
    border:0!important;
    border-radius:999px!important;
    padding:11px 16px!important;
    box-shadow:0 10px 22px rgba(34,197,94,.28)!important;
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
    font-weight:800!important;
    white-space:nowrap;
}
.gf-search-unlock-shell.is-unlocked .gf-search-unlock-offer button{
    background:#071225!important;
    color:#fff!important;
}
.gf-search-unlock-product-note{
    margin:0!important;
    border-radius:14px!important;
}
.gf-search-lock-note-clickable button{
    background:#facc15!important;
    color:#052e16!important;
}
.gf-locked-search{
    cursor:pointer;
    background:linear-gradient(90deg,#f8fafc,#fff7ed)!important;
    border-color:#facc15!important;
}

/* Search Unlock sales popup */
.modal-box:has(.gf-search-product-popup),
#modalContent:has(.gf-search-product-popup){
    max-width:920px!important;
    width:min(920px,94vw)!important;
    padding:0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    background:transparent!important;
}
.gf-search-product-popup{
    position:relative;
    padding:30px;
    border-radius:26px;
    background:
        radial-gradient(circle at 88% 12%, rgba(250,204,21,.22), transparent 18%),
        radial-gradient(circle at 8% 35%, rgba(34,197,94,.13), transparent 20%),
        linear-gradient(135deg,#ffffff,#f6fff9);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 30px 90px rgba(2,6,23,.32);
    color:#071225;
    font-family:var(--gf-font-body,"Segoe UI",Arial,sans-serif);
}
.gf-search-product-close{
    position:absolute;
    right:16px;
    top:16px;
    width:38px;
    height:38px;
    border-radius:50%!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    color:#071225!important;
    box-shadow:0 8px 20px rgba(15,23,42,.14)!important;
    font-size:22px!important;
}
.gf-search-product-hero{
    display:grid;
    grid-template-columns:1fr 155px;
    gap:24px;
    align-items:start;
    padding-right:38px;
}
.gf-search-product-kicker{
    display:inline-flex;
    background:#ecfdf5;
    border:1px solid #86efac;
    color:#064e3b;
    border-radius:999px;
    padding:7px 12px;
    font-weight:800;
    margin-bottom:12px;
}
.gf-search-product-copy h2{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif)!important;
    font-size:38px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin:0;
    max-width:610px;
}
.gf-search-product-copy p{
    font-size:16px;
    line-height:1.45;
    color:#334155;
    max-width:620px;
    margin:12px 0 0;
}
.gf-search-product-status{
    color:#16a34a!important;
    font-weight:700!important;
    margin-top:8px!important;
}
.gf-search-price-card{
    width:155px;
    height:155px;
    border-radius:30px;
    background:linear-gradient(180deg,#fde68a,#facc15);
    border:3px solid #fde047;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    box-shadow:0 18px 40px rgba(250,204,21,.28);
    transform:rotate(2deg);
}
.gf-search-price-card span,
.gf-search-price-card em{
    font-style:normal;
    font-weight:900;
    color:#064e3b;
}
.gf-search-price-card strong{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-size:58px;
    color:#16a34a;
    line-height:.9;
}
.gf-search-bar-demo{
    position:relative;
    margin:22px 0;
    display:grid;
    grid-template-columns:82px 1fr;
    gap:14px;
    align-items:center;
    background:rgba(236,253,245,.66);
    border:1px solid #bbf7d0;
    border-radius:22px;
    padding:18px;
}
.gf-demo-magnify{
    font-size:62px;
    filter:drop-shadow(0 12px 18px rgba(15,23,42,.18));
    animation:gfSearchBob 3s ease-in-out infinite;
}
@keyframes gfSearchBob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
.gf-demo-input{
    height:68px;
    background:#fff;
    border:2px solid #22c55e;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 18px;
    font-size:20px;
    color:#64748b;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.gf-demo-input b{
    width:58px;
    height:58px;
    border-radius:18px;
    background:#22c55e;
    display:flex;
    align-items:center;
    justify-content:center;
    color:white;
    box-shadow:0 10px 22px rgba(34,197,94,.28);
}
.gf-demo-motion{
    grid-column:1/-1;
    color:#166534;
    font-size:13px;
    animation:gfSearchTextPulse 2.2s ease-in-out infinite;
}
.gf-search-product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.gf-search-product-grid div{
    background:#fff;
    border:1px solid #d8f7df;
    border-radius:16px;
    padding:14px;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.gf-search-product-grid b,
.gf-search-product-grid span{
    display:block;
}
.gf-search-product-grid b{
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    font-size:15px;
}
.gf-search-product-grid span{
    color:#475569;
    font-size:13px;
    margin-top:6px;
    line-height:1.35;
}
.gf-search-product-examples{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0;
}
.gf-search-product-examples b{
    color:#064e3b;
    margin-right:4px;
}
.gf-search-product-examples span{
    border:1px solid #bbf7d0;
    background:#fff;
    color:#064e3b;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:650;
}
.gf-search-product-actions{
    display:grid;
    grid-template-columns:1fr 210px;
    gap:14px;
    align-items:center;
}
.gf-search-unlock-main{
    min-height:64px;
    background:linear-gradient(180deg,#22c55e,#16a34a)!important;
    color:#fff!important;
    border:0!important;
    border-radius:18px!important;
    font-size:20px!important;
    box-shadow:0 16px 32px rgba(22,163,74,.30)!important;
}
.gf-search-trial-btn{
    min-height:62px;
    background:#fff!important;
    color:#16a34a!important;
    border:2px solid #16a34a!important;
    border-radius:18px!important;
    box-shadow:none!important;
    font-size:16px!important;
}
.gf-search-discount-line{
    margin-top:14px;
    text-align:center;
    color:#64748b;
    font-size:13px;
}
.gf-search-splash-window .gf-buy-btn{
    background:#facc15!important;
    color:#052e16!important;
}
@media(max-width:760px){
    .gf-search-unlock-top,
    .gf-search-unlock-offer,
    .gf-search-product-hero,
    .gf-search-product-grid,
    .gf-search-product-actions,
    .gf-search-example-row{
        grid-template-columns:1fr;
    }
    .gf-search-price-card{
        justify-self:center;
        width:132px;height:132px;
    }
    .gf-search-price-card strong{font-size:48px;}
    .gf-search-product-copy h2{font-size:30px;}
    .gf-search-bar-demo{grid-template-columns:1fr;text-align:center;}
    .gf-demo-magnify{font-size:50px;}
}


/* ==========================================================
   GrowFlow Patch 4.1 — Visual polish for Product Search Unlock
   Makes the search unlock module closer to the premium mockup:
   larger product frame, better search row, chips, live layer, and CTA.
   ========================================================== */
.gf-search-unlock-shell{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:34px 42px 26px !important;
    border-radius:32px !important;
    border:1px solid rgba(187,247,208,.9) !important;
    background:
        radial-gradient(circle at 96% 8%, rgba(250,204,21,.24), transparent 14%),
        radial-gradient(circle at 7% 16%, rgba(34,197,94,.14), transparent 18%),
        linear-gradient(135deg,#ffffff 0%,#fbfff8 48%,#f1fff6 100%) !important;
    box-shadow:0 22px 54px rgba(15,23,42,.11) !important;
    gap:20px !important;
}
.gf-search-unlock-shell:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        radial-gradient(ellipse at 1% 9%, rgba(22,163,74,.10), transparent 22%),
        radial-gradient(circle at 94% 25%, rgba(186,230,253,.20), transparent 9%);
    opacity:.9;
}
.gf-search-unlock-shell:after{
    content:"";
    position:absolute;
    left:-32px;
    top:12px;
    width:150px;
    height:210px;
    opacity:.12;
    pointer-events:none;
    background:
        radial-gradient(ellipse at 50% 20%, #16a34a 0 18%, transparent 19%),
        radial-gradient(ellipse at 33% 45%, #22c55e 0 18%, transparent 19%),
        radial-gradient(ellipse at 67% 47%, #22c55e 0 18%, transparent 19%);
    filter:blur(.2px);
}
.gf-search-unlock-top{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:22px !important;
}
.gf-search-kicker{
    font-size:18px !important;
    color:#15803d !important;
    letter-spacing:-.01em;
    margin-bottom:8px !important;
}
.gf-search-unlock-top h2{
    font-size:41px !important;
    color:#08231b !important;
    letter-spacing:-.055em !important;
    line-height:.98 !important;
}
.gf-search-unlock-top p{
    margin-top:24px !important;
    font-size:20px !important;
    line-height:1.45 !important;
    max-width:1320px !important;
    color:#5b6777 !important;
}
.gf-search-state-pill{
    margin-top:10px;
    padding:17px 27px !important;
    font-size:18px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#fffaf0,#fff7ed) !important;
    border-color:#fed7aa !important;
    box-shadow:0 12px 30px rgba(251,146,60,.12) !important;
}
.gf-search-drop-zone .search-row{
    display:grid !important;
    grid-template-columns:240px minmax(350px,1fr) 245px 160px !important;
    align-items:center !important;
    gap:22px !important;
    padding:24px 26px !important;
    min-height:112px;
    border-radius:26px !important;
    background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(226,232,240,.95) !important;
    box-shadow:0 14px 36px rgba(15,23,42,.075) !important;
}
.gf-search-drop-zone .search-row label{
    position:relative;
    display:flex;
    align-items:center;
    gap:16px;
    font-size:21px !important;
    color:#071225 !important;
    font-weight:800 !important;
    font-family:var(--gf-font-ui,"Trebuchet MS","Segoe UI",Arial,sans-serif) !important;
}
.gf-search-drop-zone .search-row label:before{
    content:"🔎";
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
    border:1px solid #e2e8f0;
    box-shadow:0 10px 22px rgba(15,23,42,.075);
    font-size:34px;
}
.gf-search-drop-zone .search-row input{
    height:70px !important;
    border-radius:16px !important;
    border:2px solid #fbbf24 !important;
    background:#fff !important;
    font-size:22px !important;
    padding:0 24px 0 58px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.8) !important;
}
.gf-search-drop-zone .search-row:has(input)::after{
    content:"⌕";
    position:absolute;
    pointer-events:none;
}
.gf-search-drop-zone .search-row button{
    min-height:70px !important;
    border-radius:16px !important;
    font-size:20px !important;
    font-weight:800 !important;
}
.gf-search-drop-zone .search-row button.gf-feature-locked-btn,
.gf-search-drop-zone .search-row button:nth-of-type(1){
    background:linear-gradient(180deg,#fde68a,#facc15) !important;
    color:#052e16 !important;
    border:0 !important;
    box-shadow:0 14px 28px rgba(250,204,21,.30) !important;
}
.gf-search-drop-zone .search-row button:nth-of-type(2){
    background:#fff !important;
    color:#071225 !important;
    border:1px solid #cbd5e1 !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
}
.gf-search-live-layer{
    justify-content:space-between;
    gap:28px !important;
    padding:15px 28px !important;
    min-height:60px;
    border-radius:18px !important;
    background:rgba(236,253,245,.66) !important;
    border:1px solid rgba(134,239,172,.95) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.gf-search-live-layer span{
    position:relative;
    flex:1;
    font-size:18px !important;
    font-weight:750;
    color:#2f8e4e;
    white-space:nowrap;
}
.gf-search-live-layer span:after{
    content:"";
    position:absolute;
    left:24px;
    right:18px;
    top:50%;
    height:7px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(34,197,94,.12),rgba(34,197,94,.04));
    transform:translateY(-50%);
    z-index:-1;
}
.gf-search-example-row{
    grid-template-columns:auto 1fr !important;
    gap:28px !important;
    align-items:center;
    padding:2px 4px;
}
.gf-search-example-row b{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:19px !important;
}
.gf-search-example-row b:before{
    content:"💡";
}
.gf-search-example-buttons{
    gap:14px !important;
}
.gf-search-example-buttons button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:11px 18px !important;
    border-radius:14px !important;
    border:1px solid #dbe5ee !important;
    background:rgba(255,255,255,.96) !important;
    color:#071225 !important;
    box-shadow:0 6px 15px rgba(15,23,42,.06) !important;
    font-size:16px !important;
    font-weight:750 !important;
}
.gf-search-example-buttons button span{
    color:#16a34a;
}
.gf-search-unlock-product-note{
    position:relative;
    min-height:60px;
    display:flex;
    align-items:center;
    padding:16px 24px 16px 72px !important;
    font-size:20px !important;
    color:#8a3b0a !important;
    background:linear-gradient(180deg,#fffaf3,#fff7ed) !important;
    border:1px solid #fdba74 !important;
    border-radius:18px !important;
}
.gf-search-unlock-product-note:before{
    content:"🔒";
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ffedd5;
}
.gf-search-unlock-product-note button{
    margin-left:auto;
    border:0!important;
    border-radius:999px!important;
    padding:11px 18px!important;
    font-size:16px!important;
    background:#facc15!important;
    color:#052e16!important;
}
.gf-search-unlock-offer{
    position:relative;
    grid-template-columns:98px minmax(0,1fr) 390px !important;
    min-height:118px;
    border-radius:22px !important;
    padding:23px 26px !important;
    overflow:hidden;
    background:
        radial-gradient(circle at 62% 38%, rgba(255,255,255,.10), transparent 8%),
        radial-gradient(circle at 68% 62%, rgba(255,255,255,.08), transparent 6%),
        linear-gradient(135deg,#042f2e,#064e3b 58%,#166534 100%) !important;
    box-shadow:0 18px 34px rgba(6,78,59,.27) !important;
}
.gf-search-unlock-offer:after{
    content:"";
    position:absolute;
    right:300px;
    bottom:-34px;
    width:270px;
    height:140px;
    opacity:.22;
    background:
        radial-gradient(ellipse at 55% 20%, #86efac 0 18%, transparent 19%),
        radial-gradient(ellipse at 32% 48%, #22c55e 0 18%, transparent 19%),
        radial-gradient(ellipse at 68% 50%, #16a34a 0 18%, transparent 19%);
    pointer-events:none;
}
.gf-search-offer-mascot{
    width:72px;
    height:72px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fefce8;
    border:2px solid rgba(250,204,21,.9);
    font-size:44px;
    box-shadow:0 12px 25px rgba(0,0,0,.18);
    z-index:1;
}
.gf-search-unlock-offer strong{
    font-size:29px !important;
    line-height:1.05;
    text-shadow:0 2px 6px rgba(0,0,0,.18);
}
.gf-search-unlock-offer strong::first-letter{
    color:#86efac;
}
.gf-search-unlock-offer span{
    margin-top:12px !important;
    color:#ecfdf5 !important;
    font-size:20px !important;
}
.gf-search-unlock-offer button{
    min-height:72px;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fde68a,#facc15) !important;
    color:#052e16 !important;
    font-size:22px !important;
    box-shadow:0 16px 34px rgba(250,204,21,.28) !important;
    z-index:1;
}
.gf-search-unlock-shell.is-unlocked .gf-search-unlock-offer{
    grid-template-columns:90px minmax(0,1fr) 260px !important;
}
@media(max-width:1200px){
    .gf-search-unlock-shell{padding:24px !important;}
    .gf-search-unlock-top h2{font-size:32px !important;}
    .gf-search-unlock-top p{font-size:16px !important;margin-top:12px !important;}
    .gf-search-drop-zone .search-row{grid-template-columns:1fr;}
    .gf-search-live-layer{justify-content:flex-start;}
    .gf-search-unlock-offer{grid-template-columns:80px 1fr !important;}
    .gf-search-unlock-offer button{grid-column:1/-1;}
}
@media(max-width:760px){
    .gf-search-unlock-shell{padding:18px !important;border-radius:22px !important;}
    .gf-search-state-pill{justify-self:start;}
    .gf-search-example-row{grid-template-columns:1fr !important;}
    .gf-search-live-layer{display:grid;}
    .gf-search-unlock-product-note{font-size:15px!important;padding-left:60px!important;}
    .gf-search-unlock-product-note button{margin:10px 0 0 0;display:block;width:100%;}
    .gf-search-unlock-offer{grid-template-columns:1fr !important;text-align:center;}
    .gf-search-offer-mascot{margin:auto;}
}


/* ==========================================================
   GrowFlow Patch 4.5 — Search Unlock Serial Key Activation UI
   ========================================================== */
.gf-search-serial-box{
    margin:16px 0 0;
    padding:16px;
    border-radius:18px;
    background:linear-gradient(135deg,#f8fffb,#ffffff);
    border:1px solid #bbf7d0;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    font-family:var(--gf-font-body,"Segoe UI",Arial,sans-serif);
}
.gf-search-serial-box strong,
.gf-search-serial-box span{
    display:block;
}
.gf-search-serial-box strong{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    color:#064e3b;
    font-size:17px;
}
.gf-search-serial-box span{
    color:#475569;
    font-size:13px;
    margin-top:4px;
}
.gf-search-serial-row{
    display:grid;
    grid-template-columns:1fr 135px;
    gap:10px;
    margin-top:12px;
}
.gf-search-serial-row input{
    height:46px;
    border-radius:13px;
    border:2px solid #22c55e;
    padding:0 14px;
    font-size:15px;
    font-weight:750;
    letter-spacing:1px;
    text-transform:uppercase;
    outline:none;
}
.gf-search-serial-row button{
    border:0!important;
    border-radius:13px!important;
    background:#16a34a!important;
    color:#fff!important;
    font-weight:850!important;
    box-shadow:0 10px 22px rgba(22,163,74,.22)!important;
}
.gf-search-serial-msg{
    min-height:18px;
    margin:10px 0 0!important;
    font-size:13px!important;
    font-weight:750;
}
.gf-search-serial-msg.good{color:#15803d!important;}
.gf-search-serial-msg.bad{color:#b91c1c!important;}
.gf-search-serial-box.activated{
    background:#ecfdf5;
    border-color:#22c55e;
}
.gf-search-is-unlocked .gf-search-state-pill{
    background:#ecfdf5!important;
    border-color:#22c55e!important;
    color:#064e3b!important;
}
.gf-search-is-unlocked .gf-locked-search{
    cursor:text!important;
    background:#fff!important;
    border-color:#22c55e!important;
}
@media(max-width:700px){
    .gf-search-serial-row{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   GrowFlow Patch 4.6 — FINAL compact Search Unlock + one CTA
   This must stay at the very bottom of style.css.
   Fixes:
   - restores compact dashboard footprint
   - removes duplicate unlock buttons
   - keeps only the main bottom Unlock Search Access CTA
   - keeps serial activation styles intact
   ========================================================== */

/* Main shell back to compact app-dashboard size */
.gf-search-unlock-shell{
    padding:18px 20px 16px !important;
    border-radius:22px !important;
    gap:12px !important;
    box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}

/* Header compact */
.gf-search-unlock-top{
    gap:14px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
}
.gf-search-kicker{
    font-size:13px !important;
    margin-bottom:4px !important;
}
.gf-search-unlock-top h2{
    font-size:24px !important;
    line-height:1.04 !important;
    letter-spacing:-.035em !important;
}
.gf-search-unlock-top p{
    margin-top:8px !important;
    font-size:14px !important;
    line-height:1.35 !important;
    max-width:980px !important;
}
.gf-search-state-pill{
    margin-top:0 !important;
    padding:9px 14px !important;
    font-size:13px !important;
}

/* Search row: label | input | clear. No unlock button here. */
.gf-search-drop-zone .search-row{
    display:grid !important;
    grid-template-columns:155px minmax(240px,1fr) 96px !important;
    gap:14px !important;
    padding:14px 16px !important;
    min-height:74px !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.gf-search-drop-zone .search-row label{
    gap:10px !important;
    font-size:14px !important;
}
.gf-search-drop-zone .search-row label:before{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    font-size:20px !important;
}
.gf-search-drop-zone .search-row input{
    height:42px !important;
    border-radius:12px !important;
    font-size:14px !important;
    padding:0 14px !important;
}
.gf-search-drop-zone .search-row button{
    min-height:42px !important;
    border-radius:12px !important;
    font-size:13px !important;
    padding:0 12px !important;
}

/* Hide duplicate unlock button in the search row */
.gf-search-drop-zone .search-row button.gf-feature-locked-btn,
.gf-search-drop-zone .search-row button[onclick*="openSearchUnlockPopup"],
.gf-search-drop-zone .search-row button[onclick*="openFullVersionPopup"]{
    display:none !important;
}

/* Make the remaining Clear button sit in the final column */
.gf-search-drop-zone .search-row button:not(.gf-feature-locked-btn){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* Compact live-status strip */
.gf-search-live-layer{
    gap:14px !important;
    padding:8px 12px !important;
    min-height:0 !important;
    border-radius:12px !important;
}
.gf-search-live-layer span{
    font-size:12px !important;
    font-weight:700 !important;
}
.gf-search-live-layer span:after{
    left:18px !important;
    right:10px !important;
    height:5px !important;
}

/* Compact preset chips */
.gf-search-example-row{
    gap:14px !important;
    grid-template-columns:auto 1fr !important;
}
.gf-search-example-row b{
    font-size:14px !important;
    gap:6px !important;
}
.gf-search-example-buttons{
    gap:8px !important;
}
.gf-search-example-buttons button{
    min-height:32px !important;
    padding:6px 10px !important;
    border-radius:10px !important;
    font-size:12px !important;
    gap:6px !important;
}

/* Warning strip compact, no mini unlock button */
.gf-search-unlock-product-note{
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    padding:10px 14px 10px 48px !important;
    font-size:14px !important;
    border-radius:14px !important;
}
.gf-search-unlock-product-note:before{
    left:12px !important;
    width:26px !important;
    height:26px !important;
    font-size:14px !important;
}
.gf-search-unlock-product-note button,
.gf-search-lock-note-clickable button{
    display:none !important;
}

/* Bottom CTA: the ONLY unlock button */
.gf-search-unlock-offer{
    grid-template-columns:56px minmax(0,1fr) 240px !important;
    min-height:72px !important;
    border-radius:16px !important;
    padding:14px 16px !important;
    gap:14px !important;
    box-shadow:0 12px 24px rgba(6,78,59,.22) !important;
}
.gf-search-unlock-offer:after{
    right:190px !important;
    bottom:-26px !important;
    width:180px !important;
    height:92px !important;
}
.gf-search-offer-mascot{
    width:46px !important;
    height:46px !important;
    font-size:28px !important;
}
.gf-search-unlock-offer strong{
    font-size:16px !important;
    line-height:1.06 !important;
}
.gf-search-unlock-offer span{
    margin-top:4px !important;
    font-size:12px !important;
}
.gf-search-unlock-offer button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    border-radius:12px !important;
    font-size:14px !important;
    padding:0 16px !important;
    box-shadow:0 12px 22px rgba(250,204,21,.22) !important;
}

/* Serial activation box remains tidy */
.gf-search-serial-box{
    margin-top:14px !important;
}

/* Responsive */
@media(max-width:1200px){
    .gf-search-unlock-shell{padding:16px !important;}
    .gf-search-unlock-top h2{font-size:22px !important;}
    .gf-search-unlock-top p{font-size:13px !important;}
    .gf-search-drop-zone .search-row{grid-template-columns:1fr !important;}
    .gf-search-live-layer{justify-content:flex-start;}
    .gf-search-unlock-offer{grid-template-columns:1fr !important;text-align:left !important;}
    .gf-search-unlock-offer button{grid-column:auto !important;width:100%;}
}
@media(max-width:760px){
    .gf-search-unlock-shell{padding:14px !important;border-radius:18px !important;}
    .gf-search-unlock-top{grid-template-columns:1fr !important;}
    .gf-search-state-pill{justify-self:start !important;}
    .gf-search-example-row{grid-template-columns:1fr !important;}
    .gf-search-live-layer{display:grid !important;}
    .gf-search-unlock-product-note{font-size:13px !important;}
    .gf-search-unlock-offer{text-align:center !important;grid-template-columns:1fr !important;}
    .gf-search-offer-mascot{margin:auto !important;}
}


/* ==========================================================
   GrowFlow Patch 4.7 — Serial activation box on Search Unlock popup
   ========================================================== */
.gf-search-product-popup-direct{
    max-width:940px;
}
.gf-search-serial-box{
    margin:16px 0 0;
    padding:16px;
    border-radius:18px;
    background:linear-gradient(135deg,#f8fffb,#ffffff);
    border:1px solid #bbf7d0;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    font-family:var(--gf-font-body,"Segoe UI",Arial,sans-serif);
}
.gf-search-serial-box strong,
.gf-search-serial-box span{
    display:block;
}
.gf-search-serial-box strong{
    font-family:var(--gf-font-title,"Trebuchet MS","Segoe UI",Arial,sans-serif);
    color:#064e3b;
    font-size:17px;
}
.gf-search-serial-box span{
    color:#475569;
    font-size:13px;
    margin-top:4px;
}
.gf-search-serial-row{
    display:grid;
    grid-template-columns:1fr 135px;
    gap:10px;
    margin-top:12px;
}
.gf-search-serial-row input{
    height:46px;
    border-radius:13px;
    border:2px solid #22c55e;
    padding:0 14px;
    font-size:15px;
    font-weight:750;
    letter-spacing:1px;
    text-transform:uppercase;
    outline:none;
}
.gf-search-serial-row button{
    border:0!important;
    border-radius:13px!important;
    background:#16a34a!important;
    color:#fff!important;
    font-weight:850!important;
    box-shadow:0 10px 22px rgba(22,163,74,.22)!important;
}
.gf-search-serial-msg{
    min-height:18px;
    margin:10px 0 0!important;
    font-size:13px!important;
    font-weight:750;
}
.gf-search-serial-msg.good{color:#15803d!important;}
.gf-search-serial-msg.bad{color:#b91c1c!important;}
.gf-search-serial-box.activated{
    background:#ecfdf5;
    border-color:#22c55e;
}
.gf-search-community-note{
    text-align:center;
    color:#64748b;
    font-size:12px;
    margin:12px 0 0!important;
}
.gf-search-is-unlocked .gf-search-state-pill{
    background:#ecfdf5!important;
    border-color:#22c55e!important;
    color:#064e3b!important;
}
.gf-search-is-unlocked .gf-locked-search{
    cursor:text!important;
    background:#fff!important;
    border-color:#22c55e!important;
}
@media(max-width:700px){
    .gf-search-serial-row{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   FORCE PATCH — GrowFlow Search Unlock Serial Activation CSS
   PASTE THIS AT THE VERY END OF static/style.css
   ========================================================== */

.gf-force-serial-box{
    margin:16px 0 0;
    padding:16px;
    border-radius:18px;
    background:linear-gradient(135deg,#f8fffb,#ffffff);
    border:1px solid #bbf7d0;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    font-family:"Segoe UI",Arial,sans-serif;
}
.gf-force-serial-box strong,
.gf-force-serial-box span{
    display:block;
}
.gf-force-serial-box strong{
    color:#064e3b;
    font-size:17px;
}
.gf-force-serial-box span{
    color:#475569;
    font-size:13px;
    margin-top:4px;
}
.gf-force-serial-row{
    display:grid;
    grid-template-columns:1fr 135px;
    gap:10px;
    margin-top:12px;
}
.gf-force-serial-row input{
    height:46px;
    border-radius:13px;
    border:2px solid #22c55e;
    padding:0 14px;
    font-size:15px;
    font-weight:750;
    letter-spacing:1px;
    text-transform:uppercase;
    outline:none;
}
.gf-force-serial-row button{
    border:0!important;
    border-radius:13px!important;
    background:#16a34a!important;
    color:#fff!important;
    font-weight:850!important;
    box-shadow:0 10px 22px rgba(22,163,74,.22)!important;
}
.gf-force-serial-msg{
    min-height:18px;
    margin:10px 0 0!important;
    font-size:13px!important;
    font-weight:750;
}
.gf-force-serial-msg.good{color:#15803d!important;}
.gf-force-serial-msg.bad{color:#b91c1c!important;}
.gf-force-serial-box.activated{
    background:#ecfdf5;
    border-color:#22c55e;
}
.gf-search-community-note{
    text-align:center;
    color:#64748b;
    font-size:12px;
    margin:12px 0 0!important;
}
.gf-search-is-unlocked .gf-search-state-pill{
    background:#ecfdf5!important;
    border-color:#22c55e!important;
    color:#064e3b!important;
}
.gf-search-is-unlocked .gf-locked-search{
    cursor:text!important;
    background:#fff!important;
    border-color:#22c55e!important;
}
@media(max-width:700px){
    .gf-force-serial-row{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   GrowFlow Tools Panel
   ========================================================== */
.modal-box:has(.gf-tools-modal),
#modalContent:has(.gf-tools-modal){
    max-width:980px;
}
.gf-tools-modal{
    font-family:"Segoe UI",Arial,sans-serif;
    color:#071225;
}
.gf-tools-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}
.gf-tools-head span{
    display:block;
    color:#15803d;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}
.gf-tools-head h2{
    margin:4px 0 0;
    font-size:28px;
    line-height:1.05;
    color:#052e16;
}
.gf-tools-head button,
.gf-tool-actions button,
.gf-tool-stack button{
    background:#dcfce7;
    border-color:#86efac;
    color:#064e3b;
}
.gf-tools-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:14px;
}
.gf-tools-summary div{
    border:1px solid #dbe5ee;
    border-radius:12px;
    padding:10px;
    background:#f8fafc;
}
.gf-tools-summary b{
    display:block;
    font-size:20px;
    color:#071225;
}
.gf-tools-summary span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}
.gf-tools-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    gap:12px;
}
.gf-tool-card{
    border:1px solid #dbe5ee;
    border-radius:14px;
    padding:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.gf-tool-wide{
    grid-row:span 3;
}
.gf-tool-card h3{
    margin:0 0 10px;
    color:#064e3b;
    font-size:18px;
}
.gf-tool-card p{
    color:#475569;
    margin:0 0 12px;
}
.gf-tool-inputs{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}
.gf-tool-inputs label{
    color:#334155;
    font-size:12px;
    font-weight:900;
}
.gf-tool-inputs input{
    width:100%;
    height:42px;
    margin-top:5px;
    padding:0 10px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    font-weight:800;
}
.gf-tool-actions{
    display:flex;
    gap:10px;
    margin-top:12px;
}
.gf-tool-result{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-top:12px;
    padding:12px;
    border-radius:12px;
    background:#ecfdf5;
    border:1px solid #bbf7d0;
}
.gf-tool-result div{
    min-width:0;
}
.gf-tool-result strong{
    display:block;
    color:#052e16;
    font-size:20px;
}
.gf-tool-result span,
.gf-tool-result small{
    display:block;
    color:#475569;
    font-size:12px;
    font-weight:800;
}
.gf-tool-result small{
    grid-column:1/-1;
    margin-top:4px;
}
.gf-tool-mini-result{
    padding:10px;
    border-radius:10px;
    background:#f8fafc;
    color:#334155;
    font-weight:800;
}
.gf-tool-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.gf-tool-chip-row button{
    padding:8px 10px;
    border-radius:999px;
    background:#f0fdf4;
    border-color:#bbf7d0;
    color:#064e3b;
}
.gf-tool-stack{
    display:grid;
    gap:8px;
}
.gf-tool-stack button{
    width:100%;
}
@media(max-width:900px){
    .gf-tools-head,
    .gf-tool-actions{
        flex-direction:column;
        align-items:stretch;
    }
    .gf-tools-summary,
    .gf-tools-grid,
    .gf-tool-inputs,
    .gf-tool-result{
        grid-template-columns:1fr;
    }
    .gf-tool-wide{
        grid-row:auto;
    }
}

/* Final polish: compact search row, HERB code popup, and thin bordered hero image */
.top-actions button[onclick="openDiscountPopup()"]{
    min-width:92px;
    white-space:normal;
    line-height:1.15;
}
.gf-search-drop-zone .search-row{
    grid-template-columns:minmax(0,1fr) 96px !important;
    gap:12px !important;
    padding:12px 14px !important;
    min-height:58px !important;
    border-radius:14px !important;
}
.gf-search-drop-zone .search-row label{
    display:none !important;
}
.gf-search-drop-zone .search-row label:before,
.gf-search-drop-zone .search-row:has(input)::after{
    display:none !important;
    content:none !important;
}
.gf-search-drop-zone .search-row input{
    grid-column:1 !important;
    height:40px !important;
    padding:0 14px !important;
    font-size:14px !important;
    border-radius:10px !important;
}
.gf-search-drop-zone .search-row button:not(.gf-feature-locked-btn){
    grid-column:2 !important;
}
.gf-herb-popup h2{
    margin:0 0 10px;
    color:#064e3b;
    font-size:28px;
}
.gf-herb-popup p{
    color:#475569;
    line-height:1.45;
}
.gf-herb-hero{
    border:1px solid #bbf7d0 !important;
    box-shadow:none !important;
    padding:0 !important;
    background:#fff;
}
.gf-herb-code-box{
    margin:14px 0;
    padding:14px;
    border:1px solid #bbf7d0;
    border-radius:12px;
    background:#f0fdf4;
}
.gf-herb-code-box span{
    display:block;
    color:#166534;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}
.gf-herb-code-box strong{
    display:block;
    margin-top:6px;
    color:#052e16;
    font-size:26px;
    letter-spacing:1px;
}
.gf-herb-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.gf-herb-actions button{
    background:#dcfce7;
    border-color:#86efac;
    color:#064e3b;
}
.gf-herb-msg{
    min-height:18px;
    font-weight:800;
}
@media(max-width:700px){
    .gf-search-drop-zone .search-row{
        grid-template-columns:1fr !important;
    }
    .gf-search-drop-zone .search-row button:not(.gf-feature-locked-btn){
        grid-column:1 !important;
    }
    .gf-herb-actions{
        display:grid;
    }
}

/* GrowFlow shop product-frame configurator */
.gf-shop-frame-v2{
    grid-template-columns:minmax(320px,.62fr) minmax(520px,1.38fr) !important;
}
.gf-shop-frame-content .gf-shop-head h2{
    font-size:38px !important;
}
.gf-shop-frame-layout,
.gf-shop-simple-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
.gf-shop-product-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.gf-shop-product-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    min-height:0;
    border:1px solid #dbe5ee;
    border-radius:14px;
    padding:10px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.gf-shop-product-card:hover,
.gf-shop-product-card.active{
    border-color:#22c55e;
    background:#ecfdf5;
}
.gf-shop-product-main{
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
    text-align:left !important;
}
.gf-shop-product-card span,
.gf-shop-product-card strong,
.gf-shop-product-card small,
.gf-shop-product-card em{
    display:block;
}
.gf-shop-product-card span{
    color:#15803d;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.gf-shop-product-card strong{
    margin-top:5px;
    color:#052e16;
    font-size:18px;
}
.gf-shop-product-card small{
    margin-top:5px;
    color:#475569;
    line-height:1.3;
}
.gf-shop-product-card em{
    margin-top:9px;
    color:#064e3b;
    font-style:normal;
    font-weight:900;
}
.gf-shop-inline-tiers{
    grid-column:1/-1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    padding-top:8px;
    border-top:1px solid #e2e8f0;
}
.gf-shop-inline-tiers span{
    color:#475569;
    font-size:12px;
    font-weight:900;
    margin-right:4px;
}
.gf-shop-inline-tiers button{
    min-height:32px;
    padding:6px 10px;
    border-radius:9px;
    background:#f8fafc;
}
.gf-shop-inline-tiers button.active{
    background:#16a34a;
    border-color:#16a34a;
    color:#fff;
}
.gf-shop-paypal-mini{
    min-width:145px;
    border:0 !important;
    background:#ffc439 !important;
    color:#003087 !important;
    box-shadow:none !important;
    border-radius:10px !important;
    font-weight:1000 !important;
}
.gf-shop-tier-section{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #dbe5ee;
}
.gf-shop-tier-section h3{
    margin:0 0 4px;
    color:#052e16;
}
.gf-shop-tier-section p{
    margin:0 0 10px;
    color:#64748b;
    font-weight:800;
}
.gf-shop-tier-product-card{
    grid-template-columns:112px minmax(0,1fr) auto;
    background:#f8fafc;
}
.gf-shop-tier-product-card:hover{
    background:#fff7ed;
    border-color:#fdba74;
}
.gf-shop-tier-product-card .gf-shop-product-card span,
.gf-shop-tier-product-card span{
    color:#b45309;
}
.gf-shop-tier-product-card em{
    color:#92400e;
}
.gf-shop-tier-thumb{
    width:112px;
    height:92px;
    object-fit:cover;
    object-position:center;
    border:1px solid #dbe5ee;
    border-radius:12px;
    background:#fff;
}
.gf-shop-selected-product{
    border:1px solid #bbf7d0;
    border-radius:14px;
    padding:12px;
    background:#f0fdf4;
    margin-bottom:12px;
}
.gf-shop-selected-product b,
.gf-shop-selected-product span{
    display:block;
}
.gf-shop-selected-product b{
    color:#052e16;
    font-size:19px;
}
.gf-shop-selected-product span{
    margin-top:4px;
    color:#475569;
}
.gf-shop-addon-card{
    display:grid;
    gap:10px;
    border:1px solid #dbe5ee;
    border-radius:14px;
    padding:12px;
    background:#fff;
    margin-bottom:12px;
}
.gf-shop-addon-card.muted{
    background:#f8fafc;
}
.gf-shop-addon-card strong,
.gf-shop-addon-card span{
    display:block;
}
.gf-shop-addon-card strong{
    color:#052e16;
    font-size:17px;
}
.gf-shop-addon-card span{
    color:#64748b;
}
.gf-shop-tier-stepper{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
}
.gf-shop-tier-stepper button{
    min-height:42px;
    padding:8px;
    border-radius:10px;
    background:#f8fafc;
}
.gf-shop-tier-stepper button.active{
    background:#16a34a;
    border-color:#16a34a;
    color:#fff;
}
#gfShopSelectionSummary span{
    display:block;
    margin-top:3px;
}
#gfShopSelectionSummary b{
    color:#052e16;
}
@media(max-width:980px){
    .gf-shop-frame-v2,
    .gf-shop-frame-layout,
    .gf-shop-simple-layout,
    .gf-shop-product-grid{
        grid-template-columns:1fr !important;
    }
    .gf-shop-frame-content .gf-shop-head h2{
        font-size:34px !important;
    }
    .gf-shop-product-card{
        grid-template-columns:1fr;
    }
    .gf-shop-tier-product-card{
        grid-template-columns:1fr;
    }
    .gf-shop-tier-thumb{
        width:100%;
        height:180px;
    }
    .gf-shop-paypal-mini{
        width:100%;
    }
}

/* Final HERB-only toolbar, onboarding and shop */
.top-header{
    grid-template-columns:minmax(330px, 1fr) auto auto !important;
}
.top-header .rocket{
    display:none !important;
}

.gf-herb-start{
    width:min(820px, 92vw);
    display:grid;
    gap:18px;
    color:#12351d;
}
.gf-herb-start header{
    padding-right:34px;
}
.gf-herb-start header > span{
    display:block;
    margin-bottom:5px;
    color:#15803d;
    font-size:12px;
    font-weight:900;
}
.gf-herb-start h2{
    margin:0;
    font-size:32px;
    line-height:1.1;
}
.gf-herb-start header p{
    max-width:680px;
    margin:8px 0 0;
    color:#526174;
    line-height:1.45;
}
.gf-herb-start-choices{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.gf-herb-start-choices button{
    display:block;
    min-height:120px;
    padding:16px;
    border:1px solid #cde7d3;
    border-radius:12px;
    background:#f7fcf8;
    color:#12351d;
    text-align:left;
    box-shadow:none;
}
.gf-herb-start-choices button:hover{
    border-color:#22c55e;
    background:#effbf2;
}
.gf-herb-start-choices span,
.gf-herb-start-choices strong,
.gf-herb-start-choices small{
    display:block;
}
.gf-herb-start-choices span{
    color:#15803d;
    font-size:13px;
    font-weight:900;
}
.gf-herb-start-choices strong{
    margin-top:4px;
    font-size:18px;
}
.gf-herb-start-choices small{
    margin-top:7px;
    color:#64748b;
    line-height:1.35;
}
.gf-herb-start-steps{
    display:grid;
    gap:8px;
}
.gf-herb-start-steps article{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:11px;
    align-items:start;
    padding:11px 13px;
    border-bottom:1px solid #e2e8f0;
}
.gf-herb-start-steps article > b{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:#16a34a;
    color:#fff;
}
.gf-herb-start-steps strong{
    font-size:14px;
}
.gf-herb-start-steps p{
    margin:3px 0 0;
    color:#64748b;
    font-size:12px;
    line-height:1.4;
}
.gf-herb-start footer{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:9px;
}
.gf-herb-start footer button{
    min-height:44px;
    border:1px solid #cde7d3;
    border-radius:10px;
    background:#f2f8f3;
    color:#12351d;
    font-weight:900;
    box-shadow:none;
}
.gf-herb-start footer .gf-herb-start-primary{
    border-color:#16a34a;
    background:#16a34a;
    color:#fff;
}

.gf-herb-shop-panel{
    padding:18px !important;
    border-color:#d8e8da !important;
    background:#fff !important;
}
.gf-herb-shop-intro{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}
.gf-herb-shop-intro h3{
    margin:0 !important;
    font-size:20px !important;
}
.gf-herb-shop-intro p{
    max-width:390px;
    margin:0;
    color:#64748b;
    font-size:12px;
    text-align:right;
}
.gf-herb-only-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
}
.gf-herb-product-card{
    grid-template-columns:86px minmax(0, 1fr) !important;
    grid-template-rows:auto auto;
    align-content:start;
    gap:12px !important;
    min-height:232px;
    padding:14px !important;
    border-color:#dce8df !important;
    background:#fbfefb !important;
}
.gf-herb-product-card:hover,
.gf-herb-product-card.active{
    border-color:#16a34a !important;
    background:#f0fdf4 !important;
}
.gf-herb-product-card .gf-shop-product-thumb{
    width:86px !important;
    height:86px !important;
    border-radius:50% !important;
    object-fit:cover;
}
.gf-herb-product-card .gf-shop-product-main > strong{
    font-size:19px !important;
}
.gf-herb-product-card .gf-shop-product-main > em{
    display:inline-block;
    margin-top:8px !important;
    border-radius:999px;
    padding:5px 8px;
    background:#dcfce7;
    color:#166534;
    font-size:11px;
}
.gf-herb-includes{
    margin-top:9px !important;
    padding-top:8px;
    border-top:1px solid #e2e8f0;
}
.gf-herb-product-card .gf-shop-card-actions{
    grid-column:1 / -1;
    grid-template-columns:92px minmax(0, 1fr);
    align-self:end;
}
.gf-herb-quick-compare{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #dce8df;
}
.gf-herb-quick-compare > div{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:2px 10px;
    padding:11px 12px;
    border-radius:10px;
    background:#f7faf7;
}
.gf-herb-quick-compare span{
    color:#166534;
    font-size:12px;
    font-weight:900;
}
.gf-herb-quick-compare b{
    justify-self:end;
    font-size:12px;
}
.gf-herb-quick-compare small{
    grid-column:1 / -1;
    color:#64748b;
    font-size:11px;
}

@media(max-width:900px){
    .top-header{
        grid-template-columns:1fr !important;
    }
    .gf-herb-start-choices,
    .gf-herb-only-grid{
        grid-template-columns:1fr !important;
    }
    .gf-herb-shop-intro{
        display:block;
    }
    .gf-herb-shop-intro p{
        margin-top:5px;
        text-align:left;
    }
}

@media(max-width:560px){
    .gf-herb-start h2{
        font-size:26px;
    }
    .gf-herb-start footer,
    .gf-herb-quick-compare{
        grid-template-columns:1fr;
    }
    .gf-herb-product-card{
        grid-template-columns:72px minmax(0, 1fr) !important;
        min-height:0;
        padding:11px !important;
    }
    .gf-herb-product-card .gf-shop-product-thumb{
        width:72px !important;
        height:72px !important;
    }
}

/* Shop catalogue polish and mobile product-sheet layout */
.modal-box:has(.gf-shop-frame-v2),
#modalContent:has(.gf-shop-frame-v2),
.modal-content:has(.gf-shop-frame-v2){
    width:min(1180px, calc(100vw - 32px)) !important;
    max-width:1180px !important;
    max-height:calc(100dvh - 32px) !important;
    padding:14px !important;
    overflow:auto !important;
    overscroll-behavior:contain;
    box-sizing:border-box;
    scrollbar-gutter:stable;
}
.gf-shop-frame-v2{
    grid-template-columns:minmax(260px, 320px) minmax(0, 1fr) !important;
    gap:16px !important;
    min-height:0 !important;
    width:100%;
}
.gf-shop-frame-visual{
    position:sticky !important;
    top:0;
    width:100%;
    height:min(660px, calc(100dvh - 60px)) !important;
    padding:0 !important;
    border:1px solid #cfe8d5 !important;
    background:#f4faf6 !important;
    box-shadow:0 12px 30px rgba(15, 55, 31, .1);
}
.gf-shop-frame-visual img{
    object-fit:contain !important;
    object-position:center !important;
    background:#fff;
    filter:none !important;
}
.gf-shop-frame-content{
    min-width:0;
    padding:22px !important;
    border-radius:18px !important;
    background:#fbfefc !important;
}
.gf-shop-frame-content .gf-shop-head span{
    margin-bottom:6px;
    letter-spacing:0 !important;
    font-size:13px;
}
.gf-shop-frame-content .gf-shop-head h2{
    font-family:"Inter", "Segoe UI", Arial, sans-serif !important;
    font-size:34px !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}
.gf-shop-frame-content .gf-shop-head p{
    margin:9px 0 15px;
    font-size:15px;
    line-height:1.45;
}
.gf-ebay-shop-badge{
    min-height:58px;
    margin-bottom:14px !important;
    border-radius:12px !important;
}
.gf-shop-panel{
    padding:14px !important;
    border-radius:14px !important;
    box-shadow:0 8px 22px rgba(15, 23, 42, .045) !important;
}
.gf-shop-panel > h3{
    font-size:18px;
}
.gf-shop-product-grid{
    gap:8px !important;
}
.gf-shop-product-card,
.gf-shop-tier-product-card{
    grid-template-columns:72px minmax(0, 1fr) 148px !important;
    gap:12px !important;
    padding:9px 10px !important;
    border-radius:12px !important;
    box-shadow:none !important;
    transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.gf-shop-product-card:hover{
    transform:translateY(-1px);
}
.gf-shop-product-card.active{
    box-shadow:inset 4px 0 0 #16a34a !important;
}
.gf-shop-product-thumb,
.gf-shop-tier-thumb{
    width:72px !important;
    height:72px !important;
    border-radius:10px !important;
}
.gf-shop-product-card strong{
    margin-top:2px !important;
    font-size:16px !important;
    line-height:1.18;
}
.gf-shop-product-card small{
    margin-top:3px !important;
    font-size:12px;
}
.gf-shop-product-card em{
    margin-top:5px !important;
    font-size:12px;
}
.gf-shop-card-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    align-items:stretch;
}
.gf-shop-card-actions .gf-shop-specs-mini,
.gf-shop-card-actions .gf-shop-paypal-mini{
    width:100%;
    min-width:0;
    min-height:34px;
    padding:7px 9px !important;
}
.gf-shop-card-actions .gf-shop-paypal-mini{
    font-size:12px !important;
}
.gf-shop-tier-section{
    margin-top:16px !important;
}
.gf-shop-tier-section h3{
    font-size:18px;
}
.gf-shop-tier-section p{
    font-size:12px;
}
.gf-shop-selected{
    margin-top:12px !important;
    font-size:13px;
}
.gf-shop-actions{
    grid-template-columns:1.25fr 1fr 1fr !important;
    margin-top:10px !important;
}
.gf-shop-actions button{
    min-height:42px;
    border-radius:10px !important;
}

@media(max-width:820px){
    .modal-box:has(.gf-shop-frame-v2),
    #modalContent:has(.gf-shop-frame-v2),
    .modal-content:has(.gf-shop-frame-v2){
        width:min(680px, calc(100vw - 18px)) !important;
        max-height:calc(100dvh - 18px) !important;
        padding:10px !important;
        border-radius:18px !important;
        scrollbar-gutter:auto;
    }
    .gf-shop-frame-v2{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }
    .gf-shop-frame-visual{
        position:relative !important;
        height:clamp(220px, 42dvh, 350px) !important;
        border-radius:14px !important;
    }
    .gf-shop-frame-content{
        padding:16px !important;
        border:0 !important;
        box-shadow:none !important;
    }
    .gf-shop-frame-content .gf-shop-head h2{
        font-size:28px !important;
    }
    .gf-shop-frame-content .gf-shop-head p{
        font-size:14px;
    }
    .gf-shop-panel{
        padding:10px !important;
    }
    .gf-shop-product-card,
    .gf-shop-tier-product-card{
        grid-template-columns:74px minmax(0, 1fr) !important;
        gap:9px !important;
    }
    .gf-shop-product-thumb,
    .gf-shop-tier-thumb{
        width:74px !important;
        height:74px !important;
        grid-row:1;
    }
    .gf-shop-product-main{
        grid-row:1;
    }
    .gf-shop-card-actions{
        grid-column:1 / -1;
        grid-template-columns:minmax(84px, .45fr) minmax(150px, 1fr);
        gap:8px;
    }
    .gf-shop-actions{
        grid-template-columns:1fr 1fr !important;
    }
    .gf-shop-actions .gf-buy-main{
        grid-column:1 / -1;
    }
}

@media(max-width:480px){
    .modal-box:has(.gf-shop-frame-v2),
    #modalContent:has(.gf-shop-frame-v2),
    .modal-content:has(.gf-shop-frame-v2){
        width:100vw !important;
        max-width:100vw !important;
        max-height:100dvh !important;
        padding:6px !important;
        border-radius:0 !important;
    }
    .gf-shop-frame-visual{
        height:250px !important;
    }
    .gf-shop-frame-visual:after{
        top:8px;
        left:8px;
        padding:5px 8px;
        font-size:10px;
    }
    .gf-whatsapp-picture-btn{
        left:10px !important;
        right:10px !important;
        bottom:10px !important;
        width:auto !important;
    }
    .gf-shop-frame-content{
        padding:12px 8px 16px !important;
    }
    .gf-shop-frame-content .gf-shop-head h2{
        font-size:25px !important;
    }
    .gf-shop-frame-content .gf-shop-head p{
        margin-bottom:12px;
        font-size:13px;
    }
    .gf-ebay-shop-badge img{
        width:74px;
        height:38px;
    }
    .gf-shop-panel > h3,
    .gf-shop-tier-section h3{
        font-size:17px;
    }
    .gf-shop-product-card,
    .gf-shop-tier-product-card{
        grid-template-columns:66px minmax(0, 1fr) !important;
        padding:8px !important;
    }
    .gf-shop-product-thumb,
    .gf-shop-tier-thumb{
        width:66px !important;
        height:66px !important;
    }
    .gf-shop-product-card strong{
        font-size:15px !important;
    }
    .gf-shop-product-card small{
        line-height:1.25;
    }
    .gf-shop-card-actions{
        grid-template-columns:88px minmax(0, 1fr);
    }
    .gf-shop-actions{
        gap:7px !important;
    }
}

/* Premium mobile application shell */
.gf-mobile-topbar,
.gf-mobile-home,
.gf-mobile-nav{
    display:none;
}

@media(max-width:760px){
    :root{
        --gf-mobile-green:#0b3d24;
        --gf-mobile-action:#139b4a;
        --gf-mobile-line:#dce7df;
        --gf-mobile-surface:#ffffff;
        --gf-mobile-muted:#607067;
    }

    html,body{
        width:100%;
        min-width:0 !important;
        overflow-x:hidden !important;
        background:#f4f7f5 !important;
        color:#10271a;
    }
    body{
        padding-bottom:calc(76px + env(safe-area-inset-bottom));
    }
    button,
    input{
        font-size:16px;
    }

    .gf-mobile-topbar{
        position:sticky;
        top:0;
        z-index:45;
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:64px;
        padding:8px 12px;
        padding-top:calc(8px + env(safe-area-inset-top));
        border-bottom:1px solid var(--gf-mobile-line);
        background:rgba(255,255,255,.96);
        box-shadow:0 4px 18px rgba(15,45,27,.07);
        backdrop-filter:blur(14px);
    }
    .gf-mobile-brand{
        display:flex;
        align-items:center;
        gap:9px;
        min-width:0;
        padding:0;
        border:0;
        background:transparent;
        box-shadow:none;
        text-align:left;
    }
    .gf-mobile-brand img{
        width:42px;
        height:42px;
        flex:0 0 42px;
        border:1px solid #cfe1d3;
        border-radius:50%;
        object-fit:cover;
        background:#fff;
    }
    .gf-mobile-brand span,
    .gf-mobile-brand strong,
    .gf-mobile-brand small{
        display:block;
    }
    .gf-mobile-brand strong{
        color:var(--gf-mobile-green);
        font-size:17px;
        line-height:1.05;
    }
    .gf-mobile-brand small{
        margin-top:2px;
        color:var(--gf-mobile-muted);
        font-size:10px;
        font-weight:800;
        text-transform:uppercase;
    }
    .gf-mobile-offer{
        min-height:38px;
        padding:8px 12px;
        border:1px solid #f5cc67;
        border-radius:999px;
        background:#fff7d6;
        color:#62430a;
        box-shadow:none;
        font-size:12px;
    }

    .app-shell{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        padding:0 !important;
    }
    .left-sidebar,
    .right-sidebar,
    .top-header,
    .feature-tabs,
    .bottom-stats{
        display:none !important;
    }
    .main-area{
        display:flex !important;
        width:100%;
        min-width:0;
        min-height:0;
        gap:11px !important;
        padding:12px 12px 20px;
    }

    .gf-mobile-home{
        display:grid;
        gap:14px;
        padding:18px;
        border:1px solid #cfe1d3;
        border-radius:16px;
        background:var(--gf-mobile-surface);
        box-shadow:0 8px 24px rgba(15,45,27,.07);
        scroll-margin-top:78px;
    }
    .gf-mobile-home > div:first-child > span{
        display:block;
        color:#168044;
        font-size:10px;
        font-weight:900;
    }
    .gf-mobile-home h2{
        margin:4px 0 0;
        color:var(--gf-mobile-green);
        font-size:27px;
        line-height:1.08;
        text-align:left;
    }
    .gf-mobile-home p{
        margin:7px 0 0;
        color:var(--gf-mobile-muted);
        font-size:13px;
        line-height:1.45;
    }
    .gf-mobile-home-actions{
        display:grid;
        grid-template-columns:1.15fr 1fr;
        gap:8px;
    }
    .gf-mobile-home-actions button{
        min-height:44px;
        border-radius:10px;
        box-shadow:none;
    }
    .gf-mobile-home-actions button:first-child{
        border-color:var(--gf-mobile-action);
        background:var(--gf-mobile-action);
        color:#fff;
    }
    .gf-mobile-presets{
        display:flex;
        gap:7px;
        margin:0 -18px -4px;
        padding:2px 18px 4px;
        overflow-x:auto;
        scrollbar-width:none;
    }
    .gf-mobile-presets::-webkit-scrollbar{
        display:none;
    }
    .gf-mobile-presets button{
        min-height:34px;
        flex:0 0 auto;
        padding:7px 10px;
        border-radius:999px;
        background:#f5f8f6;
        box-shadow:none;
        color:#31503c;
        font-size:11px;
    }

    .status-panel{
        grid-template-columns:minmax(0,1fr) auto !important;
        gap:8px !important;
        padding:12px 14px !important;
        border-radius:14px !important;
        scroll-margin-top:78px;
    }
    .status-panel img{
        display:none;
    }
    .status-panel p{
        overflow:hidden;
        margin-top:3px !important;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .status-panel #scanPercent{
        align-self:start;
        color:#166534;
        font-weight:900;
    }
    .status-panel .progress-track{
        grid-column:1 / -1;
        height:7px;
    }
    .status-panel .progress-track div{
        background:var(--gf-mobile-action);
    }

    .metrics-grid{
        display:flex !important;
        gap:8px !important;
        margin:0 -12px;
        padding:0 12px 3px;
        overflow-x:auto;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
    }
    .metrics-grid::-webkit-scrollbar{
        display:none;
    }
    .metric-card{
        width:132px;
        min-width:132px;
        padding:11px !important;
        border-radius:12px !important;
        box-shadow:none !important;
        scroll-snap-align:start;
    }
    .metric-card span{
        font-size:10px !important;
    }
    .metric-card strong{
        margin:4px 0 !important;
        font-size:20px !important;
    }
    .metric-card small{
        display:block;
        overflow:hidden;
        font-size:9px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .search-row{
        position:sticky;
        top:calc(64px + env(safe-area-inset-top));
        z-index:30;
        display:grid !important;
        grid-template-columns:1fr auto !important;
        gap:8px !important;
        padding:11px !important;
        border-color:#bfd8c5 !important;
        border-radius:14px !important;
        box-shadow:0 8px 24px rgba(15,45,27,.11) !important;
        scroll-margin-top:74px;
    }
    .search-row label{
        grid-column:1 / -1;
        color:#335441;
        font-size:11px;
    }
    .search-row input{
        grid-column:1 / -1;
        width:100%;
        min-width:0;
        min-height:44px;
        font-size:16px;
    }
    .search-row button{
        min-height:42px;
        padding:9px 14px;
        box-shadow:none;
    }
    .search-row button:not(:last-child){
        background:var(--gf-mobile-action);
        color:#fff;
        border-color:var(--gf-mobile-action);
    }
    .resale-input-box{
        display:grid !important;
        grid-template-columns:1fr 94px auto !important;
        gap:7px !important;
        align-items:end;
        padding:10px 12px !important;
        border-radius:12px !important;
    }
    .resale-input-box label{
        grid-column:1 / -1;
    }
    .resale-input-box input,
    .resale-input-box button{
        min-height:40px;
    }

    .sort-row{
        display:flex !important;
        gap:7px !important;
        margin:0 -12px;
        padding:2px 12px 4px !important;
        overflow-x:auto;
        scrollbar-width:none;
    }
    .sort-row::-webkit-scrollbar{
        display:none;
    }
    .sort-row button{
        min-height:38px;
        flex:0 0 auto;
        padding:8px 10px !important;
        border-radius:999px;
        background:#fff;
        box-shadow:none;
        font-size:11px;
        white-space:nowrap;
    }

    .content-grid{
        display:block !important;
        min-height:0 !important;
    }
    .database-panel,
    .detail-panel{
        padding:12px !important;
        border-radius:14px !important;
        box-shadow:none !important;
    }
    .detail-panel{
        margin-top:11px;
    }
    .database-panel h3{
        color:#526174;
        font-size:10px;
    }
    .scan-table{
        height:auto !important;
        min-height:220px;
        max-height:none !important;
        border:0 !important;
        overflow:visible !important;
    }
    .gf-mobile-deal-list{
        display:grid;
        gap:9px;
        min-height:0;
        background:transparent;
    }
    .gf-mobile-deal-card{
        display:grid;
        grid-template-columns:58px minmax(0,1fr) 46px;
        gap:9px;
        width:100%;
        padding:10px;
        border:1px solid var(--gf-mobile-line);
        border-radius:12px;
        background:#fff;
        box-shadow:0 3px 12px rgba(15,45,27,.05);
        color:#10271a;
        text-align:left;
    }
    .gf-mobile-deal-card.selected{
        border-color:#22c55e;
        box-shadow:inset 3px 0 0 #16a34a;
    }
    .gf-mobile-deal-card > img{
        width:58px;
        height:58px;
        border-radius:9px;
        object-fit:cover;
        background:#f1f5f2;
    }
    .gf-mobile-deal-copy,
    .gf-mobile-deal-copy strong,
    .gf-mobile-deal-copy small,
    .gf-mobile-deal-copy em{
        display:block;
        min-width:0;
    }
    .gf-mobile-deal-copy small{
        color:#168044;
        font-size:9px;
        font-weight:900;
        text-transform:uppercase;
    }
    .gf-mobile-deal-copy strong{
        display:-webkit-box;
        overflow:hidden;
        margin-top:3px;
        font-size:12px;
        line-height:1.25;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
    }
    .gf-mobile-deal-copy em{
        margin-top:5px;
        color:#607067;
        font-size:10px;
        font-style:normal;
        font-weight:800;
    }
    .gf-mobile-deal-score{
        display:grid;
        place-content:center;
        width:44px;
        height:48px;
        border-radius:10px;
        background:#eef8f0;
        color:#166534;
        text-align:center;
    }
    .gf-mobile-deal-score b,
    .gf-mobile-deal-score small{
        display:block;
    }
    .gf-mobile-deal-score b{
        font-size:17px;
    }
    .gf-mobile-deal-score small{
        font-size:8px;
        text-transform:uppercase;
    }
    .gf-mobile-deal-numbers{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:6px;
        padding-top:8px;
        border-top:1px solid #e8eeea;
    }
    .gf-mobile-deal-numbers > span{
        display:block;
    }
    .gf-mobile-deal-numbers small,
    .gf-mobile-deal-numbers b{
        display:block;
    }
    .gf-mobile-deal-numbers small{
        color:#728078;
        font-size:8px;
        text-transform:uppercase;
    }
    .gf-mobile-deal-numbers b{
        margin-top:2px;
        font-size:11px;
    }

    .selected-deal{
        min-height:0 !important;
        padding:13px !important;
        border-radius:12px !important;
        background:#f7fbf8 !important;
    }
    .selected-deal h2{
        font-size:13px;
        text-align:left;
    }
    .selected-deal h3{
        font-size:15px;
        line-height:1.3;
    }
    .selected-layout{
        grid-template-columns:74px 1fr !important;
        gap:11px !important;
    }
    .selected-layout img{
        width:74px !important;
        height:74px !important;
    }
    .selected-layout p{
        margin:5px 0 !important;
        font-size:11px;
    }

    .gf-mobile-nav{
        position:fixed;
        right:0;
        bottom:0;
        left:0;
        z-index:70;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        min-height:68px;
        padding:6px 8px;
        padding-bottom:calc(6px + env(safe-area-inset-bottom));
        border-top:1px solid var(--gf-mobile-line);
        background:rgba(255,255,255,.98);
        box-shadow:0 -8px 26px rgba(15,45,27,.1);
        backdrop-filter:blur(14px);
    }
    .gf-mobile-nav button{
        display:grid;
        justify-items:center;
        align-content:center;
        gap:2px;
        min-width:0;
        padding:4px;
        border:0;
        border-radius:10px;
        background:transparent;
        box-shadow:none;
        color:#64748b;
    }
    .gf-mobile-nav button span{
        display:grid;
        place-items:center;
        width:28px;
        height:25px;
        font-size:20px;
        line-height:1;
    }
    .gf-mobile-nav button small{
        font-size:9px;
        font-weight:900;
    }
    .gf-mobile-nav button.active{
        background:#eaf7ed;
        color:#0f6d37;
    }

    .modal-overlay{
        align-items:flex-end !important;
        padding-top:env(safe-area-inset-top);
    }
    .modal-box{
        width:100% !important;
        max-width:100% !important;
        max-height:94dvh !important;
        margin:0 !important;
        padding:18px 14px calc(18px + env(safe-area-inset-bottom)) !important;
        border-radius:20px 20px 0 0 !important;
    }
    .modal-close{
        z-index:10;
        width:38px;
        height:38px;
        background:#fff;
    }
}

@media(max-width:380px){
    .main-area{
        padding-right:9px;
        padding-left:9px;
    }
    .gf-mobile-home-actions{
        grid-template-columns:1fr;
    }
    .gf-mobile-deal-card{
        grid-template-columns:52px minmax(0,1fr) 42px;
    }
    .gf-mobile-deal-card > img{
        width:52px;
        height:52px;
    }
}

/* GrowFlow shop badge, product images and specs popup */
.modal-box:has(.gf-shop-frame-v2),
#modalContent:has(.gf-shop-frame-v2),
.modal-content:has(.gf-shop-frame-v2){
    max-height:92vh !important;
    overflow:auto !important;
}
.gf-shop-frame-v2{
    align-items:start !important;
}
.gf-shop-frame-visual{
    height:min(720px, calc(92vh - 80px)) !important;
    min-height:0 !important;
    max-height:720px !important;
    align-self:start !important;
    overflow:hidden !important;
    border-radius:18px !important;
}
.gf-shop-frame-visual img{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    cursor:pointer;
}
.gf-shop-frame-visual:after{
    content:"Click image for specs";
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    border:1px solid rgba(187,247,208,.9);
    border-radius:999px;
    padding:7px 11px;
    background:rgba(240,253,244,.92);
    color:#052e16;
    font-size:12px;
    font-weight:1000;
    box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.gf-ebay-shop-badge{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    border:1px solid #bbf7d0 !important;
    border-radius:14px !important;
    padding:9px 12px !important;
    margin:0 0 12px !important;
    background:#f0fdf4 !important;
    color:#052e16 !important;
    box-shadow:0 8px 20px rgba(22,163,74,.08) !important;
    text-align:left !important;
}
.gf-ebay-shop-badge img{
    width:92px;
    height:42px;
    object-fit:cover;
    object-position:center;
    border-radius:8px;
    background:#020617;
}
.gf-ebay-shop-badge b,
.gf-ebay-shop-badge small{
    display:block;
}
.gf-ebay-shop-badge b{
    font-size:14px;
    font-weight:1000;
}
.gf-ebay-shop-badge small{
    margin-top:2px;
    color:#4b5563;
    font-size:12px;
    font-weight:800;
}
.gf-shop-product-card{
    grid-template-columns:78px minmax(0,1fr) 72px 145px !important;
}
.gf-shop-tier-product-card{
    grid-template-columns:112px minmax(0,1fr) 72px 145px !important;
}
.gf-shop-product-thumb{
    width:78px;
    height:72px;
    object-fit:cover;
    object-position:center;
    border:1px solid #dbe5ee;
    border-radius:12px;
    background:#fff;
}
.gf-shop-specs-mini{
    min-width:72px;
    min-height:36px;
    border:1px solid #bfdbfe !important;
    border-radius:10px !important;
    background:#eff6ff !important;
    color:#1e3a8a !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:1000 !important;
    padding:8px 10px !important;
}
.gf-shop-specs-mini:hover{
    background:#dbeafe !important;
}
.gf-shop-specs-popup{
    width:min(1060px, 94vw);
    display:grid;
    gap:14px;
    color:#052e16;
    text-align:center;
}
.gf-shop-specs-popup h2{
    margin:0;
    font-size:28px;
}
.gf-shop-specs-popup img{
    width:min(1000px, 100%);
    aspect-ratio:4/3;
    height:auto;
    max-height:75vh;
    object-fit:contain;
    border:1px solid #dbe5ee;
    border-radius:14px;
    background:#f8fafc;
}
.gf-shop-specs-popup p{
    margin:0;
    color:#64748b;
    font-weight:800;
}
.gf-shop-specs-popup button{
    justify-self:center;
    border:0;
    border-radius:12px;
    padding:12px 22px;
    background:#16a34a;
    color:#fff;
    font-weight:1000;
}
@media(max-width:980px){
    .gf-shop-frame-visual{
        height:min(440px, 52vh) !important;
    }
    .gf-shop-product-card,
    .gf-shop-tier-product-card{
        grid-template-columns:86px minmax(0,1fr) !important;
    }
    .gf-shop-product-thumb,
    .gf-shop-tier-thumb{
        width:86px !important;
        height:78px !important;
    }
    .gf-shop-specs-mini,
    .gf-shop-paypal-mini{
        grid-column:1/-1;
        width:100%;
    }
}

/* Final shop cascade: these rules intentionally follow legacy shop patches. */
.gf-shop-side{
    position:sticky;
    top:0;
    display:grid;
    gap:12px;
    align-self:start;
    min-width:0;
}
.gf-shop-frame-visual{
    position:relative !important;
    top:auto !important;
    height:430px !important;
    max-height:430px !important;
}
.gf-shop-frame-visual img{
    object-fit:contain !important;
    object-position:center !important;
    box-sizing:border-box;
}
.gf-shop-side-info{
    border:1px solid #d7eadb;
    border-radius:14px;
    padding:16px;
    background:#f7fcf8;
    color:#052e16;
    box-shadow:0 8px 22px rgba(15,55,31,.06);
}
.gf-shop-side-info > span{
    display:block;
    color:#15803d;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.gf-shop-side-info h3{
    margin:5px 0 3px;
    font-size:20px;
    line-height:1.15;
}
.gf-shop-side-info b{
    color:#166534;
    font-size:13px;
}
.gf-shop-side-info p{
    margin:8px 0 12px;
    color:#475569;
    font-size:13px;
    line-height:1.4;
}
.gf-shop-side-info ul{
    list-style:none;
    display:grid;
    gap:7px;
    margin:0;
    padding:11px 0 0;
    border-top:1px solid #d7eadb;
}
.gf-shop-side-info li{
    position:relative;
    padding-left:21px;
    font-size:12px;
    font-weight:800;
}
.gf-shop-side-info li:before{
    content:"\2713";
    position:absolute;
    left:0;
    color:#16a34a;
    font-weight:1000;
}
.gf-shop-specs-detail{
    display:grid;
    gap:8px;
    justify-items:center;
    padding-top:4px;
    color:#166534;
}
.gf-shop-specs-detail img{
    max-height:520px;
}
.gf-shop-product-card,
.gf-shop-tier-product-card{
    grid-template-columns:72px minmax(0, 1fr) 148px !important;
}
.gf-shop-product-thumb,
.gf-shop-tier-thumb{
    width:72px !important;
    height:72px !important;
}
.gf-shop-card-actions .gf-shop-specs-mini,
.gf-shop-card-actions .gf-shop-paypal-mini{
    grid-column:auto;
    width:100%;
}

@media(max-width:820px){
    .gf-shop-side{
        position:relative;
        top:auto;
    }
    .gf-shop-frame-visual{
        height:clamp(220px, 34dvh, 300px) !important;
        max-height:300px !important;
    }
    .gf-shop-product-card,
    .gf-shop-tier-product-card{
        grid-template-columns:74px minmax(0, 1fr) !important;
    }
    .gf-shop-product-thumb,
    .gf-shop-tier-thumb{
        width:74px !important;
        height:74px !important;
    }
    .gf-shop-card-actions{
        grid-column:1 / -1;
    }
    .gf-shop-side-info{
        display:none;
    }
}

@media(max-width:480px){
    .gf-shop-frame-visual{
        height:230px !important;
        max-height:230px !important;
    }
    .gf-shop-product-card,
    .gf-shop-tier-product-card{
        grid-template-columns:66px minmax(0, 1fr) !important;
    }
    .gf-shop-product-thumb,
    .gf-shop-tier-thumb{
        width:66px !important;
        height:66px !important;
    }
}
