body{margin:0;font-family:Arial,sans-serif;background:#f2f4f7;color:#000}

.site-header{
background:#000033;
color:#fff;
padding:18px 20px;
}

.brand-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
gap:6px;
}

.site-logo{
max-width:180px;
height:auto;
object-fit:contain;
}

.brand-title{
color:#fff;
font-size:26px;
font-weight:700;
letter-spacing:.5px;
margin-top:4px;
}

.site-main{
max-width:480px;
margin:30px auto;
padding:0 16px;
}

.card{
background:#fff;
border:1px solid #ddd;
padding:20px;
border-radius:6px;
}

h2{margin-top:0}

.btn{
display:block;
width:100%;
padding:14px;
margin-bottom:10px;
background:#000033;
color:#fff;
text-align:center;
text-decoration:none;
border-radius:4px;
font-weight:bold;
box-sizing:border-box;
}

.btn.alt{
background:#e6e8eb;
color:#000;
border:1px solid #ccc;
}

.btn:hover{opacity:.9}

.admin-link{
margin-top:20px;
text-align:center;
font-size:14px;
}

.site-footer{
max-width:480px;
margin:20px auto;
padding:0 16px;
color:#666;
text-align:center;
font-weight:normal !important;
}

.site-footer *,
.site-footer a,
.site-footer a:link,
.site-footer a:visited,
.site-footer a:hover,
.site-footer a:active{
color:#666 !important;
text-decoration:none !important;
font-weight:normal !important;
}

.form-vertical{
display:flex;
flex-direction:column;
gap:12px;
margin-top:10px;
}

.form-vertical label{
display:block;
width:100%;
margin:0 0 6px 0;
text-align:left;
}

.form-vertical input{
display:block;
width:100%;
padding:12px;
border:1px solid #bbb;
border-radius:4px;
box-sizing:border-box;
}

.form-vertical button{
margin-top:10px;
}

.public-form{
display:flex;
flex-direction:column;
gap:12px;
}

.public-form label{
display:block;
width:100%;
margin:0 0 6px 0;
text-align:left;
}

.public-form input[type="text"],
.public-form input[type="email"],
.public-form input[type="file"]{
display:block;
width:100%;
padding:12px;
border:1px solid #bbb;
border-radius:4px;
box-sizing:border-box;
}

.info-box{
background:#f8f9fb;
border:1px solid #d8dce3;
padding:14px;
border-radius:4px;
margin-top:8px;
}

.info-box h3{
margin:0 0 10px 0;
font-size:18px;
color:#000033;
}

.info-box p{
margin:0 0 10px 0;
line-height:1.5;
}

.check-line{
display:flex !important;
align-items:flex-start;
gap:10px;
width:100%;
margin:0;
}

.check-line input[type="checkbox"]{
margin-top:3px;
flex:0 0 auto;
width:auto;
padding:0;
border:0;
}

.check-line span{
display:block;
flex:1 1 auto;
}

.submitted-image{
text-align:center;
margin-bottom:20px;
}

.submitted-image img{
max-width:180px;
width:100%;
height:auto;
}

.admin-menu-horizontal{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:20px;
justify-content:flex-start;
align-items:center;
}

.admin-menu-horizontal a{
display:inline-block;
width:auto;
min-width:140px;
padding:10px 14px;
background:#000033;
color:#fff !important;
text-decoration:none;
text-align:center;
border-radius:4px;
box-sizing:border-box;
font-weight:normal;
}

.admin-table-wrap{
overflow-x:auto;
margin-top:20px;
}

.admin-table{
width:100%;
border-collapse:collapse;
background:#fff;
}

.admin-table th,
.admin-table td{
border:1px solid #ccc;
padding:8px;
text-align:left;
vertical-align:top;
}

.admin-actions{
display:flex;
flex-wrap:wrap;
gap:6px;
min-width:260px;
}

.admin-actions form{
margin:0;
}

.admin-btn{
padding:8px 10px;
border:0;
border-radius:4px;
cursor:pointer;
color:#fff;
background:#000033;
}

.admin-btn.reject{
background:#666;
}

.admin-btn.veto{
background:#7a0000;
}

.admin-btn.delete{
background:#444;
}

.duplicate-alert{
display:inline-block;
padding:4px 8px;
border-radius:4px;
background:#fff3cd;
color:#664d03;
font-size:13px;
}

@media (max-width: 900px){
.admin-menu-horizontal a{
min-width:120px;
padding:9px 12px;
font-size:14px;
}

.admin-actions{
min-width:220px;
}
}

@media (max-width: 600px){
.site-header{
padding:12px 14px;
}

.brand-wrap{
gap:4px;
}

.site-logo{
max-width:120px;
}

.brand-title{
font-size:20px;
line-height:1.2;
}

.site-main{
max-width:100%;
margin:18px auto;
padding:0 10px;
}

.card{
padding:16px;
border-radius:4px;
}

h2{
font-size:22px;
margin-bottom:10px;
}

.btn{
padding:12px;
font-size:16px;
}

.form-vertical{
gap:10px;
}

.form-vertical label{
display:block !important;
width:100% !important;
margin:0 0 6px 0 !important;
}

.form-vertical input{
display:block !important;
width:100% !important;
padding:10px;
font-size:16px;
}

.form-vertical button{
display:block;
width:100%;
}

.public-form{
gap:10px;
}

.public-form label{
display:block !important;
width:100% !important;
}

.public-form input[type="text"],
.public-form input[type="email"],
.public-form input[type="file"]{
font-size:16px;
padding:10px;
}

.check-line{
display:flex !important;
flex-direction:row !important;
align-items:flex-start !important;
}

.admin-menu-horizontal a{
min-width:100%;
}
}

/* ===== ADMIN DESKTOP LAYOUT ===== */

.admin-page .site-main{
max-width:1200px !important;
margin:20px auto !important;
padding:0 20px !important;
}

.admin-page .card{
padding:20px;
}

/* menú más compacto */
.admin-menu-horizontal{
justify-content:flex-start;
gap:8px;
}

.admin-menu-horizontal a{
min-width:auto;
padding:8px 12px;
font-size:14px;
}

/* tabla mejor distribuida */
.admin-table th{
background:#000033;
color:#fff;
font-weight:normal;
}

.admin-table td{
font-size:14px;
}

/* acciones en línea */
.admin-actions{
display:flex;
gap:6px;
flex-wrap:nowrap;
}

/* botones más pequeños */
.admin-btn{
padding:6px 8px;
font-size:13px;
}

/* alertas duplicados */
.duplicate-alert{
font-size:12px;
padding:3px 6px;
}

/* SOLO ADMIN en desktop */
@media (min-width: 900px){
.admin-page .site-main{
max-width:1400px !important;
}
}


.admin-page .site-main{
max-width:1400px !important;
margin:20px auto !important;
padding:0 20px !important;
}

.admin-page .card{
padding:20px;
}

.admin-page .admin-menu-horizontal{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:20px;
justify-content:flex-start;
align-items:center;
}

.admin-page .admin-menu-horizontal a{
display:inline-block;
width:auto;
min-width:120px;
padding:8px 12px;
font-size:14px;
background:#000033;
color:#fff !important;
text-decoration:none;
text-align:center;
border-radius:4px;
box-sizing:border-box;
font-weight:normal;
}

.admin-page .admin-table-wrap{
overflow-x:auto;
margin-top:20px;
}

.admin-page .admin-table{
width:100%;
border-collapse:collapse;
background:#fff;
}

.admin-page .admin-table th{
background:#000033;
color:#fff;
font-weight:normal;
}

.admin-page .admin-table th,
.admin-page .admin-table td{
border:1px solid #ccc;
padding:8px;
text-align:left;
vertical-align:top;
font-size:14px;
}

.admin-page .admin-actions{
display:flex;
gap:6px;
flex-wrap:nowrap;
min-width:260px;
}

.admin-page .admin-actions form{
margin:0;
}

.admin-page .admin-btn{
padding:6px 8px;
font-size:13px;
border:0;
border-radius:4px;
cursor:pointer;
color:#fff;
background:#000033;
}

.admin-page .admin-btn.reject{
background:#666;
}

.admin-page .admin-btn.veto{
background:#7a0000;
}

.admin-page .admin-btn.delete{
background:#444;
}

.admin-page .duplicate-alert{
display:inline-block;
padding:3px 6px;
border-radius:4px;
background:#fff3cd;
color:#664d03;
font-size:12px;
}

@media (max-width: 900px){
.admin-page .site-main{
max-width:1000px !important;
padding:0 16px !important;
}

.admin-page .admin-actions{
flex-wrap:wrap;
min-width:220px;
}

.admin-page .admin-menu-horizontal a{
min-width:110px;
}
}

.admin-filter-form{
display:flex;
gap:10px;
flex-wrap:wrap;
align-items:center;
}

.admin-filter-form select,
.admin-filter-form input[type="text"]{
padding:10px;
border:1px solid #bbb;
border-radius:4px;
box-sizing:border-box;
min-width:220px;
}

.admin-btn[disabled]{
opacity:.45;
cursor:not-allowed;
}
