:root{
    --bg:#07101d;
    --panel:#0d1929;
    --panel2:#101f32;
    --line:#223a56;
    --text:#eff6ff;
    --muted:#91a8c6;
    --green:#19e2a7;
    --green2:#0dbb8a;
    --red:#ff667b;
    --yellow:#ffd166;
    --blue:#5ea7ff;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:
        radial-gradient(
            circle at 20% 0%,
            #102642 0,
            transparent 34%
        ),
        var(--bg);
    color:var(--text);
    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        Arial,
        sans-serif;
}

a{
    color:inherit;
}

.wrap{
    max-width:1220px;
    margin:auto;
    padding:22px;
}

.nav{
    display:flex;
    gap:9px;
    align-items:center;
    margin-bottom:28px;
    flex-wrap:wrap;
}

.brand{
    font-weight:950;
    font-size:23px;
    margin-right:auto;
    text-decoration:none;
    letter-spacing:-1px;
}

.brand span{
    color:var(--green);
}

.nav>a:not(.brand),
.ghost{
    border:1px solid var(--line);
    padding:9px 12px;
    border-radius:10px;
    text-decoration:none;
    background:#102037;
    color:var(--text);
}

.nav>a:not(.brand):hover,
.ghost:hover{
    border-color:#395d82;
    background:#142943;
}

.hero{
    padding:72px 0 40px;
    max-width:820px;
}

.hero h1{
    font-size:54px;
    line-height:1.02;
    margin:0 0 18px;
}

.hero p,
.muted{
    color:var(--muted);
    line-height:1.55;
}

.btn,
.cta{
    border:0;
    background:var(--green);
    color:#04140f;
    font-weight:900;
    padding:11px 15px;
    border-radius:10px;
    cursor:pointer;
    text-decoration:none;
    display:inline-block;
}

.btn:hover,
.cta:hover{
    background:#38edbb;
}

.flash{
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    margin:10px 0 18px;
}

.flash-ok{
    border-color:#17694f;
    background:#0c2c25;
}

.flash-error{
    border-color:#70323d;
    background:#2d151d;
}

.dashboard-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:22px;
}

.dashboard-head h1{
    font-size:38px;
    margin:4px 0 5px;
    letter-spacing:-1.3px;
}

.eyebrow{
    color:var(--green);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.7px;
}

.dashboard-user{
    border:1px solid var(--line);
    background:#0d1929;
    padding:9px 12px;
    border-radius:99px;
    color:var(--muted);
    font-size:13px;
}

.status-dot{
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--green);
    margin-right:5px;
}

.google-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:18px;
    background:
        linear-gradient(
            135deg,
            #0d1929,
            #0d1c30
        );
    margin-bottom:14px;
}

.google-connected{
    border-color:#1d6e59;
    box-shadow:
        inset 0 0 40px
        rgba(25,226,167,.035);
}

.google-main{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.google-icon{
    min-width:48px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:white;
    color:#4285f4;
    font-weight:950;
    font-size:25px;
}

.google-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.google-title-row h2{
    margin:0;
    font-size:20px;
}

.status-badge{
    font-size:11px;
    border-radius:99px;
    padding:5px 9px;
    font-weight:800;
}

.connected{
    color:#72f2c7;
    background:#10382d;
}

.disconnected{
    color:#ff9aaa;
    background:#3b1820;
}

.google-meta{
    display:flex;
    gap:17px;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:12px;
}

.google-meta b{
    color:var(--text);
}

.good{
    color:#72f2c7!important;
}

.bad{
    color:#ff9aaa!important;
}

.google-actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

.google-actions form{
    margin:0;
}

.danger-btn{
    border:1px solid #70323d;
    color:#ff9aaa;
    background:#29151c;
    padding:10px 12px;
    border-radius:10px;
    cursor:pointer;
}

.api-notice{
    display:flex;
    gap:13px;
    align-items:flex-start;
    border:1px solid #5c5023;
    background:#272410;
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:18px;
}

.api-notice-icon{
    font-size:21px;
}

.api-notice p{
    color:#c9bc82;
    margin:5px 0 0;
    font-size:13px;
    line-height:1.5;
}

.stats-grid{
    display:grid;
    grid-template-columns:
        repeat(5,1fr);
    gap:12px;
    margin-bottom:14px;
}

.metric-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:16px;
    padding:17px;
}

.metric-label{
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-bottom:8px;
}

.metric-card b{
    display:block;
    color:var(--green);
    font-size:30px;
    line-height:1;
    margin-bottom:8px;
}

.metric-card small{
    color:var(--muted);
}

.danger-metric b{
    color:var(--red);
}

.dashboard-columns{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:14px;
    margin-bottom:14px;
}

.panel,
.card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:16px;
    padding:18px;
}

.panel h2{
    margin-top:0;
}

.panel-head{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:flex-start;
    margin-bottom:14px;
}

.panel-head h2{
    margin:0;
}

.panel-head p{
    margin:5px 0 0;
    font-size:13px;
}

.business-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.business-item{
    display:flex;
    align-items:center;
    gap:11px;
    background:#091625;
    border:1px solid #1b3048;
    border-radius:12px;
    padding:11px;
}

.business-avatar{
    width:38px;
    height:38px;
    min-width:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#12352e;
    color:var(--green);
    font-weight:950;
}

.business-status{
    margin-left:auto;
    font-size:11px;
    color:#72f2c7;
}

.small{
    font-size:11px;
}

.empty-state{
    border:1px dashed #294765;
    border-radius:12px;
    padding:18px;
    text-align:center;
    color:var(--muted);
}

.empty-state b{
    color:var(--text);
}

.manual-add{
    margin-top:13px;
}

.manual-add summary{
    cursor:pointer;
    color:var(--muted);
    font-size:13px;
}

.manual-add form{
    margin-top:10px;
}

.ai-badge{
    width:37px;
    height:37px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:
        linear-gradient(
            135deg,
            #19e2a7,
            #5ea7ff
        );
    color:#04140f;
    font-weight:950;
}

.feature-list{
    display:flex;
    flex-direction:column;
    gap:11px;
    margin:18px 0;
    color:#c9d8e9;
    font-size:13px;
}

.feature-list span{
    color:var(--green);
    margin-right:7px;
}

.wide{
    width:100%;
}

.review-count{
    min-width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:99px;
    background:#10283a;
    color:var(--green);
    font-weight:900;
}

.reviews-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.review-card{
    background:#091625;
    border:1px solid #1b3048;
    border-radius:14px;
    padding:15px;
}

.review-top{
    display:flex;
    justify-content:space-between;
    gap:15px;
}

.review-company{
    font-weight:850;
}

.review-author{
    color:var(--muted);
    font-size:12px;
    margin-top:2px;
}

.stars{
    color:var(--yellow);
    white-space:nowrap;
}

.review-text{
    margin:14px 0;
    line-height:1.55;
}

.existing-reply,
.generated-reply{
    border-left:3px solid var(--green);
    background:#0d211e;
    padding:10px 12px;
    margin:10px 0;
    color:#cfe3f7;
    line-height:1.5;
    white-space:pre-wrap;
}

.existing-reply span,
.generated-reply span{
    display:block;
    color:var(--green);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:4px;
}

.generated-reply:empty{
    display:none;
}

.ai-result{
    color:var(--muted);
    font-size:12px;
    background:#0d1929;
    border-radius:9px;
    padding:9px 10px;
    margin-bottom:10px;
}

.review-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.review-actions form{
    margin:0;
}

.review-actions button{
    font-size:11px;
    cursor:pointer;
}

.loading{
    color:var(--yellow);
}

.empty-reviews{
    text-align:center;
    padding:42px 15px;
    color:var(--muted);
}

.empty-reviews h3{
    color:var(--text);
    margin-bottom:5px;
}

.empty-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    border-radius:50%;
    background:#272410;
    color:var(--yellow);
    font-size:22px;
}

input,
select,
textarea{
    width:100%;
    background:#081522;
    color:white;
    border:1px solid var(--line);
    border-radius:9px;
    padding:10px;
    margin:5px 0 10px;
}

.auth{
    max-width:440px;
    margin:70px auto;
}

.badge{
    font-size:11px;
    border:1px solid var(--line);
    border-radius:99px;
    padding:4px 8px;
    display:inline-block;
}

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

.replybox{
    white-space:pre-wrap;
    margin-top:8px;
    color:#cfe3f7;
}

.leadHigh{
    color:#ff9aaa;
    font-weight:800;
}

table{
    width:100%;
    border-collapse:collapse;
}

th,
td{
    text-align:left;
    padding:11px 8px;
    border-bottom:1px solid #1b3048;
    vertical-align:top;
}

th{
    color:var(--muted);
    font-size:12px;
}

@media(max-width:950px){

    .stats-grid{
        grid-template-columns:
            repeat(3,1fr);
    }

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

    .google-card{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:700px){

    .wrap{
        padding:15px;
    }

    .dashboard-head{
        flex-direction:column;
    }

    .dashboard-head h1{
        font-size:31px;
    }

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

    .google-main{
        flex-direction:column;
    }

    .hero h1{
        font-size:39px;
    }

    .review-top{
        flex-direction:column;
    }
}

@media(max-width:450px){

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

    .google-actions{
        width:100%;
    }

    .google-actions>a,
    .google-actions form,
    .google-actions button{
        width:100%;
        text-align:center;
    }
}

/* ReviewAI v0.2 */
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:10px 0 22px}.page-head h1{font-size:40px;margin:5px 0 6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin:14px 0}.action-panel,.section-title,.review-top,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.actions{justify-content:flex-start;flex-wrap:wrap}.actions form{margin:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.mini-card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px}.mini-card h3{margin:0 0 8px}.mini-card small,.log-row small{display:block;color:var(--muted);margin-top:10px}.empty{border:1px dashed var(--line);border-radius:14px;padding:28px;text-align:center;color:var(--muted)}.log-list{display:grid;gap:8px}.log-row{display:grid;grid-template-columns:70px 90px 1fr 190px;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;border:1px solid var(--line);font-size:12px;font-weight:800}.badge.good{background:#0c2c25;border-color:#17694f}.badge.bad{background:#2d151d;border-color:#70323d}.badge.warn{background:#332a12;border-color:#6b5825}.filters{display:grid;grid-template-columns:1fr 150px 170px auto auto;gap:10px}.filters input,.filters select,.reply-composer textarea{width:100%;background:#081522;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px}.review-stack{display:grid;gap:12px}.review-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.review-top>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stars{color:var(--yellow);letter-spacing:1px}.ai-box,.reply-box{background:#081522;border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0;color:var(--muted)}.reply-composer{display:grid;gap:10px;margin-top:12px}.hidden{display:none!important}@media(max-width:760px){.filters{grid-template-columns:1fr}.log-row{grid-template-columns:1fr}.page-head h1{font-size:32px}.action-panel,.section-title,.review-top{align-items:flex-start;flex-direction:column}}

.stack{display:grid;gap:14px}.stack label{display:grid;gap:7px}.stack input:not([type=checkbox]),.stack select,.stack textarea{width:100%;box-sizing:border-box}.hero.compact{min-height:auto}

.provider-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.provider-row:last-child{border-bottom:0}
