*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;background:#f4f4f4;color:#111}.login-bg{min-height:100vh;background:linear-gradient(135deg,#000,#1c1c1c,#101010);display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:460px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.35)}.login-top{background:#ffd400;color:#000;padding:28px;text-align:center}.login-top h1{font-size:30px;margin-bottom:8px}.form{padding:28px}.erro{background:#ffe5e5;color:#a40000;border:1px solid #ffbcbc;padding:14px;border-radius:10px;margin-bottom:15px}.ok{background:#e8fff0;color:#063;border:1px solid #b5e6c8;padding:14px;border-radius:10px;margin:15px 0}.alert{background:#fff4cc;border-left:6px solid #ffd400;padding:16px;border-radius:12px;margin-bottom:20px}label{display:block;margin-bottom:6px;margin-top:15px;font-weight:bold;color:#111}input,select,textarea{width:100%;padding:14px;border-radius:12px;border:1px solid #d6d6d6;background:#fff;font-size:15px}input:focus,select:focus,textarea:focus{border-color:#005eff;outline:none;box-shadow:0 0 0 3px rgba(0,94,255,.15)}textarea{min-height:100px;resize:vertical}button,.btn{display:inline-block;padding:13px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,#005eff,#0039a6);color:#fff;text-decoration:none;font-weight:bold;cursor:pointer;box-shadow:0 6px 15px rgba(0,94,255,.25);margin:3px}.btn-yellow{background:linear-gradient(135deg,#ffd400,#f0b800);color:#000}.btn-red{background:linear-gradient(135deg,#d10000,#890000)}.btn-dark{background:linear-gradient(135deg,#111,#000)}.layout{display:flex;min-height:100vh}.sidebar{width:260px;background:linear-gradient(180deg,#000,#141414);color:#fff;padding:25px 18px;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;box-shadow:5px 0 25px rgba(0,0,0,.2)}.sidebar h2{color:#ffd400;font-size:32px;margin-bottom:25px;text-align:center}.sidebar a{display:block;color:#fff;text-decoration:none;padding:14px;border-radius:12px;margin-bottom:8px;font-weight:bold}.sidebar a:hover{background:#ffd400;color:#000}.content{margin-left:260px;width:calc(100% - 260px);padding:25px}.topbar{background:#fff;border-radius:18px;padding:22px;margin-bottom:25px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 25px rgba(0,0,0,.08)}.topbar strong{font-size:24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px}.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 8px 25px rgba(0,0,0,.08);border-top:6px solid #ffd400}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.table-wrap{margin-top:20px;background:#fff;border-radius:18px;overflow:auto;box-shadow:0 8px 25px rgba(0,0,0,.08)}table{width:100%;border-collapse:collapse;min-width:900px}th{background:#111;color:#ffd400;padding:16px;text-align:left}td{padding:15px;border-bottom:1px solid #ededed}.badge{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:bold}.disp{background:#e5ffe9;color:#060}.ocup{background:#fff5cc;color:#7a5b00}.neg{background:#ffe5e5;color:#9b0000}.pos{background:#e5ffe9;color:#063}h1{margin-bottom:20px;font-size:40px}.print-page{background:#fff;max-width:950px;margin:25px auto;padding:35px;border-radius:10px}.assinaturas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}.linha-ass{text-align:center;border-top:1px solid #000;padding-top:8px}.foto-thumb{max-width:150px;border-radius:8px;margin:5px;border:1px solid #ccc}@media print{.noprint,.sidebar,.topbar{display:none!important}.content{margin:0!important;width:100%!important}.print-page{box-shadow:none;margin:0;max-width:100%}}@media(max-width:980px){.layout{display:block}.sidebar{position:relative;width:100%;height:auto}.content{margin-left:0;width:100%}.cards{grid-template-columns:repeat(2,1fr)}.grid,.grid3{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:15px}}@media(max-width:600px){.cards{grid-template-columns:1fr}h1{font-size:30px}.content{padding:14px}.card{padding:18px}}