:root{--green:#315b45;--dark:#223f31;--bg:#edf1ee;--border:#ccd5cf;--danger:#a23333}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:#222}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{width:100%;max-width:430px;background:#fff;padding:30px;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.12)}
.brand{font-size:25px;color:var(--green);font-weight:800}
label{display:block;margin:12px 0 5px;font-size:12px;font-weight:bold}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font:inherit}
textarea{min-height:110px}
.btn{display:inline-block;padding:10px 15px;border:0;border-radius:6px;text-decoration:none;font-weight:bold;cursor:pointer}
.btn.primary{background:var(--green);color:#fff}
.btn.secondary{background:#dfe9e3;color:var(--dark)}
.btn.small{padding:7px 10px;font-size:12px}
.btn.full{display:block;width:100%;text-align:center;margin-top:18px}
.back-link{display:block;text-align:center;margin-top:20px;color:var(--green)}
.alert{padding:12px;margin:12px 0;border-radius:6px}
.alert.danger{background:#f6dddd;color:var(--danger)}
.alert.success{background:#dff1e6;color:#28613f}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;background:var(--dark);color:#fff}
.top-brand{font-weight:800;text-decoration:none;color:#fff}
.topbar nav{display:flex;flex-wrap:wrap;gap:16px}
.topbar nav a{color:#fff;text-decoration:none;font-size:14px}
.logout{background:#913838;padding:7px 10px;border-radius:5px}
.container{max-width:1180px;margin:25px auto;padding:0 18px}
.page-title{margin-bottom:20px}
.page-title h1{margin-bottom:5px}
.page-title p{color:#666}
.panel{background:#fff;padding:22px;border-radius:10px;margin-bottom:20px;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.card{background:#fff;padding:22px;border-radius:10px}
.card span{display:block;color:#666}
.card strong{display:block;font-size:28px;color:var(--green);margin-top:8px}
.form-grid{display:grid;gap:12px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:13px}
th{background:#f2f5f3}
@media(max-width:800px){
.topbar{align-items:flex-start;flex-direction:column;gap:14px}
.cards,.cols-2,.cols-4{grid-template-columns:1fr}
}

.thumb{width:70px;height:55px;object-fit:cover;border-radius:5px}
.detail-list p{padding:7px 0;border-bottom:1px solid var(--border)}
.file-grid{display:flex;flex-wrap:wrap;gap:10px}
.file-grid a{padding:10px 12px;background:#e8efeb;border-radius:6px;text-decoration:none}

.production-steps{display:flex;flex-wrap:wrap;gap:8px}.production-steps form{margin:0}.step{border:1px solid #ccd5cf;background:#fff;padding:9px 12px;border-radius:6px;cursor:pointer}.step.done{background:#315b45;color:#fff}

.product-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:150px}
.product-edit-image{width:180px;height:130px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
@media(max-width:800px){.product-actions{min-width:130px}}


.admin-title-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}

.table-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
}

.table-actions form{
    margin:0;
}

.btn.danger{
    background:#a33;
    color:#fff;
}

.no-image{
    display:inline-block;
    padding:9px;
    background:#eef1ef;
    border-radius:5px;
    font-size:11px;
    color:#666;
}

.table-description{
    max-width:340px;
    margin-top:5px;
    font-size:11px;
    color:#666;
}

.current-image{
    margin:20px 0;
    padding:15px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#f7f9f8;
}

.current-image img{
    display:block;
    max-width:420px;
    max-height:300px;
    width:auto;
    height:auto;
    margin-top:8px;
    border-radius:7px;
    object-fit:contain;
}

.current-image p{
    margin-bottom:0;
    color:#666;
    font-size:12px;
}

.checkbox-row{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-top:18px;
}

.checkbox-row label{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
}

.checkbox-row input{
    width:auto;
}

.form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

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

@media(max-width:800px){
    .admin-title-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .cols-3{
        grid-template-columns:1fr;
    }

    .current-image img{
        max-width:100%;
    }
}


.btn.danger{
    background:#a33;
    color:#fff;
}

.inline-status-form{
    margin:0;
}

.admin-title-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}

.admin-modal{
    position:fixed;
    inset:0;
    z-index:3000;
    padding:20px;
    background:rgba(0,0,0,.58);
    display:flex;
    align-items:center;
    justify-content:center;
}

.admin-modal[hidden]{
    display:none;
}

.admin-modal-card{
    width:100%;
    max-width:520px;
    padding:26px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

@media(max-width:800px){
    .admin-title-actions{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* Galeria de projetos */
.gallery-admin-block{margin:22px 0;padding:18px;border:1px solid #dce5df;border-radius:10px;background:#f8faf9}
.admin-help{margin:5px 0 12px;color:#6a746e;font-size:12px}
.admin-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.admin-gallery-item{display:block;padding:8px;border:1px solid #dbe3de;border-radius:8px;background:#fff}
.admin-gallery-item img{width:100%;height:125px;object-fit:cover;border-radius:6px;display:block;margin-bottom:8px}
.admin-gallery-item span{display:flex;gap:7px;align-items:flex-start;font-size:11px;color:#4e5a53}
@media(max-width:800px){.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}}
