:root{--black:#101010;--yellow:#f4c400;--bg:#f4f2ec;--card:#fff;--muted:#666;--line:#ddd}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#222}.topbar{height:78px;background:#111;color:#fff;border-bottom:5px solid var(--yellow);display:flex;align-items:center;padding:0 22px}.brand{display:flex;align-items:center;gap:14px;font-weight:800;font-size:21px;letter-spacing:.3px}.brand img{height:52px;width:145px;object-fit:contain;background:#fff;border-radius:4px}.brand span{color:#fff}.container{display:flex;min-height:calc(100vh - 78px)}.sidebar{width:245px;background:#171717;color:#fff;padding:20px 12px}.sidebar a{display:block;color:#fff;text-decoration:none;padding:13px 14px;border-radius:9px;margin-bottom:8px;font-weight:700}.sidebar a:hover{background:var(--yellow);color:#111}.content{flex:1;padding:24px 28px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}h1{margin:0 0 20px;font-size:28px}h2{margin:0 0 14px;font-size:21px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat{background:#fff;border-left:6px solid var(--yellow);border-radius:14px;padding:18px;min-height:96px}.stat .num{font-size:27px;font-weight:900;margin-top:10px}.btn,button{display:inline-block;background:#111;color:#fff;border:0;border-radius:9px;padding:11px 16px;text-decoration:none;font-weight:800;cursor:pointer}.btn.yellow,button.yellow,.yellow{background:var(--yellow);color:#111}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.flash{padding:12px 15px;background:#e9f8e9;border:1px solid #bfe8bf;border-radius:10px;margin-bottom:16px}label{font-weight:800;margin:10px 0 6px;display:block}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfcfcf;border-radius:8px;background:#fff;font-size:14px}textarea{min-height:86px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e6e6e6;text-align:left;font-size:14px}th{background:#111;color:#fff}.search{display:flex;gap:10px;margin-bottom:16px}.search input{max-width:480px}.hint{color:#555;margin-top:-4px}.concepts th{font-size:15px}.concepts td{padding:5px}.concepts input{padding:9px}.concepts .desc{min-width:420px}.totalbar{text-align:right;font-size:18px;font-weight:900;margin-top:12px}@media(max-width:950px){.container{display:block}.sidebar{width:auto}.grid,.grid2{grid-template-columns:1fr}.brand img{width:110px}.content{padding:18px}}

.flash.warn{background:#fff4d4;border-color:#e7c15c;color:#5b4300}.linkbtn{background:none;border:0;color:#b00000;text-decoration:underline;padding:0;font-weight:800;cursor:pointer;font-size:14px}

.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-head h2{margin:0}.calendar-actions{display:flex;gap:10px}.calendar{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0}.calendar th{background:#111;color:#fff;text-align:center;padding:9px}.calendar td{height:118px;vertical-align:top;background:#fff;border:1px solid #e2e2e2;padding:7px}.calendar td.today{outline:3px solid var(--yellow);background:#fffbea}.calendar td.muted-day{background:#f2f2f2;color:#999}.daynum{font-weight:900;margin-bottom:6px}.cal-order{display:block;background:#111;color:#fff;text-decoration:none;border-left:5px solid var(--yellow);border-radius:7px;padding:6px;margin:4px 0;font-size:12px;line-height:1.25}.cal-order:hover{background:#333}.payform{margin:0;white-space:nowrap}.payform input{width:auto;transform:scale(1.2);margin-right:6px}
.topbar{justify-content:space-between}.top-actions{display:flex;align-items:center;gap:10px}.user-pill{background:#2a2a2a;border:1px solid #444;border-radius:999px;padding:8px 12px;font-weight:800}.logout{color:#111;background:var(--yellow);text-decoration:none;padding:9px 13px;border-radius:9px;font-weight:900}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#111}.login-card{width:390px;max-width:92vw;background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 40px rgba(0,0,0,.25)}.login-card img{width:230px;max-width:100%;display:block;margin:0 auto 18px}.login-card h1{text-align:center;margin-bottom:8px}.ref-status{display:block;font-size:11px;color:#666;margin-top:4px;min-height:13px}.mini-btn{padding:8px 10px;font-size:12px;border-radius:7px;white-space:nowrap}.concepts .refcell{min-width:94px}.concepts .codigo{min-width:150px}

.version-pill{background:var(--yellow);color:#111;border-radius:999px;padding:3px 8px;font-size:13px;margin-left:5px}.btn.danger{background:#b00000;color:#fff}.trashbtn{background:#fff;border:1px solid #cc2b2b;color:#b00000;border-radius:8px;padding:5px 8px;font-size:14px;line-height:1}.trashbtn:hover{background:#b00000;color:#fff}.top-actions .logout{white-space:nowrap}

.signature-pad{width:100%;height:185px;border:2px dashed #b9b9b9;border-radius:12px;background:#fff;touch-action:none;display:block}.firma-grid h3{margin:0 0 10px}.firma-status{font-weight:800;color:#333;min-height:22px;margin-top:6px}.form-card{max-width:760px}.small-form{max-width:560px}
.login-card .security-note{font-size:12px;color:#666;margin-top:14px;line-height:1.35;text-align:center}

.clearcell{width:40px;text-align:center}.line-trash{background:#fff;border:1px solid #c44;color:#b00000;border-radius:8px;padding:7px 9px;font-size:15px;line-height:1}.line-trash:hover{background:#b00000;color:#fff}.concepts th:last-child{width:40px}.concepts .total{min-width:78px}
