
:root{--yellow:#f4c400;--black:#151515;--soft:#f5f6f8;--line:#ddd;--green:#0f766e;--red:#b91c1c;--blue:#1d4ed8}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--soft);color:#1f2937}
.header{background:var(--black);color:#fff;padding:14px 28px;border-bottom:5px solid var(--yellow);display:flex;justify-content:space-between;align-items:center}.header h1{margin:0}.header p{margin:3px 0 0;color:#ddd}.userbox{text-align:right;font-size:13px}
.layout{display:flex;min-height:calc(100vh - 89px)}.sidebar{width:250px;background:#202020;color:#fff;padding:18px}.brand{font-weight:bold;color:var(--yellow);margin-bottom:15px}
.sidebar button{width:100%;margin:5px 0;padding:12px;border:0;border-radius:9px;background:#333;color:#fff;text-align:left;cursor:pointer;font-weight:600}.sidebar button.active,.sidebar button:hover{background:var(--yellow);color:#111}
.main{flex:1;padding:28px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 2px 7px rgba(0,0,0,.04)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.metric{background:#fff;border-left:7px solid var(--yellow);border-radius:14px;padding:18px;border:1px solid #eee}.metric b{font-size:28px;display:block}
.progress{height:12px;background:#e5e7eb;border-radius:20px;overflow:hidden}.progress div{height:100%;background:var(--green)}
input,select,textarea{width:100%;padding:11px;margin:6px 0 13px;border:1px solid #cfd4dc;border-radius:8px;font-size:14px}label{font-weight:bold;font-size:14px}
.btn{border:0;border-radius:8px;padding:10px 14px;background:var(--black);color:#fff;cursor:pointer;margin:3px;font-weight:bold}.yellow{background:var(--yellow)!important;color:#111!important}.red{background:var(--red)!important}.green{background:var(--green)!important}.blue{background:var(--blue)!important}
table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #ddd;padding:9px;text-align:left;font-size:14px}th{background:#f0f1f3}.rubric th{background:#fff3bf;text-align:center}.rubric input{max-width:110px}.totalrow td{background:#fff8dc;text-align:right}
.badge{padding:5px 8px;border-radius:999px;font-size:12px;font-weight:bold;display:inline-block}.ok{background:#d1fae5;color:#065f46}.pending{background:#fef3c7;color:#92400e}
.login{max-width:430px;margin:80px auto;background:#fff;border-radius:16px;padding:30px;border-top:9px solid var(--yellow);box-shadow:0 8px 25px rgba(0,0,0,.12)}.login h1{margin:0 0 8px}.logoText{text-align:center;margin:18px 0;font-weight:bold;letter-spacing:2px}
.report-doc{background:#fff;padding:30px;border:1px solid #ddd;max-width:900px;margin:20px auto;color:#111;line-height:1.55}.report-doc h2,.report-doc h3{text-align:center;margin:4px 0}.center{text-align:center}.report-doc p{text-align:justify}.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:70px}.sign{text-align:center;border-top:1px solid #111;padding-top:8px}
@media print{.header,.sidebar,.btn,.no-print{display:none!important}.layout{display:block}.main{padding:0}.card{box-shadow:none;border:0}.report-doc{border:0;max-width:none;margin:0;padding:0}}
@media(max-width:800px){.layout{display:block}.sidebar{width:100%}.main{padding:16px}.header{display:block}.userbox{text-align:left;margin-top:10px}.rubric{display:block;overflow-x:auto}}

.headbrand{display:flex;gap:14px;align-items:center}.headlogo{width:72px;max-height:55px;object-fit:contain;background:white;border-radius:4px;padding:3px}.sidelogo{width:150px;display:block;margin:0 auto 12px auto;background:white;border-radius:4px;padding:4px}.loginlogo{width:230px;display:block;margin:18px auto;background:white}.report-logo{width:150px;display:block;margin:0 auto 8px auto}
@media print{.report-logo{width:120px}}

.report-logo{width:130px!important;display:block!important;margin:0 auto 8px auto!important;object-fit:contain}.sign span{font-size:12px;font-weight:normal}@media print{.report-logo{width:110px!important;display:block!important;margin:0 auto 6px auto!important}.sign{break-inside:avoid}}
