:root{
    --green:#2ecc71;
    --green-dark:#179f55;
    --green-soft:#eafff1;
    --mint:#d8ffe7;
    --text:#1e2d24;
    --muted:#6a7b70;
    --border:#d9eadf;
    --danger:#e74c3c;
    --warning:#f39c12;
    --white:#fff;
    --shadow:0 18px 45px rgba(13,80,36,.13);
    --radius:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;background:#f4fff4;color:var(--text);min-height:100vh}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font-family:inherit}

.site-hero{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%,rgba(255,255,255,.55),transparent 28%),
        linear-gradient(135deg,#24c86d 0%,#15984f 48%,#0e6c38 100%);
    color:white;
    padding:28px 20px 42px;
    box-shadow:0 5px 20px rgba(0,0,0,.12);
}
.site-hero:before,.site-hero:after{
    content:"";
    position:absolute;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    filter:blur(1px);
}
.site-hero:before{width:240px;height:240px;right:-60px;top:-90px}
.site-hero:after{width:180px;height:180px;left:-60px;bottom:-80px}
.hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo-box{display:flex;align-items:center;gap:14px}
.logo-icon{width:60px;height:60px;border-radius:20px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.logo-text h1{font-size:clamp(26px,4vw,44px);line-height:1;margin-bottom:8px}
.logo-text p{opacity:.92;font-size:16px}.admin-link{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:12px 16px;border-radius:999px;color:white;font-weight:700;backdrop-filter:blur(8px)}

.main{max-width:1180px;margin:-22px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;padding:0 20px 28px;position:relative;z-index:2}.products-panel,.pdv{background:rgba(255,255,255,.92);border:1px solid rgba(46,204,113,.16);border-radius:var(--radius);box-shadow:var(--shadow)}
.products-panel{padding:20px}.panel-title{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:18px}.panel-title h2{font-size:25px;color:#146b39}.panel-title p{color:var(--muted);font-size:14px;margin-top:5px}.search-box{min-width:220px}.search-box input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;outline:none;background:white}.search-box input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(46,204,113,.12)}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.card{background:white;border-radius:20px;overflow:hidden;border:1px solid #edf6f0;box-shadow:0 12px 28px rgba(18,93,45,.09);transition:.22s;position:relative}.card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(18,93,45,.14)}.card-img{position:relative;height:162px;background:var(--green-soft);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.9);color:#147740;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.08)}.card-content{padding:15px}.card h3{font-size:18px;margin-bottom:8px}.desc{font-size:13px;color:var(--muted);min-height:36px;line-height:1.35;margin-bottom:10px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.price{color:#159653;font-size:21px;font-weight:900}.unit{font-size:12px;color:var(--muted)}
.btn{border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:14px;font-weight:800;cursor:pointer;transition:.2s}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green-dark));color:white}.btn-primary:hover{filter:brightness(.96);transform:translateY(-1px)}.btn-light{background:#eefbf3;color:#136f3a}.btn-danger{background:var(--danger);color:white}.btn-warning{background:var(--warning);color:white}.btn-ghost{background:white;border:1px solid var(--border);color:#24623e}.full{width:100%}.small{padding:8px 10px;border-radius:11px;font-size:13px}
.pdv{padding:20px;position:sticky;top:18px;height:max-content}.pdv h2{margin-bottom:18px;color:#146b39}.cart-empty{border:1px dashed var(--border);background:#fbfffc;border-radius:18px;padding:24px;text-align:center;color:var(--muted)}.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef5f0}.cart-info strong{display:block;margin-bottom:4px}.cart-info p{font-size:13px;color:var(--muted)}.qty{display:flex;align-items:center;gap:7px}.qty button{width:30px;height:30px;border-radius:10px;border:none;background:#e9fbef;color:#136f3a;font-weight:900;cursor:pointer}.qty span{min-width:20px;text-align:center;font-weight:900}.total{margin-top:18px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#effff5,#e0ffec);font-size:22px;font-weight:900;color:#147740;display:flex;justify-content:space-between}.actions{display:grid;gap:10px;margin-top:14px}.pix{background:#16a085;color:white}.clear{background:#fff0ee;color:var(--danger);border:1px solid #ffd0c9}.whats{background:#1ebe5d;color:white}
footer{background:#13984e;color:white;text-align:center;padding:25px 15px;margin-top:18px}.footer-grid{max-width:980px;margin:auto;display:flex;justify-content:center;gap:34px;flex-wrap:wrap}.footer-grid p{margin:4px 0;opacity:.95}

.admin-bg{background:radial-gradient(circle at top left,#d9ffe6,#f4fff4 42%,#ffffff)}.setup-wrap,.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.setup-card,.login-card{width:min(480px,100%);background:white;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);padding:28px}.brand-mini{display:inline-flex;background:#effff5;border:1px solid var(--border);border-radius:999px;padding:9px 12px;color:#147740;font-weight:900;margin-bottom:16px}.setup-card h1,.login-card h1{font-size:28px;margin-bottom:8px}.muted{color:var(--muted)}.help-text{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.45}.help-text.danger{color:#b43b2f}.alert{padding:13px 14px;border-radius:16px;margin:14px 0;font-weight:700}.alert-error{background:#fff1ef;color:#ad2d20;border:1px solid #ffd5cf}.alert-success{background:#edfff3;color:#126f39;border:1px solid #bff1cf}.alert-info{background:#eef7ff;color:#1a5e92;border:1px solid #cde6ff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.form-grid.one{grid-template-columns:1fr}.form-grid label{display:grid;gap:7px;font-weight:800;color:#294a35;font-size:14px}.form-grid input,.form-grid textarea,.form-grid select{border:1px solid var(--border);border-radius:14px;padding:12px 13px;outline:none;background:white;font-size:15px}.form-grid textarea{resize:vertical;min-height:95px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(46,204,113,.12)}.span-2{grid-column:span 2}.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:18px;height:18px}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#123821;color:white;padding:22px;position:sticky;top:0;height:100vh}.sidebar h2{font-size:20px;margin-bottom:8px}.sidebar p{font-size:13px;opacity:.76;margin-bottom:20px}.sidebar nav{display:grid;gap:10px}.sidebar a{padding:12px 14px;border-radius:14px;color:white;background:rgba(255,255,255,.08);font-weight:800}.sidebar a:hover,.sidebar a.active{background:var(--green)}.admin-main{padding:26px}.admin-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.admin-top h1{font-size:29px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:white;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:0 12px 32px rgba(18,93,45,.08)}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:28px;color:#147740;margin-top:5px}.table-card{background:white;border:1px solid var(--border);border-radius:22px;box-shadow:0 12px 32px rgba(18,93,45,.08);overflow:hidden}.table-header{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf5ef}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:840px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #edf5ef;vertical-align:middle}th{font-size:13px;color:#5d7265;background:#fbfffc}td{font-size:14px}.prod-mini{display:flex;align-items:center;gap:12px}.prod-mini img{width:54px;height:54px;border-radius:14px;object-fit:cover;background:#effff5}.pill{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.pill-on{background:#eafff1;color:#147740}.pill-off{background:#fff1ef;color:#ad2d20}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.form-card{background:white;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px;max-width:920px}.current-img{width:160px;height:120px;border-radius:18px;object-fit:cover;background:#effff5;margin-top:8px;border:1px solid var(--border)}

@media(max-width:960px){.main{grid-template-columns:1fr}.pdv{position:relative;top:auto}.admin-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.hero-inner,.admin-top,.panel-title{align-items:flex-start;flex-direction:column}.search-box{width:100%}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
@media(max-width:520px){.main{padding:0 12px 20px}.products-panel,.pdv{border-radius:18px;padding:14px}.products{grid-template-columns:1fr 1fr;gap:12px}.card-img{height:115px}.card-content{padding:11px}.card h3{font-size:15px}.desc{display:none}.price{font-size:17px}.btn{padding:10px 12px;font-size:13px}.footer-grid{display:grid;gap:14px}.sidebar nav{grid-template-columns:1fr}.admin-main{padding:16px}.setup-card,.login-card{padding:20px}}
