*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#f4f3f0;color:#1c1f2b;font-size:15px}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
main.wrap{padding-top:24px;padding-bottom:60px}
.bar{background:#fff;border-bottom:3px solid var(--accent)}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#1c1f2b;text-decoration:none}
.brand img{max-height:36px;max-width:90px;object-fit:contain}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{padding:8px 12px;border-radius:8px;color:#444;text-decoration:none;font-size:14px}
nav a.on,nav a:hover{background:#f4f3f0;color:var(--accent)}
h1{font-size:24px;margin:0 0 16px}
h2{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:22px 0 10px;padding-bottom:8px;border-bottom:1px solid #e7e4de}
h2:first-child{margin-top:0}
.card{background:#fff;border:1px solid #e7e4de;border-radius:12px;padding:20px;margin-bottom:20px}
.narrow{max-width:420px;margin:60px auto}
.row{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.between{justify-content:space-between;margin:0 0 6px}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}
@media(max-width:800px){.two{grid-template-columns:1fr}}
label{display:block;font-size:13px;color:#555a68;margin-bottom:12px}
input,select,textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #d8d5ce;border-radius:8px;font:inherit;background:#fff;color:#1c1f2b}
input[type=color]{padding:2px;height:42px}
input[type=file]{padding:8px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.grid .span2{grid-column:span 2}
@media(max-width:700px){.grid{grid-template-columns:1fr}.grid .span2{grid-column:auto}}
.inline{display:flex;gap:8px}.inline select{width:46%}
.check{display:flex;align-items:center;gap:8px;color:#1c1f2b}
.check input{width:auto;margin:0}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.ghost{background:#fff;color:#1c1f2b;border:1px solid #d8d5ce}
.msg{background:#eaf6ee;border:1px solid #c9e7d2;color:#1e5a32;padding:10px 14px;border-radius:8px;margin-bottom:16px}
.msg.err{background:#fbeaea;border-color:#efc4c4;color:#8a2020}
.search{display:flex;gap:8px;margin:10px 0 16px}.search input{margin:0}
.tablewrap{padding:0;overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #f0efec;vertical-align:top;font-size:14px}
th{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#7b7f8c;background:#faf9f8}
.muted{color:#7b7f8c}small{color:#7b7f8c}
.acts{white-space:nowrap}.acts a,.link{color:var(--accent);margin-right:10px;font-size:13px;text-decoration:none}
.acts form{display:inline}
.link{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px}.danger{color:#b3261e}
.pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;background:#eee}
.pill.pagado{background:#eaf6ee;color:#1e7a3c}.pill.anticipo{background:#fff4dc;color:#8a5a00}.pill.pendiente{background:#fbeaea;color:#a12a2a}
.thumb{height:44px;width:auto;border-radius:6px;vertical-align:middle;max-width:90px;object-fit:cover}
.pw{display:block;position:relative}
.pw input{padding-right:84px}
.pw button{position:absolute;right:6px;bottom:6px;height:30px;padding:0 12px;border:0;border-radius:6px;background:#eceae6;color:#1c1f2b;font:inherit;font-size:13px;cursor:pointer}
