*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,sans-serif}html,body{height:auto;min-height:100%;margin:0;overflow-y:auto}.app{display:flex;min-height:100%}.sidebar{width:220px;background:#1e293b;color:#fff;padding:20px;position:fixed;left:-220px;top:0;height:100%;transition:.3s}.sidebar.open{left:0}.sidebar h2{margin-bottom:20px}.sidebar a{display:block;color:#fff;text-decoration:none;padding:10px 0}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:50px;background:#0f172a;color:#fff;display:flex;align-items:center;padding:0 15px}.menu-btn{font-size:22px;margin-right:15px;background:none;border:none;color:#fff;cursor:pointer}.content{flex:1;min-height:0;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}@media(min-width:768px){.sidebar{left:0;position:static}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.menu-btn{display:none}}.page{padding:20px;width:100%}.form-card{width:100%;max-width:420px;background:#fff;padding:22px;border-radius:8px;box-shadow:0 8px 20px #00000014}.form-card h2{margin-bottom:20px;text-align:center}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-group input{width:100%;padding:10px;border-radius:5px;border:1px solid #cbd5e1;font-size:14px}.form-group input:focus{outline:none;border-color:#2563eb}.actions{margin-top:20px;text-align:right}button.primary{background:#2563eb;color:#fff;border:none;padding:10px 16px;border-radius:5px;font-weight:600;cursor:pointer}button.primary:hover{background:#1d4ed8}button.primary:disabled{opacity:.6;cursor:not-allowed}.report{width:100%;max-width:700px}.report h2{margin-bottom:15px}.report .card{background:#fff;padding:16px;border-radius:8px;margin-bottom:15px;box-shadow:0 4px 12px #0000000f}.report .card h3{margin-bottom:10px}.row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #ddd}.row:last-child{border-bottom:none}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.warning{background:#fff3cd;color:#92400e;border:1px solid #facc15}.sidebar a{display:block;padding:8px 0;color:#e5e7eb;text-decoration:none}.sidebar a.active{font-weight:700;color:#fff}.users-container{width:100%;max-width:900px;margin:0 auto}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.users-header h2{font-size:24px}.table-wrapper{background:#fff;border-radius:8px;box-shadow:0 4px 14px #00000014;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px;background:#f8fafc;font-size:14px;font-weight:600;border-bottom:1px solid #e5e7eb}.table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:14px}.table tr:last-child td{border-bottom:none}.role-badge{background:#e0e7ff;color:#1e3a8a;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#f1f5f9}.login-card{width:100%;max-width:360px;background:#fff;padding:28px;border-radius:10px;box-shadow:0 10px 30px #0000001f;text-align:center;transform:translateY(-40px)}.login-card h2{margin-bottom:5px}.login-card .subtitle{font-size:14px;color:#64748b;margin-bottom:20px}button.full{width:100%;margin-top:10px}@supports (-webkit-touch-callout: none){.app{min-height:-webkit-fill-available}}
